mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2026-09-22 19:38:11 +08:00
Improve layer positioning in graph upon reordering; improve history system; add selection history (#1945)
* Improve layer positioning * Collapse space when deleting * Improve moving layers in layer panel * Improved transactions * Selection history * Code review * Select previous selection when aborting * Fix crash and artboard select * Add mouse forward/back button selection history bindings Code review * Menu buttons * Code review --------- Co-authored-by: Keavon Chambers <keavon@keavon.com>
This commit is contained in:
co-authored by
Keavon Chambers
parent
432385343e
commit
9adc640f19
@@ -45,6 +45,8 @@ impl MessageHandler<InputPreprocessorMessage, InputPreprocessorMessageData> for
|
||||
MouseKeys::LEFT => MouseButton::Left,
|
||||
MouseKeys::RIGHT => MouseButton::Right,
|
||||
MouseKeys::MIDDLE => MouseButton::Middle,
|
||||
MouseKeys::BACK => MouseButton::Back,
|
||||
MouseKeys::FORWARD => MouseButton::Forward,
|
||||
_ => unimplemented!(),
|
||||
}));
|
||||
}
|
||||
@@ -115,7 +117,15 @@ impl MessageHandler<InputPreprocessorMessage, InputPreprocessorMessageData> for
|
||||
|
||||
impl InputPreprocessorMessageHandler {
|
||||
fn translate_mouse_event(&mut self, mut new_state: MouseState, allow_first_button_down: bool, responses: &mut VecDeque<Message>) {
|
||||
for (bit_flag, key) in [(MouseKeys::LEFT, Key::Lmb), (MouseKeys::RIGHT, Key::Rmb), (MouseKeys::MIDDLE, Key::Mmb)] {
|
||||
let click_mappings = [
|
||||
(MouseKeys::LEFT, Key::MouseLeft),
|
||||
(MouseKeys::RIGHT, Key::MouseRight),
|
||||
(MouseKeys::MIDDLE, Key::MouseMiddle),
|
||||
(MouseKeys::BACK, Key::MouseBack),
|
||||
(MouseKeys::FORWARD, Key::MouseForward),
|
||||
];
|
||||
|
||||
for (bit_flag, key) in click_mappings {
|
||||
// Calculate the intersection between the two key states
|
||||
let old_down = self.mouse.mouse_keys & bit_flag == bit_flag;
|
||||
let new_down = new_state.mouse_keys & bit_flag == bit_flag;
|
||||
|
||||
Reference in New Issue
Block a user