diff --git a/Autostart Manager/Autostart Manager.csproj b/Autostart Manager/Autostart Manager.csproj
index 504d334..c4a2b62 100644
--- a/Autostart Manager/Autostart Manager.csproj
+++ b/Autostart Manager/Autostart Manager.csproj
@@ -83,6 +83,7 @@
About.cs
+
Form
diff --git a/Autostart Manager/Helper.cs b/Autostart Manager/Helper.cs
new file mode 100644
index 0000000..b001445
--- /dev/null
+++ b/Autostart Manager/Helper.cs
@@ -0,0 +1,43 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Runtime.Serialization.Formatters.Binary;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Autostart_Manager
+{
+ internal static class Helper
+ {
+ public static List StartItemList = new List();
+
+ static public void SaveStartItemList(List tuples)
+ {
+ using (MemoryStream ms = new MemoryStream())
+ {
+ BinaryFormatter bf = new BinaryFormatter();
+ bf.Serialize(ms, tuples);
+ ms.Position = 0;
+ byte[] buffer = new byte[(int)ms.Length];
+ ms.Read(buffer, 0, buffer.Length);
+ Properties.Settings.Default.ProgramList = Convert.ToBase64String(buffer);
+ Properties.Settings.Default.Save();
+ }
+ }
+
+ static public List LoadStartItemList()
+ {
+ if (Properties.Settings.Default.ProgramList == null || Properties.Settings.Default.ProgramList == "")
+ {
+ return new List();
+ }
+
+ using (MemoryStream ms = new MemoryStream(Convert.FromBase64String(Properties.Settings.Default.ProgramList)))
+ {
+ BinaryFormatter bf = new BinaryFormatter();
+ return (List)bf.Deserialize(ms);
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Autostart Manager/Main.Designer.cs b/Autostart Manager/Main.Designer.cs
index fb0e112..ebff0b0 100644
--- a/Autostart Manager/Main.Designer.cs
+++ b/Autostart Manager/Main.Designer.cs
@@ -73,6 +73,7 @@
| System.Windows.Forms.AnchorStyles.Right)));
this.listViewMain.FullRowSelect = true;
this.listViewMain.GridLines = true;
+ this.listViewMain.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
this.listViewMain.Location = new System.Drawing.Point(12, 12);
this.listViewMain.Name = "listViewMain";
this.listViewMain.ShowItemToolTips = true;
@@ -118,6 +119,7 @@
this.MinimumSize = new System.Drawing.Size(367, 202);
this.Name = "Main";
this.Text = "Main";
+ this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.Main_FormClosed);
this.SizeChanged += new System.EventHandler(this.Main_SizeChanged);
this.ResumeLayout(false);
diff --git a/Autostart Manager/Main.cs b/Autostart Manager/Main.cs
index 6acceb9..db739a4 100644
--- a/Autostart Manager/Main.cs
+++ b/Autostart Manager/Main.cs
@@ -1,11 +1,8 @@
using System;
using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
using System.Drawing;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
+using System.IO;
+using System.Runtime.Serialization.Formatters.Binary;
using System.Windows.Forms;
namespace Autostart_Manager
@@ -17,12 +14,11 @@ namespace Autostart_Manager
InitializeComponent();
InitilizeListView();
ResizeColumns();
- // LoadList();
+ LoadListViewItems();
StartItem si = new StartItem();
si.Name = "Test";
si.Path = "C:/sdasad/sad.exe";
-
AddItem(si);
}
@@ -53,6 +49,14 @@ namespace Autostart_Manager
listViewMain.SmallImageList = new ImageList();
}
+ public void LoadListViewItems()
+ {
+ foreach (StartItem item in Helper.StartItemList)
+ {
+ AddItem(item);
+ }
+ }
+
public void UpdateListView()
{
foreach (ListViewItem item in listViewMain.Items)
@@ -96,17 +100,12 @@ namespace Autostart_Manager
}
}
- public void LoadList()
- {
- // Properties.Settings.Default.ProgramList
- }
-
public void SaveList()
{
- throw new NotImplementedException();
+ Helper.SaveStartItemList(Helper.StartItemList);
}
- private const int StatusWidht = 100;
+ private const int StatusWidht = 65;
public void ResizeColumns()
{
@@ -129,5 +128,10 @@ namespace Autostart_Manager
{
MessageBox.Show("Not Implemented");
}
+
+ private void Main_FormClosed(object sender, FormClosedEventArgs e)
+ {
+ SaveList();
+ }
}
}
\ No newline at end of file
diff --git a/Autostart Manager/Program.cs b/Autostart Manager/Program.cs
index bf51480..c10c0cb 100644
--- a/Autostart Manager/Program.cs
+++ b/Autostart Manager/Program.cs
@@ -1,7 +1,4 @@
using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Runtime.Serialization.Formatters.Binary;
using System.Windows.Forms;
namespace Autostart_Manager
@@ -14,6 +11,7 @@ namespace Autostart_Manager
private static void Main(string[] args)
{
CommandLine.Parser.Default.ParseArguments(args, options);
+ Helper.StartItemList = Helper.LoadStartItemList();
if (!options.silent)
{
@@ -21,28 +19,5 @@ namespace Autostart_Manager
Application.Run(new Main());
}
}
-
- private void SaveStartItemList(List tuples)
- {
- using (MemoryStream ms = new MemoryStream())
- {
- BinaryFormatter bf = new BinaryFormatter();
- bf.Serialize(ms, tuples);
- ms.Position = 0;
- byte[] buffer = new byte[(int)ms.Length];
- ms.Read(buffer, 0, buffer.Length);
- Properties.Settings.Default.ProgramList = Convert.ToBase64String(buffer);
- Properties.Settings.Default.Save();
- }
- }
-
- private List LoadStartItemList()
- {
- using (MemoryStream ms = new MemoryStream(Convert.FromBase64String(Properties.Settings.Default.ProgramList)))
- {
- BinaryFormatter bf = new BinaryFormatter();
- return (List)bf.Deserialize(ms);
- }
- }
}
}
\ No newline at end of file
diff --git a/Autostart Manager/StartItem.cs b/Autostart Manager/StartItem.cs
index 714d649..2f9f7ff 100644
--- a/Autostart Manager/StartItem.cs
+++ b/Autostart Manager/StartItem.cs
@@ -7,6 +7,7 @@ using System.Threading.Tasks;
namespace Autostart_Manager
{
+ [Serializable]
public class StartItem
{
public string Name { get; set; }
@@ -25,6 +26,8 @@ namespace Autostart_Manager
Commandline = "";
CurrentStatus = Status.stopped;
DisplayedImage = Properties.Resources.DefaultImage;
+
+ Helper.StartItemList.Add(this);
}
}
}
\ No newline at end of file