parent
694afd15c9
commit
13deaa3f69
1 changed files with 50 additions and 11 deletions
|
@ -2916,6 +2916,7 @@ impl PanelRepoFooter {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn render_push_button(&self, id: SharedString, ahead: u32, cx: &mut App) -> SplitButton {
|
fn render_push_button(&self, id: SharedString, ahead: u32, cx: &mut App) -> SplitButton {
|
||||||
|
let panel = self.git_panel.clone();
|
||||||
let panel_focus_handle = self.panel_focus_handle(cx);
|
let panel_focus_handle = self.panel_focus_handle(cx);
|
||||||
|
|
||||||
SplitButton::new(
|
SplitButton::new(
|
||||||
|
@ -2924,7 +2925,13 @@ impl PanelRepoFooter {
|
||||||
ahead as usize,
|
ahead as usize,
|
||||||
0,
|
0,
|
||||||
None,
|
None,
|
||||||
|_, _, cx| cx.dispatch_action(&git::Push { options: None }),
|
move |_, window, cx| {
|
||||||
|
if let Some(panel) = panel.as_ref() {
|
||||||
|
panel.update(cx, |panel, cx| {
|
||||||
|
panel.push(&git::Push { options: None }, window, cx);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
move |window, cx| {
|
move |window, cx| {
|
||||||
git_action_tooltip(
|
git_action_tooltip(
|
||||||
"Push committed changes to remote",
|
"Push committed changes to remote",
|
||||||
|
@ -2945,6 +2952,7 @@ impl PanelRepoFooter {
|
||||||
behind: u32,
|
behind: u32,
|
||||||
cx: &mut App,
|
cx: &mut App,
|
||||||
) -> SplitButton {
|
) -> SplitButton {
|
||||||
|
let panel = self.git_panel.clone();
|
||||||
let panel_focus_handle = self.panel_focus_handle(cx);
|
let panel_focus_handle = self.panel_focus_handle(cx);
|
||||||
|
|
||||||
SplitButton::new(
|
SplitButton::new(
|
||||||
|
@ -2953,7 +2961,13 @@ impl PanelRepoFooter {
|
||||||
ahead as usize,
|
ahead as usize,
|
||||||
behind as usize,
|
behind as usize,
|
||||||
None,
|
None,
|
||||||
|_, _, cx| cx.dispatch_action(&git::Pull),
|
move |_, window, cx| {
|
||||||
|
if let Some(panel) = panel.as_ref() {
|
||||||
|
panel.update(cx, |panel, cx| {
|
||||||
|
panel.pull(&git::Pull, window, cx);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
move |window, cx| {
|
move |window, cx| {
|
||||||
git_action_tooltip(
|
git_action_tooltip(
|
||||||
"Pull",
|
"Pull",
|
||||||
|
@ -2968,6 +2982,7 @@ impl PanelRepoFooter {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn render_fetch_button(&self, id: SharedString, cx: &mut App) -> SplitButton {
|
fn render_fetch_button(&self, id: SharedString, cx: &mut App) -> SplitButton {
|
||||||
|
let panel = self.git_panel.clone();
|
||||||
let panel_focus_handle = self.panel_focus_handle(cx);
|
let panel_focus_handle = self.panel_focus_handle(cx);
|
||||||
|
|
||||||
SplitButton::new(
|
SplitButton::new(
|
||||||
|
@ -2976,7 +2991,13 @@ impl PanelRepoFooter {
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
Some(IconName::ArrowCircle),
|
Some(IconName::ArrowCircle),
|
||||||
|_, _, cx| cx.dispatch_action(&git::Fetch),
|
move |_, window, cx| {
|
||||||
|
if let Some(panel) = panel.as_ref() {
|
||||||
|
panel.update(cx, |panel, cx| {
|
||||||
|
panel.fetch(&git::Fetch, window, cx);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
move |window, cx| {
|
move |window, cx| {
|
||||||
git_action_tooltip(
|
git_action_tooltip(
|
||||||
"Fetch updates from remote",
|
"Fetch updates from remote",
|
||||||
|
@ -2991,6 +3012,7 @@ impl PanelRepoFooter {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn render_publish_button(&self, id: SharedString, cx: &mut App) -> SplitButton {
|
fn render_publish_button(&self, id: SharedString, cx: &mut App) -> SplitButton {
|
||||||
|
let panel = self.git_panel.clone();
|
||||||
let panel_focus_handle = self.panel_focus_handle(cx);
|
let panel_focus_handle = self.panel_focus_handle(cx);
|
||||||
|
|
||||||
SplitButton::new(
|
SplitButton::new(
|
||||||
|
@ -2999,10 +3021,18 @@ impl PanelRepoFooter {
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
Some(IconName::ArrowUpFromLine),
|
Some(IconName::ArrowUpFromLine),
|
||||||
|_, _, cx| {
|
move |_, window, cx| {
|
||||||
cx.dispatch_action(&git::Push {
|
if let Some(panel) = panel.as_ref() {
|
||||||
options: Some(PushOptions::SetUpstream),
|
panel.update(cx, |panel, cx| {
|
||||||
})
|
panel.push(
|
||||||
|
&git::Push {
|
||||||
|
options: Some(PushOptions::SetUpstream),
|
||||||
|
},
|
||||||
|
window,
|
||||||
|
cx,
|
||||||
|
);
|
||||||
|
});
|
||||||
|
}
|
||||||
},
|
},
|
||||||
move |window, cx| {
|
move |window, cx| {
|
||||||
git_action_tooltip(
|
git_action_tooltip(
|
||||||
|
@ -3020,6 +3050,7 @@ impl PanelRepoFooter {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn render_republish_button(&self, id: SharedString, cx: &mut App) -> SplitButton {
|
fn render_republish_button(&self, id: SharedString, cx: &mut App) -> SplitButton {
|
||||||
|
let panel = self.git_panel.clone();
|
||||||
let panel_focus_handle = self.panel_focus_handle(cx);
|
let panel_focus_handle = self.panel_focus_handle(cx);
|
||||||
|
|
||||||
SplitButton::new(
|
SplitButton::new(
|
||||||
|
@ -3028,10 +3059,18 @@ impl PanelRepoFooter {
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
Some(IconName::ArrowUpFromLine),
|
Some(IconName::ArrowUpFromLine),
|
||||||
|_, _, cx| {
|
move |_, window, cx| {
|
||||||
cx.dispatch_action(&git::Push {
|
if let Some(panel) = panel.as_ref() {
|
||||||
options: Some(PushOptions::SetUpstream),
|
panel.update(cx, |panel, cx| {
|
||||||
})
|
panel.push(
|
||||||
|
&git::Push {
|
||||||
|
options: Some(PushOptions::SetUpstream),
|
||||||
|
},
|
||||||
|
window,
|
||||||
|
cx,
|
||||||
|
);
|
||||||
|
});
|
||||||
|
}
|
||||||
},
|
},
|
||||||
move |window, cx| {
|
move |window, cx| {
|
||||||
git_action_tooltip(
|
git_action_tooltip(
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue