|
9 | 9 | using TimeControl.Data; |
10 | 10 | using TimeControl.Tools; |
11 | 11 | using Windows.ApplicationModel.Contacts; |
| 12 | +using Windows.UI; |
12 | 13 |
|
13 | 14 | namespace TimeControl.Windows |
14 | 15 | { |
@@ -45,7 +46,7 @@ public ControlPanel(bool hide) |
45 | 46 | //深度专注 |
46 | 47 | if (File.Exists(TimeControlFile.DeepTempTimeFile)) |
47 | 48 | { |
48 | | - string[] deepTimeFileStr=File.ReadAllLines(TimeControlFile.DeepTempTimeFile); |
| 49 | + string[] deepTimeFileStr = File.ReadAllLines(TimeControlFile.DeepTempTimeFile); |
49 | 50 | TimeSpan deepFocusTime = DateTime.Now - |
50 | 51 | DateTime.Parse(deepTimeFileStr[0]); |
51 | 52 | if (deepFocusTime < TimeSpan.Parse(deepTimeFileStr[1])) |
@@ -185,7 +186,7 @@ private void WhiteProcessBox_TextChanged(object sender, EventArgs e) |
185 | 186 | #region DeepLockPage |
186 | 187 | private void deepStartButton_Click(object sender, EventArgs e) |
187 | 188 | { |
188 | | - TimeSpan deepTime =new(0, (int)deepTimeInput.Value,0); |
| 189 | + TimeSpan deepTime = new(0, (int)deepTimeInput.Value, 0); |
189 | 190 | File.WriteAllText(TimeControlFile.DeepTempTimeFile, DateTime.Now + Environment.NewLine + deepTime); |
190 | 191 | SystemControl.Shutdown(); |
191 | 192 | Application.Exit(); |
@@ -346,12 +347,44 @@ private void RefreshAndSaveData() |
346 | 347 | dataGridView.Rows.Add(timeData.LockTime, "普通屏保"); |
347 | 348 | //深度专注屏保 |
348 | 349 | dataGridView.Rows.Add(timeData.DeepLockTime, "深度专注屏保"); |
| 350 | + //更新进度 |
| 351 | + ShowProgress(timeData); |
349 | 352 | //保存 |
350 | 353 | TimeControlFile.SaveTimeData(timeData); |
351 | 354 | } |
352 | 355 |
|
353 | 356 | #endregion |
354 | 357 |
|
| 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 | + |
355 | 388 | #region SettingPage |
356 | 389 |
|
357 | 390 | private void GithubLinkLabel_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) |
|
0 commit comments