Skip to content

Commit 38ef5e0

Browse files
committed
添加进度统计功能
1 parent 3664c63 commit 38ef5e0

File tree

3 files changed

+167
-67
lines changed

3 files changed

+167
-67
lines changed

TimeControl/Data/TimeData.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,14 @@ public class TimeData
1313
public void AddTime(TimeSpan time)
1414
{
1515
LockTime += time;
16-
}public void AddDeepTime(TimeSpan time)
16+
}
17+
public void AddDeepTime(TimeSpan time)
1718
{
1819
DeepLockTime += time;
1920
}
21+
public TimeSpan GetTimeSum()
22+
{
23+
return LockTime + DeepLockTime;
24+
}
2025
}
2126
}

TimeControl/Windows/ControlPanel.Designer.cs

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

TimeControl/Windows/ControlPanel.cs

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
using TimeControl.Data;
1010
using TimeControl.Tools;
1111
using Windows.ApplicationModel.Contacts;
12+
using Windows.UI;
1213

1314
namespace TimeControl.Windows
1415
{
@@ -45,7 +46,7 @@ public ControlPanel(bool hide)
4546
//深度专注
4647
if (File.Exists(TimeControlFile.DeepTempTimeFile))
4748
{
48-
string[] deepTimeFileStr=File.ReadAllLines(TimeControlFile.DeepTempTimeFile);
49+
string[] deepTimeFileStr = File.ReadAllLines(TimeControlFile.DeepTempTimeFile);
4950
TimeSpan deepFocusTime = DateTime.Now -
5051
DateTime.Parse(deepTimeFileStr[0]);
5152
if (deepFocusTime < TimeSpan.Parse(deepTimeFileStr[1]))
@@ -185,7 +186,7 @@ private void WhiteProcessBox_TextChanged(object sender, EventArgs e)
185186
#region DeepLockPage
186187
private void deepStartButton_Click(object sender, EventArgs e)
187188
{
188-
TimeSpan deepTime =new(0, (int)deepTimeInput.Value,0);
189+
TimeSpan deepTime = new(0, (int)deepTimeInput.Value, 0);
189190
File.WriteAllText(TimeControlFile.DeepTempTimeFile, DateTime.Now + Environment.NewLine + deepTime);
190191
SystemControl.Shutdown();
191192
Application.Exit();
@@ -346,12 +347,44 @@ private void RefreshAndSaveData()
346347
dataGridView.Rows.Add(timeData.LockTime, "普通屏保");
347348
//深度专注屏保
348349
dataGridView.Rows.Add(timeData.DeepLockTime, "深度专注屏保");
350+
//更新进度
351+
ShowProgress(timeData);
349352
//保存
350353
TimeControlFile.SaveTimeData(timeData);
351354
}
352355

353356
#endregion
354357

358+
#region ProgressPage
359+
private void ShowProgress(TimeData timeData)
360+
{
361+
TimeSpan timeSpan = timeData.GetTimeSum();
362+
int level = 1;
363+
TimeSpan targetTimeSpan = new(0, 0, 0);
364+
while (level < 100)
365+
{
366+
targetTimeSpan = new TimeSpan(level, 0, 0);
367+
if (timeSpan > targetTimeSpan)
368+
{
369+
level++;
370+
timeSpan -= targetTimeSpan;
371+
}
372+
else
373+
break;
374+
}
375+
376+
progressLabel.Text = $"进入下一级还需要专注{Math.Round((targetTimeSpan - timeSpan).TotalHours, 3)}小时";
377+
levelLabel.Text = $"当前等级:{level}/100级";
378+
progressBar.Value =Convert.ToInt32( (timeSpan / targetTimeSpan) *100);
379+
if (level == 100)
380+
{
381+
encourageLabel.Text = "恭喜通关!你可以通过删除TimeControl文件夹里的SavedData.xml来重新开始!";
382+
progressLabel.Visible= false;
383+
progressBar.Value = 100;
384+
}
385+
}
386+
#endregion
387+
355388
#region SettingPage
356389

357390
private void GithubLinkLabel_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)

0 commit comments

Comments
 (0)