Skip to content
This repository was archived by the owner on Dec 22, 2019. It is now read-only.

Commit c981c4a

Browse files
authored
Merge pull request #18 from MatthiWare/development
v0.1.1 test release
2 parents 7b6c493 + 65b9011 commit c981c4a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+1600
-364
lines changed

UpdateLib/TestApp/Form1.Designer.cs

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

UpdateLib/TestApp/Form1.cs

Lines changed: 39 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -5,91 +5,74 @@
55
using MatthiWare.UpdateLib.UI;
66
using System;
77
using System.Drawing;
8+
using System.IO;
9+
using System.Security.Cryptography;
10+
using System.Text;
811
using System.Threading;
912
using System.Windows.Forms;
1013

1114
namespace TestApp
1215
{
1316
public partial class Form1 : Form
1417
{
15-
private Updater updater;
16-
1718
public Form1()
1819
{
1920
InitializeComponent();
2021

21-
updater = Updater.Instance;
22-
updater.UpdateURL = "http://matthiware.dev/UpdateLib/Dev/updatefile.xml";
23-
updater.CheckForUpdatesCompleted += Updater_CheckForUpdatesCompleted;
24-
25-
updater.Initialize();
26-
}
27-
28-
private void Updater_CheckForUpdatesCompleted(object sender, CheckForUpdatesCompletedEventArgs e)
29-
{
30-
if (e.Cancelled)
31-
Logger.Debug(nameof(Updater), "Cancelled");
32-
33-
if (e.Error != null)
34-
Logger.Error(nameof(Updater), e.Error);
35-
36-
Logger.Debug(nameof(Updater), $"Version: {e.LatestVersion}");
37-
Logger.Debug(nameof(Updater), $"Update available: {e.UpdateAvailable}");
22+
Updater.Instance.CheckForUpdatesCompleted += Instance_CheckForUpdatesCompleted;
3823
}
3924

40-
private void button1_Click(object sender, EventArgs e)
25+
private void Instance_CheckForUpdatesCompleted(object sender, CheckForUpdatesCompletedEventArgs e)
4126
{
42-
DialogResult result = new MessageDialog(
43-
"Test title",
44-
"Version 1.0.0.0 available",
45-
"Download update now?\nPress yes to download or no to cancel.", SystemIcons.Question, MessageBoxButtons.YesNoCancel).ShowDialog(this);
27+
this.InvokeOnUI(() => checkForUpdatesToolStripMenuItem.Enabled = true);
4628

47-
if (result == DialogResult.Yes)
29+
if (e.Cancelled || e.Error != null)
4830
{
49-
UpdateFile updateFile = new UpdateFile();
50-
updateFile.VersionString = "1.0.0.0";
51-
updateFile.ApplicationDirectory.Files.Add(new FileEntry("test"));
52-
updateFile.ApplicationDirectory.Files.Add(new FileEntry("Updater.exe"));
53-
updateFile.ApplicationDirectory.Files.Add(new FileEntry("App.exe"));
31+
this.InvokeOnUI(() => MessageDialog.Show(
32+
this,
33+
"Updater",
34+
e.Cancelled ? "Cancelled" : "Error",
35+
e.Cancelled ? "Update got cancelled" : "Please check the logs for more information.",
36+
e.Cancelled ? SystemIcons.Warning : SystemIcons.Error,
37+
MessageBoxButtons.OK));
38+
39+
return;
40+
}
5441

55-
UpdaterForm updateForm = new UpdaterForm(updateFile);
56-
updateForm.ShowDialog(this);
42+
if (!e.UpdateAvailable)
43+
{
44+
this.InvokeOnUI(() =>
45+
MessageDialog.Show(
46+
this,
47+
"Updater",
48+
"No update available!",
49+
$"You already have the latest version ({e.LatestVersion}).",
50+
SystemIcons.Information,
51+
MessageBoxButtons.OK));
52+
53+
return;
5754
}
5855
}
5956

60-
private void button2_Click(object sender, EventArgs e)
57+
private void checkForUpdatesToolStripMenuItem_Click(object sender, EventArgs e)
6158
{
62-
UpdateFile updateFile = new UpdateFile();
63-
updateFile.VersionString = "1.0.0.0";
64-
updateFile.ApplicationDirectory.Files.Add(new FileEntry("test"));
65-
updateFile.ApplicationDirectory.Files.Add(new FileEntry("Updater.exe"));
66-
updateFile.ApplicationDirectory.Files.Add(new FileEntry("App.exe"));
67-
68-
UpdaterForm updateForm = new UpdaterForm(updateFile);
69-
updateForm.ShowDialog(this);
70-
}
59+
checkForUpdatesToolStripMenuItem.Enabled = false;
7160

72-
private void button3_Click(object sender, EventArgs e)
73-
{
74-
UpdateFile file = UpdateFile.Load("../../../MatthiWare.UpdateLib.Generator/bin/Debug/Output/updatefile.xml");
75-
UpdaterForm updaterForm = new UpdaterForm(file);
76-
updaterForm.ShowDialog(this);
61+
Updater.Instance.CheckForUpdatesAsync();
7762
}
7863

79-
private void button4_Click(object sender, EventArgs e)
64+
private void Form1_Load(object sender, EventArgs e)
8065
{
81-
updater.CheckForUpdates();
66+
label1.Text = ReadFile("data/testfile1.txt");
67+
label2.Text = ReadFile("data/testfile2.txt");
68+
label3.Text = ReadFile("data/testfile3.txt");
8269
}
8370

84-
private void Form1_Load(object sender, EventArgs e)
71+
private string ReadFile(string file)
8572
{
86-
Action<object> test = new Action<object>((o) => { });
87-
88-
Func<int, bool> test2 = new Func<int, bool>((i) => { return i%2==0; });
73+
string[] lines = File.ReadAllLines(file);
8974

90-
AsyncTask<bool> task = AsyncTaskFactory.StartNew<bool>(test2, 2);
91-
Console.WriteLine(task.GetType().FullName);
92-
75+
return string.Join(", ", lines);
9376
}
9477
}
9578
}

UpdateLib/TestApp/Form1.resx

Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,4 +117,122 @@
117117
<resheader name="writer">
118118
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
119119
</resheader>
120+
<metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
121+
<value>17, 17</value>
122+
</metadata>
123+
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
124+
<data name="newToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
125+
<value>
126+
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
127+
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAERSURBVDhPrZDbSgJRGIXnpewd6jXsjSQvIrwoI0RQMChU
128+
0iiDPCGiE3ZCRkvR8VzTeBhnyR5/ccaZNnPhB4t9sdf6Ln5hb8QeathNJFVFKF5C8DqL4ksDVHWGDf7j
129+
LHyPg6NjviSaFqlu5yQYR+KpupaIkrMknCxT3Y7v/NYYb0ITK1c3BarbWWhLQ7IR0cTKReyZ6lZ0XYei
130+
ztHpK4bAc+h1FgQijzSxMptrGIxVSO0xX3AaStFki7bUMVFmaMm/eJMGfIH/MkGzLep0AXn4h/r3CJV3
131+
mS9gn2bY4UY/UzQ7E9TqfeTFtnuB+XAfzSHKr11kSl/uBebDiZ89ZCst3OUkdwL28sIVsE83ock+EIQV
132+
2Mz2wxeg6/UAAAAASUVORK5CYII=
133+
</value>
134+
</data>
135+
<data name="openToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
136+
<value>
137+
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
138+
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJHSURBVDhPxZBdSNNhFMb/F110ZZEVhVBgeeHNICiiuggp
139+
olAUyyxI0oSaH1QYC3N+tKnp5ubm1JUua5uuqdNKMwr7kApFItTUkWZqVhSVYmao5Nevvy7UoYR3HXh4
140+
4XCe33nOKyy3lAY7l9RWMo0O/raWXxEyo5spVYTNvOGyfIRPfW+ptOkXqaPl6T83hcRmExSdgzAz3NVm
141+
YWyoYla/B+1M9JtxWLPpaH22JORIjI6gKAMB0jyEimIdo4OlbuaprwVMOOMovammpDADc34qppwUrmnl
142+
5Kni3aFlFg2j3y1z5mnRTJccnNIltQhwq0jFry+mOXNtpWZWDx1Z1NhV3C3JwGFOw25SYjVe5oYhiUKd
143+
HKMmwQUrMWUw/CF3NnZvvYKqUh1TvUroS3fXe7HXkwidMngTS2t5KLbregSzMY2f3Wr4qKW6LJvGR1rX
144+
0MLor8OhKYTJBn/GHvvxrliCTBrsOqXIoOBHh5K+hmSq7FqmexTQHuUytkaKxuNMNgYyVneA4Qd7GKjc
145+
hjLaRzxH7gIU6JIZaEvgtk1D8wsxSWecCDgNzWFMvwxm/PkhRmr3Mli1nW9lvjRdWc0Jf+/5jzRmyWmv
146+
S+GOLQu6U6BFjPvqKOP1AYw88WOoZif9DgmfLVtxaj1RSLdwNvrkPCA3M54KqxrnvRia9MKcGrUrqFOt
147+
5H7qKsqT1mGO9+Lqhc2ELdw+U/r0i+gVZ8hMiCDx3DHORwZyKnQ/hw/uYt9uCTskPvh6e7Fp41rWr/Fg
148+
g6eHO+A/lyD8ARfG3mk9fv1YAAAAAElFTkSuQmCC
149+
</value>
150+
</data>
151+
<data name="saveToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
152+
<value>
153+
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
154+
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIySURBVDhPrZLfS5NRGMfff6H7boIuuq2pMZyL1eAt11CW
155+
DcOKsB9vpFmaLtNExco0av6CbIVLJ61Wk3BSkT/AFCkRZSpZmrmiJQ41xSaCwdfznL15XEUX0Reem5f3
156+
8znnec4j/Zc8fxYGla91CS3eRTx0z6OpMYS7jmnU1X6B/VYA18snUVoyjsKCt8jLHcH5c36ouCQR2NUJ
157+
1Nas4G9ZXlmFKbULh1Kf8lJxSfI+WeCCyopv6q+/h+DQ/DJ2WV5Ao1FgPegRAveDOS4oLfmq/h6dn/DH
158+
4AJizD4UXJrCAUuzEDgbZrjgou2DiohshIcnQtgme5GTPYbkJKcQ1N8OckHW2REVi+RXuM8fxGaDG4oy
159+
ALPZIQQ11Z+5QDk1oKJ/hjv7P2FTfCMOH3mFxMQ6IbhROYWOdrCnBI4dfwPr0V4+bRoY9UzXppMjcDdS
160+
rC8hy3YhuFI2gTYf2A4Aza4f7N2/o/zaLB8qDYx6zszwr8P7k1thNFYIweXCMXgeAfedq2xxwjClZUeV
161+
Jd2GtDNFETiJwfs8MBjKhMCWN8pgoLoqzE8miH1GjE7G4PsZjE7OQsm9ij2mFg7rdrug1xcJAa2l4w7W
162+
r00Cgk/n38S7wBwC04u4UGxHrMHF4CbEJtyDLj5fCDIzhljfSxzeavRgyw4Zj9t64GvvQ0d3P3pfD2Kv
163+
2QqNvgFxDN6urYdWmyMElJMnevh60obRktA701PRtGlg1DOdSkXwzrisaMG/RZLWAE60OMW5fNhvAAAA
164+
AElFTkSuQmCC
165+
</value>
166+
</data>
167+
<data name="printToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
168+
<value>
169+
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
170+
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIpSURBVDhPtZL/T1JRGMb5p1itrVZbbRpqZbawnBENV1I0
171+
jGlByTSyJTXJwq2oKZQb1KAv6JCYWSxvBrkkZUq4CeQEiRABFeLL072Xa0zRra31bO8v57zP5znnPYf1
172+
X+TxhWF6O7VtGYcnwbSWijKPOLzYrPSvLPwLS3huGUMlT7o9wGD9grVUBj+icdid03S9tDmgNxNwTgVQ
173+
J+rA8XNtWwM+uuZATMwxmQVRycuJFNyzIRitDlScugKzjSgFRGJJaIwEsrk8AsHIhnSL/Ssck37UNipQ
174+
I5DjtuYV7uksRYhr2kebhx2eP6nrycFIEh5fBA/1Nvru8q5+PDaOovK0rABwfwugWzcErfkzHhjsePL6
175+
E7q1VrTdNUDcrgGvSYlDZHN5XTNOnL8BVe8AJAoNDtZfLgDu9L1BPJmikzcrk81hlRwodZJwdBXziwnI
176+
OrVoaOkiT8C8hKLHBPO7CbywOaE1jeC+bhAd6meQdvZC1KoG/5IS3MZ2HObLUHZSggvkWq3wOvbWiAqA
177+
VpWeyStVfCUNf3AZ4zNhfHCFMEDMgye+hYr6FrDLzxQAUuVTpr0ocn74mchg5vsKRt1RcHp2Qv9+kZ78
178+
UcE17KkWFgHNN/uQzgBkGKLJPBZiecyGchjzrmFwPIF++xJUbDbUQzEacIArLpopSRSP4CUN1Obf1Abz
179+
uqob5KjiXwWH/GVl5HPt5zZh37GL2H1EiF1VZ7GDI6CNW5r/TSzWbwHYL0mKJ5czAAAAAElFTkSuQmCC
180+
</value>
181+
</data>
182+
<data name="printPreviewToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
183+
<value>
184+
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
185+
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGCSURBVDhPnZK9S0JRGMb9F1xb2gqaq6mhwCGDtvYIIyLI
186+
cJOE1paoIYpMKUjFRDH87lpoakGlIZF9DA2hZJEQhJXl1xPn3HPV29WQfvBwOfA+P95zuDJ39A6/4wyl
187+
YOOSMHvOcHGThuwvSKEVRvsR+pQqWD3R1pK98DUbl7Jm5hA8SfESd6S5xH5wycalrO4E0D8yWQuriLH6
188+
E2xcSqlcoRJBxCpiTO5TNi4m/ZgDF4nDsOulsfujyGRzUsmWM8YqdcggKbveS3A88bEkslRye58RSzZt
189+
IVarY/FFaPmlwp+fUaESYRNW5Vm3BPmpBpZNvppACDmTLbS6FbGAPFAj5OGI4PALOK/yZfIlAlk4j7n5
190+
xdaCarWKj0KRXmE2+UklJEJZZ/RCPTPdWvBdLOP1rYD41QNcgRiVkKJQ1mjGsa2VNxeQb2OWDC7sh47p
191+
ddQLeoyOTSFiVAAFvVhChsmv2k6Uvd3Icx1UolMNiDdpl4nhLiohW/xb0tMph2JwCJxjAz9A30JI8zYA
192+
tAAAAABJRU5ErkJggg==
193+
</value>
194+
</data>
195+
<data name="cutToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
196+
<value>
197+
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
198+
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGDSURBVDhPrZFNSwJRGIX9NYGbFoUlFElY1EJQKEYhCJsi
199+
LaVsERnRF5iCaSZJO1toCDVGFkgoFpWQWWRR2aIvUxm1BKN1wSnHCFw4TOCzue+9nPNw4eVVnav4Izzb
200+
QfxeGZ5TWaxT/rK3irzmC7CsusvC1G4IkbNLboIiDieF4GGUKeTeClDpppF8eeEu2PIfwfrzizSdw3Hk
201+
EnKlFpkMzV2wH77AosOFTV8A+vkl9CiHuJeLJNNZjM8tYWB0FkTvMAwmy/8ERTR6CwjlGAi1Ccence6C
202+
1NsXzN4PKIxJLLgeIJ2MoXvmFraNBKK3eXZRIveJPvs7FIYniEkXZENOdE+GIZ2Ko10TwLK7tJmKmL0F
203+
EEYarYM+NMnt0C1sQzpx/lcSEnZ2gcKY/gs0dlmZuWvmjjmpwA1qxVp2AWFIMAF/OAGBzMjMI7ZrtJCb
204+
4Df3o4Zfxy7QrdxDRFKol5khkpR2H4qmIOzUQNBGwrsXYxccnNOQqNbQ0KGGZ+eEPVwdeLxvqqrf4wGh
205+
TNAAAAAASUVORK5CYII=
206+
</value>
207+
</data>
208+
<data name="copyToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
209+
<value>
210+
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
211+
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHkSURBVDhPvZHfS1NhHIf3p5QypLr2D4goMwoMCi/qIugH
212+
Xe1Cr7qKDIMkZixwNhfWLGWbnuki0kXKzLU023KubBNPJrbRdOzocm6e2dPOO21mMS+CHvjcvOf9PF++
213+
79H9M+7RT2iRRsIi9sEAXe43yAvf2LpSHq28G9uAnytNT4jMLewtcQ2Ht2pF8ps/aOt+gccX5lxD694S
214+
+1BQFD1RkN5DSFa4Z3uONKbgHE3h8KZ4OJTC1J8UiSzmfhd2uf1CoJHbyKOsZokl0kKwm+aeJaov+wjO
215+
rpQkVqdXfOz0bWAcVLghfaXxkUz3y2VxvpMGSwL3uMKh+gHezSSLEnNhX23vtYzKUirDfGyFj/Iy1mdx
216+
UWqR8iKhwtQLxjgH659y4EwvVXWPiwJt3/Ws+muywRrlqvkDdx3zQrCN8l1ldnEd3/QqFmkS/akHJYGS
217+
zjLzOUEwEsMf+sLI2zmaOou/93pPGoM5zvk7UU7fnBKxSBPoT7SXBNW1F/9Io2lKCNTCeomUyrS8xnBA
218+
wfUqyf1eP5U1ptJD/o1LzeNCsHPydtqdr6k4aiwvOHvNSya3ibU/QIdrEkvfhJislc32MfYfuV1eUGPw
219+
FF7bIVJVZ0N/soPK421UHGstlFvYd/hWecF/Qqf7CR0A5wwgSQA2AAAAAElFTkSuQmCC
220+
</value>
221+
</data>
222+
<data name="pasteToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
223+
<value>
224+
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
225+
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJSSURBVDhPtZJrSJNRGMdf6IN9KbpQn/pUEH2JIoLqQ0Zh
226+
FqYZRmJG1iKmUqKyLB2pqSm6vC1Nm5GXoeatEsVJ0RASR3eNzegikRq5lrV3857Fr/d9ddlICoL+8OfA
227+
Oef/e57zcIT/os7WLMw302muSGJ2689qqi7A44q8IzjtNYzarzHQm8tZtT8FmRqu6LToMxN+B8qhCbGR
228+
KVcDE85ajKUaxoaryEuL4UVXIudPB5Ko2oy98xjDptXERuz3hsgAOTzlqqMk6yjdllzE90UM9Wp5azlB
229+
S1kwkeG+1CSv4mmBQPThfd6Ahqq8GYB4A11yBKmaMLQxoZyLDkGjDiZOFUhUuB+FsWsUQFiArzegtlzH
230+
pFjPpMPA2GA2jucx2KqWK7ZWLqO7dBGP9D5KWLbfto3eAKMhi3FHBeP9GYy9PMXos4OIrYvJrzSRbWjm
231+
wuV6EnVG4tLLiEzSExGf4w0oL05nZEDPaK+akceBuO9v4uPtFUrYo6npbzhdE/QPOQmNSiPouHYOUpaf
232+
gvgqA/dDf9wd63G1r2SgUlAqyyq/1anYUGfG2mdXwne7bOwJUc1AinOS+NxzBpd5HWLbUhyNPvRdF5S2
233+
v05/54tbqvzBifWNHUvPOwLC4/CXwrv2HsB3+w6EwosJOB5ESeElfGpayGD1AmwlArHSm+W2PR1clToo
234+
MrbT0mFTVtlbN6xFuJQar3wQz5Q9VksD+7XyPctrJdx4p5s605M5gKz8lJPSDwtGFbKboJ1blAN52vKb
235+
PdXm80/AfDokTVu+8DfPXv9XCcIPTvjvLQ8YoakAAAAASUVORK5CYII=
236+
</value>
237+
</data>
120238
</root>

UpdateLib/TestApp/Program.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ static void Main()
2727
private static void InitializeUpdater()
2828
{
2929
Updater.Instance.Initialize();
30+
Updater.Instance.UpdateURL = "https://raw.githubusercontent.com/MatthiWare/UpdateLib.TestApp.UpdateExample/master/Dev/updatefile.xml";
31+
//Updater.Instance.UpdateURL = "http://matthiware.dev/UpdateLib/Dev/updatefile.xml";
3032
}
3133

3234
private static void SetupLogging()

UpdateLib/TestApp/TestApp.csproj

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,17 @@
8282
<Name>UpdateLib</Name>
8383
</ProjectReference>
8484
</ItemGroup>
85+
<ItemGroup>
86+
<Content Include="data\testfile1.txt">
87+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
88+
</Content>
89+
<Content Include="data\testfile2.txt">
90+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
91+
</Content>
92+
<Content Include="data\testfile3.txt">
93+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
94+
</Content>
95+
</ItemGroup>
8596
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
8697
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
8798
Other similar extension points exist, see Microsoft.Common.targets.

UpdateLib/TestApp/data/testfile1.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
This is testfile1.

UpdateLib/TestApp/data/testfile2.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
This is testfile2.

UpdateLib/TestApp/data/testfile3.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
This is testfile3.

UpdateLib/UpdateLib.Generator/Data/FilesPage/GenFile.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,20 @@ namespace MatthiWare.UpdateLib.Generator.Data.FilesPage
88
{
99
public class GenFile
1010
{
11-
private FileInfo m_file;
11+
public FileInfo FileInfo { get; set; }
1212

13-
public string Name { get { return m_file.Name; } }
14-
public string RealPath { get { return m_file.FullName; } }
15-
public string Extension { get { return m_file.Extension; } }
16-
public string Size { get { return ConvertBytesToSizeString(m_file.Length); } }
13+
public string Name { get { return FileInfo.Name; } }
14+
public string RealPath { get { return FileInfo.FullName; } }
15+
public string Extension { get { return FileInfo.Extension; } }
16+
public string Size { get { return ConvertBytesToSizeString(FileInfo.Length); } }
1717

1818
public GenFolder ParentFolder { get; set; }
1919

2020
public ListViewItemFile FileListView { get; set; }
2121

2222
public GenFile(FileInfo file)
2323
{
24-
m_file = file;
24+
FileInfo = file;
2525

2626
FileListView = new ListViewItemFile(file);
2727
}

UpdateLib/UpdateLib.Generator/Data/FilesPage/GenFolder.cs

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,37 @@ namespace MatthiWare.UpdateLib.Generator.Data.FilesPage
88
public class GenFolder
99
{
1010
public string Name { get; set; }
11+
public string PathVariable { get; set; }
1112
public List<GenFile> Files { get; private set; } = new List<GenFile>();
1213
public List<GenFolder> Directories { get; private set; } = new List<GenFolder>();
1314
public GenFolder ParentFolder { get; set; }
1415
public bool IsRoot { get { return ParentFolder == null; } }
15-
16+
public bool ProtectedFolder { get; set; } = false;
1617

1718
public ListViewItemFolder FolderListView { get; set; }
1819
public TreeViewFolderNode FolderTreeView { get; set; }
1920

21+
public int Count
22+
{
23+
get
24+
{
25+
int x = Files.Count;
26+
foreach (GenFolder f in Directories)
27+
x += f.Count;
28+
29+
return x;
30+
}
31+
}
2032

21-
public GenFolder(string name)
33+
public GenFolder(string name, GenFolder parent)
2234
{
2335
Name = name;
36+
ParentFolder = parent;
37+
38+
ParentFolder?.Directories.Add(this);
39+
40+
FolderListView = new ListViewItemFolder(name, this);
41+
FolderTreeView = new TreeViewFolderNode(name, this);
2442
}
2543

2644
}

UpdateLib/UpdateLib.Generator/Data/TreeViewFolderNode.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@ public class TreeViewFolderNode : TreeNode
1313

1414
public GenFolder Folder { get; set; }
1515

16-
public TreeViewFolderNode(string folderName, GenFolder folder)
16+
public TreeViewFolderNode(string folderName, GenFolder folder, string imageKey = FOLDER_KEY)
1717
{
1818
Text = folderName;
19-
ImageKey = FOLDER_KEY;
20-
SelectedImageKey = FOLDER_KEY;
19+
ImageKey = imageKey;
20+
SelectedImageKey = imageKey;
2121
Folder = folder;
2222
}
2323

0 commit comments

Comments
 (0)