Upper controls.
This commit is contained in:
parent
faa45c53d7
commit
23dddba1e6
3 changed files with 19 additions and 9 deletions
|
@ -30,7 +30,7 @@ use std::{
|
||||||
sync::Arc,
|
sync::Arc,
|
||||||
time::Duration,
|
time::Duration,
|
||||||
};
|
};
|
||||||
use ui::{IconButtonShape, KeyBinding, Tooltip, prelude::*, vertical_divider};
|
use ui::{ButtonSize, IconButtonShape, KeyBinding, Tooltip, prelude::*, vertical_divider};
|
||||||
use util::ResultExt;
|
use util::ResultExt;
|
||||||
use workspace::{
|
use workspace::{
|
||||||
Item, ItemHandle, ItemNavHistory, ToolbarItemEvent, ToolbarItemLocation, ToolbarItemView,
|
Item, ItemHandle, ItemNavHistory, ToolbarItemEvent, ToolbarItemLocation, ToolbarItemView,
|
||||||
|
@ -796,17 +796,18 @@ fn render_diff_hunk_controls(
|
||||||
.mr_0p5()
|
.mr_0p5()
|
||||||
.gap_1()
|
.gap_1()
|
||||||
.px_0p5()
|
.px_0p5()
|
||||||
.pb_1()
|
.py_0p5()
|
||||||
.border_x_1()
|
.border_x_1()
|
||||||
.border_b_1()
|
.border_t_1()
|
||||||
.border_color(cx.theme().colors().border)
|
.border_color(cx.theme().colors().border)
|
||||||
.rounded_b_md()
|
.rounded_t_md()
|
||||||
.bg(cx.theme().colors().editor_background)
|
.bg(cx.theme().colors().editor_background)
|
||||||
.gap_1()
|
.gap_1()
|
||||||
.block_mouse_except_scroll()
|
.block_mouse_except_scroll()
|
||||||
.shadow_md()
|
.shadow_md()
|
||||||
.children(vec![
|
.children(vec![
|
||||||
Button::new(("reject", row as u64), "Reject")
|
Button::new(("reject", row as u64), "Reject")
|
||||||
|
.size(ButtonSize::Compact)
|
||||||
.disabled(is_created_file)
|
.disabled(is_created_file)
|
||||||
.key_binding(
|
.key_binding(
|
||||||
KeyBinding::for_action_in(
|
KeyBinding::for_action_in(
|
||||||
|
@ -835,6 +836,7 @@ fn render_diff_hunk_controls(
|
||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
Button::new(("keep", row as u64), "Keep")
|
Button::new(("keep", row as u64), "Keep")
|
||||||
|
.size(ButtonSize::Compact)
|
||||||
.key_binding(
|
.key_binding(
|
||||||
KeyBinding::for_action_in(&Keep, &editor.read(cx).focus_handle(cx), window, cx)
|
KeyBinding::for_action_in(&Keep, &editor.read(cx).focus_handle(cx), window, cx)
|
||||||
.map(|kb| kb.size(rems_from_px(12.))),
|
.map(|kb| kb.size(rems_from_px(12.))),
|
||||||
|
|
|
@ -23656,17 +23656,18 @@ fn render_diff_hunk_controls(
|
||||||
.mr_1()
|
.mr_1()
|
||||||
.gap_1()
|
.gap_1()
|
||||||
.px_0p5()
|
.px_0p5()
|
||||||
.pb_1()
|
.py_0p5()
|
||||||
.border_x_1()
|
.border_x_1()
|
||||||
.border_b_1()
|
.border_t_1()
|
||||||
.border_color(cx.theme().colors().border_variant)
|
.border_color(cx.theme().colors().border_variant)
|
||||||
.rounded_b_lg()
|
.rounded_t_lg()
|
||||||
.bg(cx.theme().colors().editor_background)
|
.bg(cx.theme().colors().editor_background)
|
||||||
.gap_1()
|
.gap_1()
|
||||||
.block_mouse_except_scroll()
|
.block_mouse_except_scroll()
|
||||||
.shadow_md()
|
.shadow_md()
|
||||||
.child(if status.has_secondary_hunk() {
|
.child(if status.has_secondary_hunk() {
|
||||||
Button::new(("stage", row as u64), "Stage")
|
Button::new(("stage", row as u64), "Stage")
|
||||||
|
.size(ButtonSize::Compact)
|
||||||
.alpha(if status.is_pending() { 0.66 } else { 1.0 })
|
.alpha(if status.is_pending() { 0.66 } else { 1.0 })
|
||||||
.tooltip({
|
.tooltip({
|
||||||
let focus_handle = editor.focus_handle(cx);
|
let focus_handle = editor.focus_handle(cx);
|
||||||
|
@ -23694,6 +23695,7 @@ fn render_diff_hunk_controls(
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
Button::new(("unstage", row as u64), "Unstage")
|
Button::new(("unstage", row as u64), "Unstage")
|
||||||
|
.size(ButtonSize::Compact)
|
||||||
.alpha(if status.is_pending() { 0.66 } else { 1.0 })
|
.alpha(if status.is_pending() { 0.66 } else { 1.0 })
|
||||||
.tooltip({
|
.tooltip({
|
||||||
let focus_handle = editor.focus_handle(cx);
|
let focus_handle = editor.focus_handle(cx);
|
||||||
|
@ -23722,6 +23724,7 @@ fn render_diff_hunk_controls(
|
||||||
})
|
})
|
||||||
.child(
|
.child(
|
||||||
Button::new(("restore", row as u64), "Restore")
|
Button::new(("restore", row as u64), "Restore")
|
||||||
|
.size(ButtonSize::Compact)
|
||||||
.tooltip({
|
.tooltip({
|
||||||
let focus_handle = editor.focus_handle(cx);
|
let focus_handle = editor.focus_handle(cx);
|
||||||
move |window, cx| {
|
move |window, cx| {
|
||||||
|
|
|
@ -4985,8 +4985,13 @@ impl EditorElement {
|
||||||
.iter()
|
.iter()
|
||||||
.any(|p| p.map_or(false, |p| display_row_range.contains(&p.row())))
|
.any(|p| p.map_or(false, |p| display_row_range.contains(&p.row())))
|
||||||
{
|
{
|
||||||
let y = display_row_range.start.as_f32() * line_height
|
// Position controls at the end of the previous line to avoid covering diff content
|
||||||
+ text_hitbox.bounds.top()
|
let control_row = if display_row_range.start.0 > 0 {
|
||||||
|
display_row_range.start.0 - 1
|
||||||
|
} else {
|
||||||
|
display_row_range.start.0
|
||||||
|
};
|
||||||
|
let y = control_row as f32 * line_height + text_hitbox.bounds.top()
|
||||||
- scroll_pixel_position.y;
|
- scroll_pixel_position.y;
|
||||||
|
|
||||||
let mut element = render_diff_hunk_controls(
|
let mut element = render_diff_hunk_controls(
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue