1 using System;
2 using System.Windows;
3
4 namespace FileExplorer
5 {
6 public class OpenAndExpandAction : ClickAction
7 {
8 public OpenAndExpandAction(Node* node_) : base(), node(node_)
9 {
10 }
11 [nodiscard]
12 public override Result<bool> Execute()
13 {
14 MainWindow* mainWindow = node->GetMainWindow();
15 if (mainWindow != null)
16 {
17 auto result = mainWindow->HideContextMenu();
18 if (result.Error()) return result;
19 result = node->OpenAndExpand();
20 if (result.Error()) return result;
21 }
22 return Result<bool>(true);
23 }
24 private Node* node;
25 }
26
27 public class OpenAction : ClickAction
28 {
29 public nothrow OpenAction(Node* node_) : base(), node(node_)
30 {
31 }
32 [nodiscard]
33 public override Result<bool> Execute()
34 {
35 MainWindow* mainWindow = node->GetMainWindow();
36 if (mainWindow != null)
37 {
38 auto result = mainWindow->HideContextMenu();
39 if (result.Error()) return result;
40 result = node->Open();
41 if (result.Error()) return result;
42 }
43 return Result<bool>(true);
44 }
45 private Node* node;
46 }
47 }