Skip to content

Commit

Permalink
feat: sorted config screen
Browse files Browse the repository at this point in the history
  • Loading branch information
Terkwood committed Jul 9, 2022
1 parent 29d910a commit f7f5aba
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 8 deletions.
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "zeditor"
version = "0.1.7"
version = "0.1.8-a"
edition = "2021"

[dependencies]
Expand Down
29 changes: 23 additions & 6 deletions src/config_screen.rs
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,14 @@ pub fn render(
.expect("upsert search replace");

if let Ok(sr) = db.get_search_replace() {
update_search_inputs(s, &sr);
update_replace_inputs(s, &sr, db2.clone(), replace_s.clone());
let sorted_sr = sort_search_replace(&sr);
update_search_inputs(s, &sorted_sr);
update_replace_inputs(
s,
&sorted_sr,
db2.clone(),
replace_s.clone(),
);
} else {
eprintln!("failed db get search and replace in entry")
}
Expand Down Expand Up @@ -121,12 +127,13 @@ pub fn render(
);

if let Ok(sr) = db.lock().unwrap().get_search_replace() {
update_search_inputs(siv, &sr);
update_replace_inputs(siv, &sr, db.clone(), rs3);
let sorted_sr = sort_search_replace(&sr);
update_search_inputs(siv, &sorted_sr);
update_replace_inputs(siv, &sorted_sr, db.clone(), rs3);
}
}

pub fn update_search_inputs(siv: &mut Cursive, sr: &HashMap<String, String>) {
pub fn update_search_inputs(siv: &mut Cursive, sr: &Vec<(String, String)>) {
let mut inputs = siv.find_name::<ListView>(EXISTING_SEARCH_INPUTS).unwrap();
inputs.clear();

Expand All @@ -137,7 +144,7 @@ pub fn update_search_inputs(siv: &mut Cursive, sr: &HashMap<String, String>) {

pub fn update_replace_inputs(
siv: &mut Cursive,
search_replace: &HashMap<String, String>,
search_replace: &Vec<(String, String)>,
db: Arc<Mutex<Db>>,
replace_s: Sender<Msg<ReplaceCommand>>,
) {
Expand Down Expand Up @@ -180,3 +187,13 @@ pub fn update_replace_inputs(
fn replace_text_area_name(search: &str) -> String {
format!("existing replace widget {}", search)
}

fn sort_search_replace(sr: &HashMap<String, String>) -> Vec<(String, String)> {
let mut sorted_sr: Vec<(String, String)> = vec![];
for (k, v) in sr {
sorted_sr.push((k.clone(), v.clone()));
}

sorted_sr.sort();
sorted_sr
}

0 comments on commit f7f5aba

Please sign in to comment.