Skip to content

Commit d7575af

Browse files
committed
Update
1 parent 4df108e commit d7575af

File tree

15 files changed

+609
-286
lines changed

15 files changed

+609
-286
lines changed

FreeControl/FreeControl.csproj

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@
151151
<EmbeddedResource Include="SetProt.bat" />
152152
</ItemGroup>
153153
<ItemGroup>
154-
<None Include="Resources\scrcpy-win32-v1.17.zip" />
154+
<None Include="Resources\scrcpy-win32-v1.18.zip" />
155155
<None Include="Resources\Setting.png" />
156156
</ItemGroup>
157157
<ItemGroup>
@@ -163,6 +163,8 @@
163163
<ItemGroup>
164164
<Content Include="DLL\ICSharpCode.SharpZipLib.dll" />
165165
<Content Include="Resources\Home_Dark.png" />
166+
<None Include="Resources\SunnyUI.Common.dll" />
167+
<None Include="Resources\SunnyUI.dll" />
166168
<None Include="DLL\Newtonsoft.Json.dll" />
167169
<Content Include="Resources\Setting_Dark.png" />
168170
<None Include="Resources\shortcut_zh.jpg" />

FreeControl/Main.Designer.cs

Lines changed: 293 additions & 110 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

FreeControl/Main.cs

Lines changed: 132 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ public void SetUserData(Setting userData)
7575
/// <summary>
7676
/// scrcpy版本
7777
/// </summary>
78-
public static string scrcpyVersion = "scrcpy_win32_v1_17";
78+
public static string scrcpyVersion = "scrcpy_win32_v1_18";
7979

8080
/// <summary>
8181
/// scrcpy路径
@@ -86,6 +86,7 @@ public void InitPdone()
8686
{
8787

8888
setting = GetUserData();
89+
Size = new Size(658, 340);
8990

9091
Application.ApplicationExit += (sender, e) =>
9192
{
@@ -106,6 +107,9 @@ public void InitPdone()
106107
#region 设置标题
107108
Assembly asm = Assembly.GetExecutingAssembly();
108109
FileVersionInfo fvi = FileVersionInfo.GetVersionInfo(asm.Location);
110+
//Text = $"Free Control v{fvi.ProductVersion}";
111+
//ledTitle.Enabled = false;
112+
//ledTitle.Visible = false;
109113
ledTitle.Text = $"Free Control v{fvi.ProductVersion}";
110114
ledTitle.CharCount = 19;
111115
ledTitle.MouseDown += (sender, e) => DragWindow();
@@ -122,14 +126,15 @@ public void InitPdone()
122126
tabHome.ImageIndex = 0;
123127
tabSetting.ImageIndex = 2;
124128
#endregion
125-
126129
#region 设置深色模式
127130
switchDarkMode.ValueChanged += (object sender, bool value) =>
128131
{
129132
var tabBackColor = Color.Transparent;
133+
var foreColor = Color.Transparent;
130134
if (value)
131135
{
132136
tabBackColor = Color.FromArgb(24, 24, 24);
137+
foreColor = Color.FromArgb(192, 192, 192);
133138
UIStyles.SetStyle(UIStyle.Black);
134139
tabHome.BackColor = tabBackColor;
135140
tabSetting.BackColor = tabBackColor;
@@ -143,6 +148,7 @@ public void InitPdone()
143148
else
144149
{
145150
tabBackColor = Color.FromArgb(242, 242, 244);
151+
foreColor = Color.FromArgb(48, 48, 48);
146152
UIStyles.SetStyle(UIStyle.Gray);
147153
tabHome.BackColor = tabBackColor;
148154
tabSetting.BackColor = tabBackColor;
@@ -153,17 +159,40 @@ public void InitPdone()
153159
tabHome.ImageIndex = 0;
154160
tabSetting.ImageIndex = 2;
155161

162+
navTab.TabSelectedColor = tabBackColor;
156163
navTab.TabSelectedForeColor = Color.FromArgb(140, 140, 140);
157164
navTab.TabSelectedHighColor = Color.FromArgb(140, 140, 140);
165+
navTab.TabBackColor = Color.FromArgb(222, 222, 222);
166+
158167
}
168+
169+
tbxAddress.FillDisableColor = tabBackColor;
170+
tbxPort.FillDisableColor = tabBackColor;
171+
tbxAddress.ForeDisableColor = foreColor;
172+
tbxPort.ForeDisableColor = foreColor;
173+
174+
tbxAddress.FillColor = tabBackColor;
175+
tbxPort.FillColor = tabBackColor;
176+
tbxAddress.ForeColor = foreColor;
177+
tbxPort.ForeColor = foreColor;
178+
159179
};
160180
#endregion
161181

162182
#region 切换tab事件
163183
navTab.SelectedIndexChanged += (object sender, EventArgs e) =>
164184
{
165-
166-
185+
switch (navTab.SelectedIndex)
186+
{
187+
case 0:
188+
Size = new Size(658, 340);
189+
break;
190+
case 1:
191+
Size = new Size(658, 470);
192+
break;
193+
default:
194+
break;
195+
}
167196
};
168197
navTab.SelectTab(0);
169198
#endregion
@@ -172,11 +201,14 @@ public void InitPdone()
172201
rbtnPx.SelectedIndex = setting.PXIndex;
173202
rbtnMbps.SelectedIndex = setting.BitRateIndex;
174203
rbtnMaxFPS.SelectedIndex = setting.MaxFPSIndex;
204+
rbtnShortcuts.SelectedIndex = setting.ShortcutsIndex;
175205
switchDarkMode.Active = setting.DarkMode;
176206
tbxAddress.Text = setting.IPAddress;
177207
tbxPort.Text = setting.Port;
178-
tbxAddress.Enabled = !setting.UseWireless;
179-
tbxPort.Enabled = !setting.UseWireless;
208+
//tbxAddress.Enabled = !setting.UseWireless;
209+
//tbxPort.Enabled = !setting.UseWireless;
210+
updownHeight.Value = setting.WindowHeight;
211+
updownWidth.Value = setting.WindowWidth;
180212

181213
#region 复选框默认值
182214
cbxUseWireless.Checked = setting.UseWireless;
@@ -190,12 +222,15 @@ public void InitPdone()
190222
cbxHideBorder.Checked = setting.HideBorder;
191223
cbxFullScreen.Checked = setting.FullScreen;
192224
cbxTopMost.Checked = setting.TopMost;
225+
cbxShowTouches.Checked = setting.ShowTouches;
226+
cbxReadOnly.Checked = setting.ReadOnly;
193227
#endregion
194228

195229
#region 参数设置事件
196230
rbtnPx.ValueChanged += RbtnPx_ValueChanged;
197231
rbtnMbps.ValueChanged += RbtnMbps_ValueChanged;
198232
rbtnMaxFPS.ValueChanged += RbtnMaxFPS_ValueChanged;
233+
rbtnShortcuts.ValueChanged += RbtnShortcuts_ValueChanged;
199234

200235
cbxUseWireless.ValueChanged += CbxUseWireless_ValueChanged;
201236
cbxUseLog.ValueChanged += CbxUseLog_ValueChanged; ;
@@ -213,6 +248,17 @@ public void InitPdone()
213248
cbxHideBorder.ValueChanged += CommonCbx_ValueChanged;
214249
cbxFullScreen.ValueChanged += CommonCbx_ValueChanged;
215250
cbxTopMost.ValueChanged += CommonCbx_ValueChanged;
251+
cbxShowTouches.ValueChanged += CommonCbx_ValueChanged;
252+
cbxReadOnly.ValueChanged += CommonCbx_ValueChanged;
253+
254+
updownHeight.ValueChanged += (sender, e) =>
255+
{
256+
setting.WindowHeight = updownHeight.Value;
257+
};
258+
updownWidth.ValueChanged += (sender, e) =>
259+
{
260+
setting.WindowWidth = updownWidth.Value;
261+
};
216262
#endregion
217263

218264
#endregion
@@ -222,7 +268,7 @@ public void InitPdone()
222268
if (!Directory.Exists(scrcpyPath))
223269
{
224270
Directory.CreateDirectory(scrcpyPath);
225-
File.WriteAllBytes(scrcpyPath + tempFileName, Properties.Resources.scrcpy_win32_v1_17);
271+
File.WriteAllBytes(scrcpyPath + tempFileName, Properties.Resources.scrcpy_win32_v1_18);
226272
if (SharpZip.UnpackFiles(scrcpyPath + tempFileName, scrcpyPath))
227273
{
228274
File.Delete(scrcpyPath + tempFileName);
@@ -236,19 +282,25 @@ public void InitPdone()
236282
#region 启动按钮
237283
btnStart.Click += (sender, e) =>
238284
{
239-
285+
240286
if (setting.UseWireless &&
241287
(string.IsNullOrWhiteSpace(setting.IPAddress) || string.IsNullOrWhiteSpace(setting.Port)))
242288
{
243289
UIMessageTip.ShowWarning(sender as Control, "IP地址或者端口号没有填写,无法启动 -.-!", 1500);
244290
return;
245291
}
246292
LogHelper.Info("starting...");
247-
var paramlist = $" {setting.BitRate} {setting.PX} {setting.MaxFPS} {setting.OtherParam} ";
293+
var paramlist = $" {setting.BitRate} {setting.PX} {setting.MaxFPS} {setting.Shortcuts} {setting.OtherParam} ";
248294
//设置屏幕高度 800
249-
paramlist += "--window-height 800 ";
250-
//设置快捷键 左Crtl
251-
paramlist += "--shortcut-mod=lctrl ";
295+
if (setting.WindowHeight > 0)
296+
{
297+
paramlist += $"--window-height {setting.WindowHeight} ";
298+
}
299+
if (setting.WindowWidth > 0)
300+
{
301+
paramlist += $"--window-width {setting.WindowWidth} ";
302+
}
303+
252304
//设置标题
253305
paramlist += $"--window-title \"{ledTitle.Text}\" ";
254306

@@ -276,7 +328,7 @@ public void InitPdone()
276328
UseShellExecute = false,//不使用操作系统使用的shell启动进程
277329
RedirectStandardOutput = true,//将输出信息重定向
278330
});
279-
331+
280332
this.Hide();
281333
LogHelper.Info("scrcpy running...");
282334
LogHelper.Info(scrcpy.StandardOutput.ReadToEnd());
@@ -289,7 +341,6 @@ public void InitPdone()
289341
#endregion
290342
}
291343

292-
293344
private void CbxUseLog_ValueChanged(object sender, bool value)
294345
{
295346
setting.UseLog = value;
@@ -299,8 +350,38 @@ private void CbxUseLog_ValueChanged(object sender, bool value)
299350
private void CbxUseWireless_ValueChanged(object sender, bool value)
300351
{
301352
setting.UseWireless = value;
302-
tbxAddress.Enabled = !value;
303-
tbxPort.Enabled = !value;
353+
//tbxAddress.Enabled = !value;
354+
//tbxPort.Enabled = !value;
355+
356+
var foreColor = Color.Transparent;
357+
var tabBackColor = Color.Transparent;
358+
359+
var tempColor = Color.Transparent;
360+
if (setting.DarkMode)
361+
{
362+
tabBackColor = Color.FromArgb(24, 24, 24);
363+
foreColor = Color.FromArgb(192, 192, 192);
364+
}
365+
else
366+
{
367+
tabBackColor = Color.FromArgb(242, 242, 244);
368+
foreColor = Color.FromArgb(48, 48, 48);
369+
}
370+
371+
if (setting.UseWireless)
372+
{
373+
tbxAddress.FillDisableColor = tabBackColor;
374+
tbxPort.FillDisableColor = tabBackColor;
375+
tbxAddress.ForeDisableColor = foreColor;
376+
tbxPort.ForeDisableColor = foreColor;
377+
}
378+
else
379+
{
380+
tbxAddress.FillColor = tabBackColor;
381+
tbxPort.FillColor = tabBackColor;
382+
tbxAddress.ForeColor = foreColor;
383+
tbxPort.ForeColor = foreColor;
384+
}
304385
}
305386

306387
private void TbxAddress_TextChanged(object sender, EventArgs e)
@@ -336,6 +417,7 @@ private void CommonCbx_ValueChanged(object sender, bool value)
336417
setting.KeepAwake = value;
337418
//保持唤醒与镜像模式不可同时启用
338419
setting.ReadOnly = !value;
420+
cbxReadOnly.Checked = !value;
339421
break;
340422
case "全帧渲染":
341423
command = setting.GetDesc("AllFPS") + " ";
@@ -359,6 +441,10 @@ private void CommonCbx_ValueChanged(object sender, bool value)
359441
command = setting.GetDesc("TopMost") + " ";
360442
setting.TopMost = value;
361443
break;
444+
case "显示触摸":
445+
command = setting.GetDesc("ShowTouches") + " ";
446+
setting.ShowTouches = value;
447+
break;
362448
}
363449
LogHelper.Info(temp.Text + ":" + value);
364450
if (value)
@@ -371,6 +457,24 @@ private void CommonCbx_ValueChanged(object sender, bool value)
371457
}
372458
}
373459

460+
private void RbtnShortcuts_ValueChanged(object sender, int index, string text)
461+
{
462+
switch (index)
463+
{
464+
case 1:
465+
setting.Shortcuts = "lctrl+lalt";
466+
break;
467+
case 2:
468+
setting.Shortcuts = "lalt";
469+
break;
470+
default:
471+
setting.Shortcuts = "lctrl";
472+
break;
473+
}
474+
setting.Shortcuts = $"{setting.GetDesc("Shortcuts")}={setting.Shortcuts}";
475+
setting.ShortcutsIndex = index;
476+
}
477+
374478
private void RbtnMaxFPS_ValueChanged(object sender, int index, string text)
375479
{
376480
switch (index)
@@ -469,18 +573,15 @@ public void DragWindow()
469573
}
470574
#endregion
471575

472-
private void uiLinkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
473-
{
474-
System.Diagnostics.Process.Start("https://baike.baidu.com/item/USB%E8%B0%83%E8%AF%95%E6%A8%A1%E5%BC%8F/5035286#2");
475-
}
476-
477576
private void uiLabel2_Click(object sender, EventArgs e)
478577
{
479578
Form shortcut = new Form()
480579
{
481580
AutoSize = true,
482581
StartPosition = FormStartPosition.CenterScreen,
483582
FormBorderStyle = FormBorderStyle.FixedToolWindow,
583+
MinimizeBox = false,
584+
MaximizeBox = false,
484585
};
485586
shortcut.KeyPress += (senderr, ee) =>
486587
{
@@ -498,6 +599,11 @@ private void uiLabel2_Click(object sender, EventArgs e)
498599
shortcut.ShowDialog();
499600
}
500601

602+
private void uiLinkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
603+
{
604+
System.Diagnostics.Process.Start("https://baike.baidu.com/item/USB%E8%B0%83%E8%AF%95%E6%A8%A1%E5%BC%8F/5035286#2");
605+
}
606+
501607
private void uiLinkLabel2_Click(object sender, EventArgs e)
502608
{
503609
if (UIMessageBox.Show("1、使用数据线将手机连接电脑\n2、手机开启调试模式\n3、程序将使用adb tcpip 5555命令修改无线调试端口号\n4、点击确定后若看到一只狗头,则表示设置端口号成功", "请确认", setting.DarkMode ? UIStyle.Black : UIStyle.Gray, UIMessageBoxButtons.OKCancel, false))
@@ -514,6 +620,11 @@ private void uiLinkLabel2_Click(object sender, EventArgs e)
514620
}
515621
}
516622
}
623+
624+
private void uiLinkLabel3_LinkClicked(object sender, EventArgs e)
625+
{
626+
System.Diagnostics.Process.Start("https://github.com/pdone/FreeControl/issues");
627+
}
517628
}
518629

519630
public static class Utilitys

0 commit comments

Comments
 (0)