Skip to content

Commit 355f882

Browse files
committed
添加目标管理切换功能
1 parent ea1a5b0 commit 355f882

12 files changed

+513
-63
lines changed

TimeControl/AppControl/AppController.cs

+5-5
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@ public AppController(ListBox listBox, Timer timer)
1717
this.listBox = listBox;
1818
apps = new List<App>();
1919
processMonitorTimer = timer;
20-
if (Directory.Exists(TimeControlFile.TimeFileDirectory))
20+
if (Directory.Exists(TCFile.TimeFileDirectory))
2121
{
22-
apps = TimeControlFile.ReadApps();
22+
apps = TCFile.ReadApps();
2323
}
2424
else
2525
{
26-
Directory.CreateDirectory(TimeControlFile.TimeFileDirectory);
26+
Directory.CreateDirectory(TCFile.TimeFileDirectory);
2727
Save();
2828
}
2929
Refresh();
@@ -107,7 +107,7 @@ public void RemoveAll()
107107
{
108108
processMonitorTimer.Stop();
109109
apps.Clear();
110-
TimeControlFile.SaveApps(apps);
110+
TCFile.SaveApps(apps);
111111
Refresh();
112112
}
113113

@@ -128,7 +128,7 @@ public void Reset()
128128

129129
public void Save()
130130
{
131-
TimeControlFile.SaveApps(apps);
131+
TCFile.SaveApps(apps);
132132
}
133133
}
134134
}

TimeControl/Data/TimeData.cs

+1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ namespace TimeControl.Data
88
{
99
public class TimeData
1010
{
11+
public string GoalName { get; set; } ="";
1112
public TimeSpan LockTime { get; set; }=new TimeSpan();
1213
public TimeSpan DeepLockTime { get; set; } = new TimeSpan();
1314
public void AddTime(TimeSpan time)

TimeControl/Program.cs

+4-4
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,11 @@ private static void CatchException(EventArgs e)
5555
else
5656
ex = new Exception("未知错误,无法处理!");
5757
Dllimport.SwitchDesktop(nowDesktop);
58-
File.Delete(TimeControlFile.TempTimeFile);
59-
File.AppendAllText(TimeControlFile.LogFile, DateTime.Now.ToString() + Environment.NewLine + "===Error==="
58+
File.Delete(TCFile.TempTimeFile);
59+
File.AppendAllText(TCFile.LogFile, DateTime.Now.ToString() + Environment.NewLine + "===Error==="
6060
+ Environment.NewLine);
61-
File.AppendAllText(TimeControlFile.LogFile, ex.ToString() + Environment.NewLine);
62-
MessageBox.Show(ex.Message + Environment.NewLine + "以上为错误消息,已保存到" + TimeControlFile.LogFile
61+
File.AppendAllText(TCFile.LogFile, ex.ToString() + Environment.NewLine);
62+
MessageBox.Show(ex.Message + Environment.NewLine + "以上为错误消息,已保存到" + TCFile.LogFile
6363
+ ",请反馈此问题到项目主页Issue。保护程序已暂时关闭。", "TimeControl发生错误",
6464
MessageBoxButtons.OK, MessageBoxIcon.Error);
6565
Process.Start("explorer.exe", "https://gitee.com/Sam-Hou/ComputerTimeControl/issues");

TimeControl/Tools/TimeControlFile.cs renamed to TimeControl/Tools/TCFile.cs

+38-4
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,11 @@
66
using System.Xml.Serialization;
77
using TimeControl.AppControl;
88
using TimeControl.Data;
9+
using static System.Windows.Forms.VisualStyles.VisualStyleElement.TaskbarClock;
910

1011
namespace TimeControl.Tools
1112
{
12-
public static class TimeControlFile
13+
public static class TCFile
1314
{
1415
public static readonly string BaseLocation = Environment.GetFolderPath
1516
(Environment.SpecialFolder.ApplicationData) + "\\TimeControl";
@@ -30,6 +31,14 @@ public static class TimeControlFile
3031
public static readonly string ShutdownSpan = BaseLocation + "\\Shutdown.txt";
3132
//数据显示
3233
public static readonly string SavedData = BaseLocation + "\\SavedData.xml";
34+
public static readonly string SavedDataDir = BaseLocation + "\\SavedData";
35+
public static string[] SavedDataFiles
36+
{
37+
get
38+
{
39+
return Directory.GetFiles(SavedDataDir);
40+
}
41+
}
3342

3443
public static void SaveApps(List<App> apps)
3544
{
@@ -60,7 +69,7 @@ public static List<App> ReadApps()
6069
using (StreamReader sr = new StreamReader(latestFile.FullName))
6170
{
6271
XmlSerializer xmlSerializer = new(typeof(List<AppInformation>));
63-
List<AppInformation> infos=null;
72+
List<AppInformation> infos = null;
6473
try
6574
{
6675
infos = (List<AppInformation>)xmlSerializer.Deserialize(sr);
@@ -104,19 +113,44 @@ public static FileInfo GetLatestAppsFile()
104113

105114
public static void SaveTimeData(TimeData time)
106115
{
107-
using (StreamWriter sw=new(SavedData))
116+
using (StreamWriter sw = new(SavedData))
108117
{
109118
XmlSerializer xmlSerializer = new(typeof(TimeData));
110119
xmlSerializer.Serialize(sw, time);
111120
}
112121
}
113122
public static TimeData ReadTimeData()
114123
{
115-
using (StreamReader sr=new(SavedData))
124+
using (StreamReader sr = new(SavedData))
116125
{
117126
XmlSerializer xmlSerializer = new(typeof(TimeData));
118127
return (TimeData)xmlSerializer.Deserialize(sr);
119128
}
120129
}
130+
public static void ChangeGoal(string name)
131+
{
132+
foreach (string file in SavedDataFiles)
133+
{
134+
if (Path.GetFileNameWithoutExtension(file) == name)
135+
{
136+
string currentName = ReadTimeData().GoalName;
137+
File.Move(SavedData, SavedDataDir + "\\" + currentName+".xml");
138+
File.Move(file, SavedData);
139+
return;
140+
}
141+
}
142+
}
143+
public static void AddGoal(TimeData timeData)
144+
{
145+
using (StreamWriter sw = new(SavedDataDir+"\\"+timeData.GoalName+".xml"))
146+
{
147+
XmlSerializer xmlSerializer = new(typeof(TimeData));
148+
xmlSerializer.Serialize(sw, timeData);
149+
}
150+
}
151+
public static void RemoveGoal(string name)
152+
{
153+
File.Delete(SavedDataDir+"\\"+name+".xml");
154+
}
121155
}
122156
}

TimeControl/Windows/ControlPanel.Designer.cs

+36-9
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)