Ctrl+click should toggle selection
This commit is contained in:
parent
8351678822
commit
d756bdf2e9
1 changed files with 18 additions and 8 deletions
26
src/tab.rs
26
src/tab.rs
|
|
@ -979,14 +979,18 @@ impl Tab {
|
||||||
&& self.dialog.as_ref().map_or(true, |x| x.multiple());
|
&& self.dialog.as_ref().map_or(true, |x| x.multiple());
|
||||||
match message {
|
match message {
|
||||||
Message::ClickRelease(click_i_opt) => {
|
Message::ClickRelease(click_i_opt) => {
|
||||||
if click_i_opt != self.clicked.take() {
|
if click_i_opt == self.clicked.take() {
|
||||||
return commands;
|
return commands;
|
||||||
}
|
}
|
||||||
self.context_menu = None;
|
self.context_menu = None;
|
||||||
if let Some(l) = self.items_opt.as_mut() {
|
if let Some(ref mut items) = self.items_opt {
|
||||||
for item in l.iter_mut().enumerate() {
|
for (i, item) in items.iter_mut().enumerate() {
|
||||||
if Some(item.0) != click_i_opt {
|
if mod_ctrl {
|
||||||
item.1.selected = false;
|
if Some(i) == click_i_opt && item.selected {
|
||||||
|
item.selected = false;
|
||||||
|
}
|
||||||
|
} else if Some(i) != click_i_opt {
|
||||||
|
item.selected = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1015,7 +1019,7 @@ impl Tab {
|
||||||
}
|
}
|
||||||
Message::Click(click_i_opt) => {
|
Message::Click(click_i_opt) => {
|
||||||
self.context_menu = None;
|
self.context_menu = None;
|
||||||
if !mod_ctrl {
|
if click_i_opt.is_none() {
|
||||||
self.clicked = click_i_opt;
|
self.clicked = click_i_opt;
|
||||||
}
|
}
|
||||||
let dont_unset = mod_ctrl
|
let dont_unset = mod_ctrl
|
||||||
|
|
@ -1039,8 +1043,14 @@ impl Tab {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
item.selected = true;
|
if !item.selected {
|
||||||
} else if !dont_unset {
|
self.clicked = click_i_opt;
|
||||||
|
item.selected = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
self.selected_clicked = true;
|
||||||
|
} else if !dont_unset && item.selected {
|
||||||
|
self.clicked = click_i_opt;
|
||||||
item.selected = false;
|
item.selected = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue