Skip to content

Commit d55be06

Browse files
committed
添加命令行调用形式
1 parent 32f6fe7 commit d55be06

File tree

10 files changed

+52
-58
lines changed

10 files changed

+52
-58
lines changed

App.xaml.cs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,19 @@ protected override void OnLaunched(LaunchActivatedEventArgs args)
7373
settings = Info.LoadSettings();
7474

7575
window = CreateNewWindow();
76-
window.AddHomePage();
76+
77+
string[] arguments = Environment.GetCommandLineArgs()[1..];
78+
if (arguments.Length > 0)
79+
{
80+
foreach (string arg in arguments)
81+
{
82+
WebSearch.StartSearch(arg, window);
83+
}
84+
}
85+
else
86+
{
87+
window.AddHomePage();
88+
}
7789
window.Activate();
7890

7991
AppNotificationManager notificationManager = AppNotificationManager.Default;

Controls/FavoriteList.xaml.cs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -60,17 +60,14 @@ private void OpenFavoriteWebsiteInNewTab(object sender, RoutedEventArgs e)
6060
private void OpenWebSite(Uri uri)
6161
{
6262
MainWindow mainWindow = App.GetWindowForElement(this);
63-
mainWindow.AddNewTab(new WebViewPage()
64-
{
65-
WebUri = uri
66-
});
63+
mainWindow.AddNewTab(new WebViewPage(uri));
6764
}
6865

6966
private void OpenFavoriteWebsiteInNewWindow(object sender, RoutedEventArgs e)
7067
{
7168
Uri uri = ((sender as MenuFlyoutItem).DataContext as WebsiteInfo).Uri;
7269
var window = App.CreateNewWindow();
73-
window.AddNewTab(new WebViewPage() { WebUri = uri });
70+
window.AddNewTab(new WebViewPage(uri));
7471
window.Activate();
7572
}
7673

Controls/ToolBar.xaml.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ private void OpenHistory(object sender, ItemClickEventArgs e)
9090
{
9191
MainWindow mainWindow = App.GetWindowForElement(this);
9292

93-
mainWindow.AddNewTab(new WebViewPage() { WebUri = new Uri((e.ClickedItem as WebViewHistory).Source) });
93+
mainWindow.AddNewTab(new WebViewPage(new Uri((e.ClickedItem as WebViewHistory).Source)));
9494
}
9595

9696
private void RemoveDownloadItem(object sender, RoutedEventArgs e)

Controls/WebSearch.xaml.cs

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,9 @@ private void TextBox_KeyDown(object sender, KeyRoutedEventArgs e)
5959
{
6060
if (e.Key == Windows.System.VirtualKey.Enter)
6161
{
62-
StartToSearch();
62+
MainWindow mainWindow = App.GetWindowForElement(this);
63+
StartSearch(SearchBox.Text, mainWindow);
64+
SearchBox.Text = string.Empty;
6365
}
6466
}
6567

@@ -78,33 +80,30 @@ private void SuggestItemClick(object sender, ItemClickEventArgs e)
7880
SearchBox.Text = $"{prefix} {item}";
7981
}
8082

81-
private void StartToSearch()
83+
public static void StartSearch(string text, MainWindow mainWindow)
8284
{
83-
string text = SearchBox.Text;
84-
SearchBox.Text = string.Empty;
8585
UriType uriType = text.DetectUri();
8686
if (uriType == UriType.WithProtocol)
8787
{
88-
Navigate(text);
88+
Navigate(text, mainWindow);
8989
}
9090
else if (uriType == UriType.WithoutProtocol)
9191
{
92-
Navigate("https://" + text);
92+
Navigate("https://" + text, mainWindow);
9393
}
9494
else if (File.Exists(text))
9595
{
9696
FileInfo fileInfo = new(text);
9797
string ext = fileInfo.Extension;
98-
MainWindow mainWindow = App.GetWindowForElement(this);
9998
if (Info.LanguageDict.TryGetValue(ext, out var _))
10099
{
101100
if (ext == ".lnk")
102101
{
103-
mainWindow.AddNewTab(new InkFilePage(text), fileInfo.Name);
102+
mainWindow.AddNewTab(new InkFilePage(fileInfo), fileInfo.Name);
104103
}
105104
else
106105
{
107-
mainWindow.AddNewTab(new TextFilePage(text), fileInfo.Name);
106+
mainWindow.AddNewTab(new TextFilePage(fileInfo), fileInfo.Name);
108107
}
109108
}
110109
else if (Info.ImageDict.TryGetValue(ext, out var _))
@@ -113,27 +112,25 @@ private void StartToSearch()
113112
}
114113
else
115114
{
116-
Navigate(text);
115+
Navigate(text, mainWindow);
117116
}
118117
}
119118
else
120119
{
121-
Navigate(Info.SearchEngineList.First(x => x.Name == App.settings.SearchEngine).Uri + text);
120+
Navigate(Info.SearchEngineList.First(x => x.Name == App.settings.SearchEngine).Uri + text, mainWindow);
122121
}
123122
}
124123

125-
private void Navigate(string site)
124+
public static void Navigate(string site, MainWindow mainWindow)
126125
{
127126
Uri uri = new(site);
128-
MainWindow mainWindow = App.GetWindowForElement(this);
129-
var selectedItem = mainWindow.SelectedItem;
130-
if (selectedItem is WebViewPage webviewPage)
127+
if ((mainWindow.TabView.SelectedItem != null) && (mainWindow.SelectedItem is WebViewPage webviewPage))
131128
{
132-
webviewPage.WebUri = uri;
129+
webviewPage.webView2.Source = uri;
133130
}
134131
else
135132
{
136-
mainWindow.AddNewTab(new WebViewPage() { WebUri = uri });
133+
mainWindow.AddNewTab(new WebViewPage(uri));
137134
}
138135
}
139136

MainWindow.xaml.cs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ public void AddHomePage()
6363
string uri = App.settings.SpecificUri;
6464
if (!string.IsNullOrEmpty(uri))
6565
{
66-
AddNewTab(new WebViewPage() { WebUri = new Uri(uri) });
66+
AddNewTab(new WebViewPage(new Uri(uri)));
6767
}
6868
else
6969
{
@@ -255,14 +255,14 @@ private void RefreshTab(object sender, RoutedEventArgs e)
255255
private void CopyTab(object sender, RoutedEventArgs e)
256256
{
257257
WebView2 webView2 = App.GetWebView2(tabView.SelectedItem as TabViewItem);
258-
AddNewTab(new WebViewPage() { WebUri = webView2.Source }, index: tabView.SelectedIndex + 1);
258+
AddNewTab(new WebViewPage(webView2.Source), index: tabView.SelectedIndex + 1);
259259
}
260260

261261
private void MoveTabToNewWindow(object sender, RoutedEventArgs e)
262262
{
263263
WebView2 webView2 = App.GetWebView2(tabView.SelectedItem as TabViewItem);
264264
var window = App.CreateNewWindow();
265-
window.AddNewTab(new WebViewPage() { WebUri = webView2.Source });
265+
window.AddNewTab(new WebViewPage(webView2.Source));
266266
window.Activate();
267267
tabView.TabItems.Remove(tabView.SelectedItem);
268268
}
@@ -323,9 +323,11 @@ public object SelectedItem
323323
set => tabView.SelectedItem = value;
324324
}
325325

326+
public TabView TabView => tabView;
327+
326328
private void OpenClosedTab(object sender, RoutedEventArgs e)
327329
{
328-
AddNewTab(new WebViewPage() { WebUri = new Uri(App.Histories[^1].Source) });
330+
AddNewTab(new WebViewPage(new Uri(App.Histories[^1].Source)));
329331
}
330332

331333
private void PinTab(object sender, RoutedEventArgs e)

Pages/HomePage.xaml.cs

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -75,20 +75,14 @@ public async void InstallWebView2(object sender, RoutedEventArgs e)
7575
private void OpenSuggestWebsite(object sender, ItemClickEventArgs e)
7676
{
7777
MainWindow mainWindow = App.GetWindowForElement(this);
78-
mainWindow.AddNewTab(new WebViewPage()
79-
{
80-
WebUri = (e.ClickedItem as WebsiteInfo).Uri,
81-
});
78+
mainWindow.AddNewTab(new WebViewPage((e.ClickedItem as WebsiteInfo).Uri));
8279
}
8380

8481
private void OpenWebSite(object sender, RoutedEventArgs e)
8582
{
8683
MainWindow mainWindow = App.GetWindowForElement(this);
8784
Uri uri = ((sender as MenuFlyoutItem).DataContext as WebsiteInfo).Uri;
88-
mainWindow.AddNewTab(new WebViewPage()
89-
{
90-
WebUri = uri
91-
});
85+
mainWindow.AddNewTab(new WebViewPage(uri));
9286
}
9387

9488
private void HideItem(object sender, RoutedEventArgs e)

Pages/InkFilePage.xaml.cs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,12 @@ namespace Edge
1313
public sealed partial class InkFilePage : Page
1414
{
1515
string realLocation;
16-
public InkFilePage(string filepath)
16+
public InkFilePage(FileInfo fileInfo)
1717
{
1818
this.InitializeComponent();
1919

20-
string ext = Path.GetExtension(filepath);
21-
2220
WshShell shell = new();
23-
IWshShortcut shortcut = shell.CreateShortcut(filepath);
21+
IWshShortcut shortcut = shell.CreateShortcut(fileInfo.FullName);
2422

2523
shortcutName.Text = Path.GetFileNameWithoutExtension(shortcut.FullName);
2624

Pages/TextFilePage.xaml.cs

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,18 @@ namespace Edge
88
{
99
public sealed partial class TextFilePage : Page
1010
{
11-
public string file;
11+
public FileInfo info;
1212

1313
public EncodingInfo[] encodeList;
1414

1515
public string typeName;
1616

17-
public TextFilePage(string filepath)
17+
public TextFilePage(FileInfo fileInfo)
1818
{
1919
this.InitializeComponent();
2020

21-
file = filepath;
22-
string ext = Path.GetExtension(filepath);
23-
typeName = Info.LanguageDict.GetValueOrDefault(ext);
21+
info = fileInfo;
22+
typeName = Info.LanguageDict.GetValueOrDefault(fileInfo.Extension);
2423

2524
// 加载编码列表
2625
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
@@ -29,7 +28,7 @@ public TextFilePage(string filepath)
2928
EncodingComboBox.SelectedItem = encodeList[^1];
3029

3130
// 初始化UI 数据
32-
FullPath.Text = file;
31+
FullPath.Text = fileInfo.FullName;
3332
TypeName.Text = typeName;
3433
}
3534

@@ -40,11 +39,11 @@ private void EncodeTypeChanged(object sender, SelectionChangedEventArgs e)
4039
StreamReader reader;
4140
if (encoding == Encoding.Default)
4241
{
43-
reader = new StreamReader(file, Encoding.Default, true);
42+
reader = new StreamReader(info.FullName, Encoding.Default, true);
4443
}
4544
else
4645
{
47-
reader = new StreamReader(file, encoding);
46+
reader = new StreamReader(info.FullName, encoding);
4847
}
4948

5049
string content = reader.ReadToEnd();

Pages/WebViewPage.xaml.cs

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,12 @@ public sealed partial class WebViewPage : Page
1414
public TabViewItem tabViewItem { get; set; }
1515
private bool InFavoriteList = false;
1616

17-
public WebViewPage()
17+
public WebViewPage(Uri WebUri)
1818
{
1919
InitializeComponent();
2020
InitializeToolbarVisibility();
2121
SetNavigationButtonStatus();
22-
}
23-
24-
public Uri WebUri
25-
{
26-
get => EdgeWebViewEngine.Source;
27-
set => EdgeWebViewEngine.Source = value;
22+
EdgeWebViewEngine.Source = WebUri;
2823
}
2924

3025
private void InitializeToolbarVisibility()
@@ -295,7 +290,7 @@ private void CoreWebView2_NewWindowRequested(CoreWebView2 sender, CoreWebView2Ne
295290
{
296291
args.Handled = true;
297292
var mainWindow = App.GetWindowForElement(this);
298-
mainWindow.AddNewTab(new WebViewPage { WebUri = new Uri(args.Uri) });
293+
mainWindow.AddNewTab(new WebViewPage(new Uri(args.Uri)));
299294
}
300295

301296
private void UriGoBackRequest(object sender, RoutedEventArgs e)

Settings/AboutItem.xaml.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ private async void CheckUpdate(object sender, RoutedEventArgs e)
4141
notificationManager.Show(builder.BuildNotification());
4242
}
4343
}
44-
catch (System.Exception) { }
44+
catch (Exception) { }
4545
}
4646

4747
private void CopyText(string text)
@@ -67,7 +67,7 @@ private void TryCopyAppVersion(object sender, RoutedEventArgs e)
6767
private void OpenRepoWebsite(object sender, RoutedEventArgs e)
6868
{
6969
MainWindow mainWindow = App.GetWindowForElement(this);
70-
mainWindow.AddNewTab(new WebViewPage() { WebUri = new Uri("https://github.com/wtcpython/WinUIEdge") });
70+
mainWindow.AddNewTab(new WebViewPage(new Uri("https://github.com/wtcpython/WinUIEdge")));
7171
}
7272
}
7373
}

0 commit comments

Comments
 (0)