mirror of
https://github.com/Xetibo/ReSet.git
synced 2025-07-01 15:57:46 +02:00
fix: Add and remove dropdown entries dynamically
This commit is contained in:
parent
cb3dd257f1
commit
b68bc0ab77
3 changed files with 31 additions and 20 deletions
|
@ -361,6 +361,11 @@ pub fn start_input_box_listener(conn: Connection, source_box: Arc<SourceBox>) ->
|
|||
output_box_imp.resetSources.append(&*entry);
|
||||
let mut map = output_box_imp.resetSourceMap.write().unwrap();
|
||||
let mut index = output_box_imp.resetModelIndex.write().unwrap();
|
||||
output_box_imp
|
||||
.resetModelList
|
||||
.write()
|
||||
.unwrap()
|
||||
.append(&alias);
|
||||
map.insert(alias, (source_index, *index, name));
|
||||
*index += 1;
|
||||
});
|
||||
|
@ -391,7 +396,14 @@ pub fn start_input_box_listener(conn: Connection, source_box: Arc<SourceBox>) ->
|
|||
return;
|
||||
}
|
||||
let mut map = output_box_imp.resetSourceMap.write().unwrap();
|
||||
map.remove(&alias.unwrap().2);
|
||||
let entry_index = map.remove(&alias.unwrap().2);
|
||||
if entry_index.is_some() {
|
||||
output_box_imp
|
||||
.resetModelList
|
||||
.write()
|
||||
.unwrap()
|
||||
.remove(entry_index.unwrap().1);
|
||||
}
|
||||
let mut index = output_box_imp.resetModelIndex.write().unwrap();
|
||||
if *index != 0 {
|
||||
*index -= 1;
|
||||
|
|
|
@ -365,6 +365,11 @@ pub fn start_output_box_listener(conn: Connection, sink_box: Arc<SinkBox>) -> Co
|
|||
output_box_imp.resetSinks.append(&*entry);
|
||||
let mut map = output_box_imp.resetSinkMap.write().unwrap();
|
||||
let mut index = output_box_imp.resetModelIndex.write().unwrap();
|
||||
output_box_imp
|
||||
.resetModelList
|
||||
.write()
|
||||
.unwrap()
|
||||
.append(&alias);
|
||||
map.insert(alias, (sink_index, *index, name));
|
||||
*index += 1;
|
||||
});
|
||||
|
@ -393,7 +398,14 @@ pub fn start_output_box_listener(conn: Connection, sink_box: Arc<SinkBox>) -> Co
|
|||
return;
|
||||
}
|
||||
let mut map = output_box_imp.resetSinkMap.write().unwrap();
|
||||
map.remove(&alias.unwrap().2);
|
||||
let entry_index = map.remove(&alias.unwrap().2);
|
||||
if entry_index.is_some() {
|
||||
output_box_imp
|
||||
.resetModelList
|
||||
.write()
|
||||
.unwrap()
|
||||
.remove(entry_index.unwrap().1);
|
||||
}
|
||||
let mut index = output_box_imp.resetModelIndex.write().unwrap();
|
||||
if *index != 0 {
|
||||
*index -= 1;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue