Skip to content

Commit dd163e5

Browse files
authored
fix: hide file manager and terminal options for invalid repositories (#2503)
1 parent f3fd2f6 commit dd163e5

3 files changed

Lines changed: 30 additions & 23 deletions

File tree

src/ViewModels/RepositoryNode.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,14 +125,14 @@ public void Move()
125125

126126
public void OpenInFileManager()
127127
{
128-
if (!IsRepository)
128+
if (!IsRepository || IsInvalid)
129129
return;
130130
Native.OS.OpenInFileManager(_id);
131131
}
132132

133133
public void OpenTerminal()
134134
{
135-
if (!IsRepository)
135+
if (!IsRepository || IsInvalid)
136136
return;
137137
Native.OS.OpenTerminal(_id);
138138
}

src/Views/RepositoryToolbar.axaml.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,10 @@ private void OpenWithExternalTools(object sender, RoutedEventArgs ev)
2121
if (sender is Button button && DataContext is ViewModels.Repository repo)
2222
{
2323
var fullpath = repo.FullPath;
24+
25+
if (!System.IO.Directory.Exists(fullpath))
26+
return;
27+
2428
var menu = new ContextMenu();
2529
menu.Placement = PlacementMode.BottomEdgeAlignedLeft;
2630

src/Views/Welcome.axaml.cs

Lines changed: 24 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -174,29 +174,32 @@ private void OnTreeNodeContextRequested(object sender, ContextRequestedEventArgs
174174
e.Handled = true;
175175
};
176176

177-
var explore = new MenuItem();
178-
explore.Header = App.Text("Repository.Explore");
179-
explore.Icon = this.CreateMenuIcon("Icons.Explore");
180-
explore.Click += (_, e) =>
181-
{
182-
node.OpenInFileManager();
183-
e.Handled = true;
184-
};
185-
186-
var terminal = new MenuItem();
187-
terminal.Header = App.Text("Repository.Terminal");
188-
terminal.Icon = this.CreateMenuIcon("Icons.Terminal");
189-
terminal.Click += (_, e) =>
190-
{
191-
node.OpenTerminal();
192-
e.Handled = true;
193-
};
194-
195177
menu.Items.Add(open);
196178
menu.Items.Add(new MenuItem() { Header = "-" });
197-
menu.Items.Add(explore);
198-
menu.Items.Add(terminal);
199-
menu.Items.Add(new MenuItem() { Header = "-" });
179+
180+
if (!node.IsInvalid)
181+
{
182+
var explore = new MenuItem();
183+
explore.Header = App.Text("Repository.Explore");
184+
explore.Icon = this.CreateMenuIcon("Icons.Explore");
185+
explore.Click += (_, e) =>
186+
{
187+
node.OpenInFileManager();
188+
e.Handled = true;
189+
};
190+
191+
var terminal = new MenuItem();
192+
terminal.Header = App.Text("Repository.Terminal");
193+
terminal.Icon = this.CreateMenuIcon("Icons.Terminal");
194+
terminal.Click += (_, e) =>
195+
{
196+
node.OpenTerminal();
197+
e.Handled = true;
198+
};
199+
menu.Items.Add(explore);
200+
menu.Items.Add(terminal);
201+
menu.Items.Add(new MenuItem() { Header = "-" });
202+
}
200203
}
201204
else
202205
{

0 commit comments

Comments
 (0)