diff options
| author | 2020-11-19 02:45:09 +0100 | |
|---|---|---|
| committer | 2020-11-19 02:45:47 +0100 | |
| commit | 140bea352e4d51a56f1c4de08581d88181cb9960 (patch) | |
| tree | 21234e21182b89b3739c1e97dd230496d80a0e6a /native/src | |
| parent | c03d46719ef79a796e03dab394248a55d92e0fbd (diff) | |
| download | iced-140bea352e4d51a56f1c4de08581d88181cb9960.tar.gz iced-140bea352e4d51a56f1c4de08581d88181cb9960.tar.bz2 iced-140bea352e4d51a56f1c4de08581d88181cb9960.zip  | |
Disable dragging in `TextInput` after double click
When using a trackpad, mouse move events may happen between the
press/release events. This was incorrectly triggering selection dragging in
the `TextInput` widget.
Eventually, we should implement proper word-aware selection dragging.
Diffstat (limited to '')
| -rw-r--r-- | native/src/widget/text_input.rs | 6 | 
1 files changed, 5 insertions, 1 deletions
diff --git a/native/src/widget/text_input.rs b/native/src/widget/text_input.rs index 6d194db5..c067de77 100644 --- a/native/src/widget/text_input.rs +++ b/native/src/widget/text_input.rs @@ -278,7 +278,6 @@ where              Event::Mouse(mouse::Event::ButtonPressed(mouse::Button::Left)) => {                  let is_clicked = layout.bounds().contains(cursor_position); -                self.state.is_dragging = is_clicked;                  self.state.is_focused = is_clicked;                  if is_clicked { @@ -312,6 +311,8 @@ where                              } else {                                  self.state.cursor.move_to(0);                              } + +                            self.state.is_dragging = true;                          }                          click::Kind::Double => {                              if self.is_secure { @@ -331,9 +332,12 @@ where                                      self.value.next_end_of_word(position),                                  );                              } + +                            self.state.is_dragging = false;                          }                          click::Kind::Triple => {                              self.state.cursor.select_all(&self.value); +                            self.state.is_dragging = false;                          }                      }  | 
