From 0f79f66e7d9cb7fb77d5b6ff8b75e5049d10f5eb Mon Sep 17 00:00:00 2001 From: founderio Date: Wed, 28 Jan 2015 20:44:20 +0100 Subject: [PATCH] Fixes #1, Added Icon, Auto-Reloading of files on change, Fixes display of reloaded files not updating --- EDRoutePlanner/CommoditySelection.Designer.cs | 12 +- EDRoutePlanner/CommoditySelection.cs | 66 +++++----- EDRoutePlanner/CsvReader.cs | 6 +- EDRoutePlanner/DefaultsForm.Designer.cs | 24 ++-- EDRoutePlanner/DefaultsForm.cs | 15 ++- EDRoutePlanner/EDRoutePlanner.csproj | 50 ++++++++ EDRoutePlanner/EDRoutePlanner.csproj.user | 11 ++ EDRoutePlanner/MainScreen.Designer.cs | 94 ++++++++------ EDRoutePlanner/MainScreen.cs | 36 +++++- EDRoutePlanner/MainScreen.resx | 6 + EDRoutePlanner/Properties/AssemblyInfo.cs | 4 +- .../Properties/Resources.Designer.cs | 7 ++ EDRoutePlanner/Properties/Resources.resx | 3 + EDRoutePlanner/Resources/Icon.ico | Bin 0 -> 1444270 bytes EDRoutePlanner/Resources/Icon.svg | 119 ++++++++++++++++++ .../Resources/IconsExport/Icon_128.png | Bin 0 -> 6038 bytes .../Resources/IconsExport/Icon_16.png | Bin 0 -> 584 bytes .../Resources/IconsExport/Icon_24.png | Bin 0 -> 926 bytes .../Resources/IconsExport/Icon_256.png | Bin 0 -> 11957 bytes .../Resources/IconsExport/Icon_32.png | Bin 0 -> 1295 bytes .../Resources/IconsExport/Icon_512.png | Bin 0 -> 25401 bytes .../Resources/IconsExport/Icon_64.png | Bin 0 -> 2895 bytes EDRoutePlanner/StationControl.Designer.cs | 14 +-- EDRoutePlanner/StationControl.cs | 2 +- EDRoutePlanner/StationSelection.Designer.cs | 8 +- EDRoutePlanner/StationSelection.cs | 8 +- EDRoutePlanner/Util.cs | 47 +++++++ 27 files changed, 422 insertions(+), 110 deletions(-) create mode 100644 EDRoutePlanner/Resources/Icon.ico create mode 100644 EDRoutePlanner/Resources/Icon.svg create mode 100644 EDRoutePlanner/Resources/IconsExport/Icon_128.png create mode 100644 EDRoutePlanner/Resources/IconsExport/Icon_16.png create mode 100644 EDRoutePlanner/Resources/IconsExport/Icon_24.png create mode 100644 EDRoutePlanner/Resources/IconsExport/Icon_256.png create mode 100644 EDRoutePlanner/Resources/IconsExport/Icon_32.png create mode 100644 EDRoutePlanner/Resources/IconsExport/Icon_512.png create mode 100644 EDRoutePlanner/Resources/IconsExport/Icon_64.png create mode 100644 EDRoutePlanner/Util.cs diff --git a/EDRoutePlanner/CommoditySelection.Designer.cs b/EDRoutePlanner/CommoditySelection.Designer.cs index 63640b9..e51d02e 100644 --- a/EDRoutePlanner/CommoditySelection.Designer.cs +++ b/EDRoutePlanner/CommoditySelection.Designer.cs @@ -61,7 +61,7 @@ private void InitializeComponent() this.btnUseSelected.Location = new System.Drawing.Point(255, 500); this.btnUseSelected.Name = "btnUseSelected"; this.btnUseSelected.Size = new System.Drawing.Size(138, 23); - this.btnUseSelected.TabIndex = 4; + this.btnUseSelected.TabIndex = 1; this.btnUseSelected.Text = "Use Selected Commodity"; this.btnUseSelected.UseVisualStyleBackColor = true; this.btnUseSelected.Click += new System.EventHandler(this.btnUseSelected_Click); @@ -73,7 +73,7 @@ private void InitializeComponent() this.btnCancel.Location = new System.Drawing.Point(399, 500); this.btnCancel.Name = "btnCancel"; this.btnCancel.Size = new System.Drawing.Size(75, 23); - this.btnCancel.TabIndex = 3; + this.btnCancel.TabIndex = 0; this.btnCancel.Text = "Cancel"; this.btnCancel.UseVisualStyleBackColor = true; this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click); @@ -94,7 +94,7 @@ private void InitializeComponent() this.listView1.Location = new System.Drawing.Point(12, 12); this.listView1.Name = "listView1"; this.listView1.Size = new System.Drawing.Size(462, 482); - this.listView1.TabIndex = 5; + this.listView1.TabIndex = 2; this.listView1.UseCompatibleStateImageBehavior = false; this.listView1.View = System.Windows.Forms.View.Details; this.listView1.SelectedIndexChanged += new System.EventHandler(this.listView1_SelectedIndexChanged); @@ -138,7 +138,7 @@ private void InitializeComponent() 0}); this.numericUpDown1.Name = "numericUpDown1"; this.numericUpDown1.Size = new System.Drawing.Size(76, 20); - this.numericUpDown1.TabIndex = 6; + this.numericUpDown1.TabIndex = 3; this.numericUpDown1.ValueChanged += new System.EventHandler(this.numericUpDown1_ValueChanged); // // label1 @@ -148,7 +148,7 @@ private void InitializeComponent() this.label1.Location = new System.Drawing.Point(78, 505); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(89, 13); - this.label1.TabIndex = 7; + this.label1.TabIndex = 4; this.label1.Text = "Amount (0 = max)"; // // CommoditySelection @@ -163,7 +163,9 @@ private void InitializeComponent() this.Controls.Add(this.btnCancel); this.MinimizeBox = false; this.Name = "CommoditySelection"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; this.Text = "Select a Commodity"; + this.Load += new System.EventHandler(this.CommoditySelection_Load); ((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).EndInit(); this.ResumeLayout(false); this.PerformLayout(); diff --git a/EDRoutePlanner/CommoditySelection.cs b/EDRoutePlanner/CommoditySelection.cs index c1c5cb0..dce9fb1 100644 --- a/EDRoutePlanner/CommoditySelection.cs +++ b/EDRoutePlanner/CommoditySelection.cs @@ -38,39 +38,9 @@ public CommoditySelection(MainScreen mainScreen) { this.mainScreen = mainScreen; InitializeComponent(); - updateDisplay(); } - private void btnUseSelected_Click(object sender, EventArgs e) - { - this.DialogResult = DialogResult.OK; - } - - private void btnCancel_Click(object sender, EventArgs e) - { - this.DialogResult = DialogResult.Cancel; - } - - private void listView1_SelectedIndexChanged(object sender, EventArgs e) - { - if (listView1.SelectedItems.Count == 0) - { - btnUseSelected.Enabled = false; - } - else - { - btnUseSelected.Enabled = true; - selectedCommodity = listView1.SelectedItems[0].Text; - } - } - - private void numericUpDown1_ValueChanged(object sender, EventArgs e) - { - selectedAmount = (int)numericUpDown1.Value; - updateDisplay(); - } - - public void updateDisplay() + public void UpdateDisplay() { listView1.Items.Clear(); listView1.Groups.Clear(); @@ -132,6 +102,35 @@ public void updateDisplay() } } + private void btnUseSelected_Click(object sender, EventArgs e) + { + this.DialogResult = DialogResult.OK; + } + + private void btnCancel_Click(object sender, EventArgs e) + { + this.DialogResult = DialogResult.Cancel; + } + + private void listView1_SelectedIndexChanged(object sender, EventArgs e) + { + if (listView1.SelectedItems.Count == 0) + { + btnUseSelected.Enabled = false; + } + else + { + btnUseSelected.Enabled = true; + selectedCommodity = listView1.SelectedItems[0].Text; + } + } + + private void numericUpDown1_ValueChanged(object sender, EventArgs e) + { + selectedAmount = (int)numericUpDown1.Value; + UpdateDisplay(); + } + private void listView1_DoubleClick(object sender, EventArgs e) { submit(); @@ -153,5 +152,10 @@ private void listView1_KeyDown(object sender, KeyEventArgs e) submit(); } } + + private void CommoditySelection_Load(object sender, EventArgs e) + { + this.Icon = Properties.Resources.Icon; + } } } diff --git a/EDRoutePlanner/CsvReader.cs b/EDRoutePlanner/CsvReader.cs index 4430b65..228c0c5 100644 --- a/EDRoutePlanner/CsvReader.cs +++ b/EDRoutePlanner/CsvReader.cs @@ -26,6 +26,7 @@ public class CsvReader private string path; private TextReader reader; + private FileStream fs; public CsvReader(string path) { @@ -36,7 +37,8 @@ public void Open() { if (path != null && File.Exists(path)) { - reader = new StreamReader(path); + fs = File.Open(path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); + reader = new StreamReader(fs); } } @@ -46,6 +48,8 @@ public void Close() { reader.Close(); reader = null; + fs.Close(); + fs = null; } } diff --git a/EDRoutePlanner/DefaultsForm.Designer.cs b/EDRoutePlanner/DefaultsForm.Designer.cs index 3f4bb47..55e1dc8 100644 --- a/EDRoutePlanner/DefaultsForm.Designer.cs +++ b/EDRoutePlanner/DefaultsForm.Designer.cs @@ -85,7 +85,7 @@ private void InitializeComponent() this.btnReload.Location = new System.Drawing.Point(12, 96); this.btnReload.Name = "btnReload"; this.btnReload.Size = new System.Drawing.Size(157, 23); - this.btnReload.TabIndex = 2; + this.btnReload.TabIndex = 7; this.btnReload.Text = "Reload Defaults from Disk"; this.btnReload.UseVisualStyleBackColor = true; this.btnReload.Click += new System.EventHandler(this.btnReload_Click); @@ -97,7 +97,7 @@ private void InitializeComponent() this.tbStationData.Location = new System.Drawing.Point(166, 41); this.tbStationData.Name = "tbStationData"; this.tbStationData.Size = new System.Drawing.Size(263, 20); - this.tbStationData.TabIndex = 3; + this.tbStationData.TabIndex = 4; // // cbTypeStation // @@ -110,7 +110,7 @@ private void InitializeComponent() this.cbTypeStation.Location = new System.Drawing.Point(497, 41); this.cbTypeStation.Name = "cbTypeStation"; this.cbTypeStation.Size = new System.Drawing.Size(121, 21); - this.cbTypeStation.TabIndex = 4; + this.cbTypeStation.TabIndex = 6; // // tbCommodityData // @@ -119,7 +119,7 @@ private void InitializeComponent() this.tbCommodityData.Location = new System.Drawing.Point(166, 12); this.tbCommodityData.Name = "tbCommodityData"; this.tbCommodityData.Size = new System.Drawing.Size(263, 20); - this.tbCommodityData.TabIndex = 5; + this.tbCommodityData.TabIndex = 2; // // label1 // @@ -127,7 +127,7 @@ private void InitializeComponent() this.label1.Location = new System.Drawing.Point(29, 15); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(131, 13); - this.label1.TabIndex = 6; + this.label1.TabIndex = 0; this.label1.Text = "Load commodity data from"; // // label2 @@ -137,7 +137,7 @@ private void InitializeComponent() this.label2.Location = new System.Drawing.Point(473, 15); this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(88, 13); - this.label2.TabIndex = 7; + this.label2.TabIndex = 0; this.label2.Text = "as Cmdrs Log txt."; // // btnBrowseCommodity @@ -146,7 +146,7 @@ private void InitializeComponent() this.btnBrowseCommodity.Location = new System.Drawing.Point(435, 10); this.btnBrowseCommodity.Name = "btnBrowseCommodity"; this.btnBrowseCommodity.Size = new System.Drawing.Size(32, 23); - this.btnBrowseCommodity.TabIndex = 8; + this.btnBrowseCommodity.TabIndex = 3; this.btnBrowseCommodity.Text = "..."; this.btnBrowseCommodity.UseVisualStyleBackColor = true; this.btnBrowseCommodity.Click += new System.EventHandler(this.btnBrowseCommodity_Click); @@ -157,7 +157,7 @@ private void InitializeComponent() this.buttonBrowseStation.Location = new System.Drawing.Point(435, 39); this.buttonBrowseStation.Name = "buttonBrowseStation"; this.buttonBrowseStation.Size = new System.Drawing.Size(32, 23); - this.buttonBrowseStation.TabIndex = 9; + this.buttonBrowseStation.TabIndex = 5; this.buttonBrowseStation.Text = "..."; this.buttonBrowseStation.UseVisualStyleBackColor = true; this.buttonBrowseStation.Click += new System.EventHandler(this.buttonBrowseStation_Click); @@ -169,7 +169,7 @@ private void InitializeComponent() this.label3.Location = new System.Drawing.Point(473, 44); this.label3.Name = "label3"; this.label3.Size = new System.Drawing.Size(18, 13); - this.label3.TabIndex = 10; + this.label3.TabIndex = 0; this.label3.Text = "as"; // // label4 @@ -178,7 +178,7 @@ private void InitializeComponent() this.label4.Location = new System.Drawing.Point(12, 44); this.label4.Name = "label4"; this.label4.Size = new System.Drawing.Size(148, 13); - this.label4.TabIndex = 11; + this.label4.TabIndex = 0; this.label4.Text = "Load station && trade data from"; // // DefaultsForm @@ -200,8 +200,12 @@ private void InitializeComponent() this.Controls.Add(this.btnReload); this.Controls.Add(this.btnSave); this.Controls.Add(this.btnCancel); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; + this.MinimizeBox = false; this.Name = "DefaultsForm"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; this.Text = "Defaults"; + this.Load += new System.EventHandler(this.DefaultsForm_Load); this.ResumeLayout(false); this.PerformLayout(); diff --git a/EDRoutePlanner/DefaultsForm.cs b/EDRoutePlanner/DefaultsForm.cs index e7324e9..e4bb0dc 100644 --- a/EDRoutePlanner/DefaultsForm.cs +++ b/EDRoutePlanner/DefaultsForm.cs @@ -84,14 +84,8 @@ private void btnCancel_Click(object sender, EventArgs e) private string openFile(string previous) { OpenFileDialog ofd = new OpenFileDialog(); - try - { - ofd.FileName = previous; - ofd.InitialDirectory = new FileInfo(previous).Directory.FullName; - } - catch (ArgumentException) { } - catch (PathTooLongException) { } - catch (NotSupportedException) { } + ofd.FileName = previous; + ofd.InitialDirectory = Util.GetFileDirectorySafe(previous); if (ofd.ShowDialog(this) == DialogResult.OK) { return ofd.FileName; @@ -101,5 +95,10 @@ private string openFile(string previous) return previous; } } + + private void DefaultsForm_Load(object sender, EventArgs e) + { + this.Icon = Properties.Resources.Icon; + } } } diff --git a/EDRoutePlanner/EDRoutePlanner.csproj b/EDRoutePlanner/EDRoutePlanner.csproj index a3c0bb2..b7aac2b 100644 --- a/EDRoutePlanner/EDRoutePlanner.csproj +++ b/EDRoutePlanner/EDRoutePlanner.csproj @@ -12,6 +12,22 @@ EDRoutePlanner v3.5 512 + Resources\Icon.ico + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true true @@ -130,6 +146,7 @@ StationSelection.cs + @@ -150,8 +167,41 @@ + + + + + + + + + + + + + + False + .NET Framework 2.0 %28x86%29 + false + + + False + .NET Framework 3.0 %28x86%29 + false + + + False + .NET Framework 3.5 + true + + + False + Windows Installer 3.1 + true + + 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 m!6 + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/EDRoutePlanner/Resources/IconsExport/Icon_128.png b/EDRoutePlanner/Resources/IconsExport/Icon_128.png new file mode 100644 index 0000000000000000000000000000000000000000..de2992466c83ebe74de853fe871d7d215ac9216b GIT binary patch literal 6038 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 Q_5c6?07*qoM6N<$g5Sq(WB>pF literal 0 HcmV?d00001 diff --git a/EDRoutePlanner/Resources/IconsExport/Icon_16.png b/EDRoutePlanner/Resources/IconsExport/Icon_16.png new file mode 100644 index 0000000000000000000000000000000000000000..288e7e9cdc3e1e65bc073d98038c16d9ffa86703 GIT binary patch literal 584 zcmV-O0=NB%P)a)|kbyJUp-X|sZtJvX(FXsWK)GTM-1pl? zcd%mF4b(_z*KC`gGDSN@9Y%D@o5TEFV+a{A7(!kuS0iD{e&w8oW z>gsq{NY@b4ueg9poK~t3(Xd#=T|}qOlC|-8?LX&zB|}c0Qu1rdYAn~; zQSDki#s18o6W2FZ>1+?YV(0d0PPfyzalDgli$%OsI2aLwQuUkG+3@~f7Sx_WAY3^r zRM(tR_u;EHZ!U|7|EDOWAGfA-aAQi@NBTJTnNA@*7xX;X_B&Z3<7lcpMq^jaQ$~mx|XkrIz8G>&ksC#dmqn zeLYP5gxSwW%rA5UX+uMW(rCd5d>JbjKG28CV)O^bkd2&9%MFg;^WL28;Hm)!{`S^U z7hQ(_6dfp|@*|d?VM)Hg!cMZiWS3s{whd^MU7tg|`yAfG?JW3;io5%r-KKmn1?G|c zmV;mXXH$yxSP>C4d03Mpnw<8j2^TAH!H_RSQc5dulV?<#=|Ro@w8p&=v3J0L%jR^O za;!8?mnFhALh^@Y9@AvbkUB^WsZ51qzSgbL1V85;k77QOolzZk6vtfFYZ|q2R%kQZ z1oMgwv=|XrnFj0nVczIl~P)3vo8DWvfU}u@f>c^ zq0S5?7WGFJ;SeKR>Da|DI9$VtR-%vR$XtIW=+D!ewU}auV!Ev)hHj& z#L=YvXri~7_AON6g@`!W2iVc{S!xlE$k^h08Mo>lu!D#&m$zyQPlK33yv*@dCJpwV zalu8ylauKll`pU^Ptk824gat+4MZWcyH33VSv*3`LbIarT4(b)_i<+e;eavb{Rckq#pQLdqeD>EudJ|@ zTsgm>;ftfMB0kIW2e~l{1!4XAa0CeiJg%E%2gJ zzWVD>V?px}04sp;0+OCOWer*(c$&FsA)Mb+8<{c-Fhhp8>=z!gcmD}gNO80Sdcf^| zJfHi^fCk@WtdY|ujFz^3C5;n6vByaLRD#YGylEOi&C=8?#o(Xi_nnbUH}P+Yf&aZD zB}}v+VnIU#8*B6&fP}Kn=u}~2@`qZoCu(nwAt2&Ijr{OK)#a#@l7{1*mXH^5=6o=> zu-X*hUuRP4H4#{^cMrFS&xl8KE0bnT$m=M?9Mm(hqsW*uOGq#q4U5s zWku)XRGaIdZ3@jOkm60n)=emg7hILlX9I(6Q=H?c!+8{^CPK|jHAj(jdYxFcjQ#R* z?so3Eb({7}8{v-E32K#LMUlkdTWa@VHS!Fkm$$9=8g|mur5u8K9{Bw}EB)GRCn<`6 z*ZVmA*dFRKgPpXlpS-iMf z?fs}y*WMVv_WIQ5@SIrm?rB%b(DE%D3$=-uCqWyr`a=SjKjGG?#@hA5FD`O^BOhxL zTSijO=YqTjk*^h3gS~D*m`hSo7(v}eS8PtlhS1i?^~sd(JVZ?tRQq$q*$ za1<475xub)!s*M64ol8NH#jNs>Gj>=<}dFfMc%QI;Oz`?ac3d2Uz6U*B{YYcmrxvu zEJkQ8!f~)01&v$*gCjM-#eIfBns6#He0wnQl*U-~_PUux01Pjqx{qk$O&dkmL_>Sp zw~tQM2!`V;kiZ3CS)k%->?y8r>zk8+H zv=Q#&o(<7he9+sfwHJMt?T`bQ-Gs>fJaXu(dH2oPMiTE}{Pw?KI~xR>WSavV!np%> z`hx^JzZx!&1W95A$>b(FCgie+yPYJxvx+QZ6p+ZM;_7md-TNgi-t%F-V4wVOy5;cS zWlkiR{&mbjK4yWY? z-4U%}Fti%DZvJymu|lwl;;7bKk}d;4aq$J7TV-ZjVmf#NBNU+dp@SL3JA?i?r+0<_ zCP&vz9C$bgu+nppbSR^^b|qj$!X&dhl%)j}Iqpk6aC=7$?aqGH&n%>P-Gke!;E3Qg zlPaEsXDP8W1GECk=zm6Wj3w&fokK|IE5LtSUI$>`zyNT`P* z%|avrM{pIxwg%A2V;vv&g&ZJS`phk+v@?lt)3=Zu6+39Dzm89(@Cgc6=xxAN zGD*qMS1~mw)8fVj5sBKHR1H0Gd~q^YFia;xtUM|I!ef=YCl=d;B~Qt)gPVqqw!g9h z8HXJ8n-B>~eEDfzVCx;Y`6D&*zuXU|a<`4HH-0cZM>MpSkk?22HUiEMQS?Plq$iKW zuY!C2Y4a;@yo0ilIYM>zbI3q*Ox@&(=LbG1k+fqhiAa+xAF=XD+B1OX)5N?b&#Yqb zU~`N|V63H9r^nygZe^xA6PgUmz;T^h$n6lOxHro4BnK$`mavxNGB1P|<`VQUC%Jwp z&Z-SO?=x z{WR(9ufw}K&^`N&FCRhxHG4~FIPs;|qx!dwESQ1=!5L$@34q= zpQ2i8Mfs~ni|BW;LiJ)|OesD;zSdGG6Z3bF!bZh!Wxjg6k|>->l%!j^C3eFJ6K9eJ zmhO4>%cyHVg^Y`679)F;YLhR=x-b-`?PlQ?s(xE}Xv(J5WAt(oTI>8nK($XE;@;6c@fn zd$7`V$Y_1_D$&azKoK_Sy(Y7;KU&-Sb=_^+1cMW6UF%N;imTV4#-Q(A)n#MbnX6v~ zY>2*-P|E=v_ESqcA@hFa!CRa5<&u#NIA}6aoJTqKa~K0mB7SQc5Usi1?$+ z<12k#3I_M~Y(i!D1c(RpiLUK}5$ls2wyW>%xTjDBT%gz8k||VF;jS2azL&Nk)K7=t za%7DtRJ14V`G6Nl)%rsa3ZFVnUllE!xbWj#5==b(d$%uUj(&&jKAi9+jTE~bdL-qu zIy?C&)X0h~_7$cf%E>aM16~+xiXt#Lns|G@or(Shp-W+_w!)SqhW#O#BUP5jBT~Z3 zV)bF-hKLXrjM*Lgn(!&bCo|%?mlWq_i1DU($#JX{mlA;l?J`h9-&^%^TX!1QcY5Z| z7!eAU{?XgzUyT838H&c|eR81-pw9`~lA}X7=xn0&GdK$?v-upd&zhQ<7p9M4JND!E z*i|CPCAT*S2tu?@^x~j8<58d|)Vw;+AQ>FLKiQ{x6Q)nGU}GX2RDS|Lrc22YCHx8=2xL7u!Fk{Wt=SO2 z;0O`DanJN2dUU7^hDx;Idn+5$SJuOTG`*@Iuc`Nb!;_SAVAl8a@>7bi121_s?==_AAZy z20}x`xP-y|l;^>Dy5s7ZNcx?}Vsr6I*Rc9ugy%v$dMqkXgG(w^UIDNq3yG2kxsS8)ma|)U5lp*_KRdwMu`y;ig*}-O# z9LsLD%UWcjD92G9A|RXvs)R&G7Nh?n>m52iEcIt^oHAbmIbN-`1+iCeKQd!)3$~SQ zClF#wFq5>q=M?PC2udDM5mJw_)UosWis?PM++x2Al}3YP09Vnc68 zblBdKf^NA?zcsG_DR9 ze7->V>?l^rPGWJ0e+?q~i)*=9zk_u(WS3x5=#{2haQ*MJ1V$hw!*Yu5Gi0K7-F*&v zNn>2Q7+Hd()RGl#W&Rjtu&tF&z4HD`NLj}Vsrv?(G=*`$ZZcb9&$=}_FYQ7hwWu7F z+wT~v!jWSvWs{pU#$`r=s^=j~jv?VZXBI!s+?v~?Ohk6EA-A}Lx=&xY?LOXA|4osf z!8z$~9P|E@S=*Fm9=0MTsQ)I$7*NG_?HeV+tLDU07VN$;peIe~m9K*HCE z8$-?T07IB@)IU&D_w%P^IbH`uwlV7c9W%xg@0thf+xhO90=|e4RtK-ugq2Gvj`&yc zTl+fl=_#gi%#?-lN;|#S1@BblP62u$AXpCMtj#?XOB>HwnavDj7|N+T0*tmUL+zSV zfr9refUlGr{;I_-Y58Z;BzF;F1aH25L|`beT)}j59!-c38%jLxNe7zI#drA|G%M{YSax+0uM1#0DtPC^fuYX>(a1O zYI(vXsPfshiK766syx*x(E!l}pA@cO-Mo%(2m*@BV;OSVTdfvLmk#&W7rp zYSRPBg!f)1FaYB-gkQAR7GqWkJ+D&KGWS2JGm#WWComvc^R>aQ<+%=fo^2F@-C#Q~ zh?5PBJM(TKI%p7iP}IlKv5}UAu2V7MCOHhp+eK@1ZP^JF*r`v_;S^!#9ZdhI zqyUUeAC>9U)F(r|6Jy-s#mq5hP@>0m@%@ zkG}(en+o@=w=Mmp$D!tq3SGBKkCQfEB4X941F+@TeMOcLu)wE@`g3RbH(H}GU<-Oc zE=zgZLhq+i%#oofz2>jOJ<8#Xtyehz>V7IeKBI3T#iXX>LX9k`Hjtqzn_$T6GJ{iM zN9{}B&{wyj*evchzIWX^_{>6fNUnDWDB*-r5zNA)e08>~#TgkKZ{r@Mt@2#fxNe1N zeWhL1E$*NyG|=KP>|d~}UKBP;RkIuw4uO2Sj!?viZf7mkZJ*Pwsvn**1IRcHF1^61 zapbItzgo?$MnVDc^XId}DzF35xg*fwr_$4;_oNkQQ#1AQ*LW4z5o2|5KGya=+Ls)n z9}{=xJJyL?GA|CAjeXdWic>!Gfcw}lG70O>9h(#VYQYaNnP}75aVpv}U-TmYfZJ;h zRtBq`1Z_jiS>7)h4o+GFiGf=yIGHw_-)h(``F2uKcH{b-Fe<%DkNxQ^<A;Gte?f2ST%Yn zyao8Y6)-XAwwkGTXl>hG(h)jmCsFTrahKu=d&)<8<6vva@;@tI@?MEShi98_7ZR_U#HMDGx)2aK}?!n zHp3FE2cLND%B#a>u*a`F@X^>8Ya6j{w@ZncZNRoF(|W%|N3Nj*sHd4|(;f|zS%F@b zt+Rc0hlUa%`0?BQ^U7A*GE#9b?s46nb5{#^EJ1_bsgn!gu+F$&_!0LTMKl7SgnriO zo3laJO`b|}!mh-uP|=BvSEe{V#F4oVzv8H1t7z1^<&-$W*J!o?q&O~HnGMTtE0e{~ zlR2q`{&vQj{{#?jY$f-1*r{dM$SCi9sR&^`O+iPlwj2FQy}h|%t;p;#8A_*>ddZeS zwJ%fA*hN=4hC5?Qaiv3&A-P8WTQID&;O4i3)rfdgWQ>-{)nMn*=M^`WLXWab9%THs zH?yV{jI}9@{uosiaLxIC!iKxnwj7mYIk~#!^>*0yx0g8R)E#v@^f`E0=F}Kv_73o5NLjd8Pm~;} z9~FE6_9Afl8fPTPaNWWL1yLoc zse3uQWE_dzBt)eQ;$H3^zt$Wl2JpcWAGd0ebr@VuG1HyV8pr3yvV~|y>!p`uGIu;k z<+))gZfWYZhi@Iv?i(U~x>j2S<2eDb@_QiX$92aF<1>#jd8^R)bSZi9;d|lT4-vc| zGmsZUV}P_2?WsDPw%7Xe_!6;l=x1`NFbLj5Jjx~%KbSTX)SF$q3658Z^w*F(YYYDj z_LKccIq)P37fO9r8%MWs?@Igf`YPZ_CaAmERSJ}-QtS{RXuM)wq4-WfQLj?7|E$am zUQCs7-k8bi+yH)wcI}9ub;+QpK8kwFD@2BTXlm4y|0-SM7E-vchs-^_*|j<%`hNV% z!&3%PLh16i;zx0PdsxWeQoUS0!Ljam5NZ9iU_0Sk|Gp6Q4N17%H!fmjINUVDHiapv z`{RHgCa!sSk`>p*N2r;~^X~Q@59v#lkTzfVmF!HyUlt$WV8Wta{sErfac;|wat4rnlAcgxo`vB>x6D%&jG9RY7QCEPt~ z86)`D%U?faJvyGUT&z3_q)F*gDQ2a#Eax2rzzcU_t|PG3*)D?G9k0B87w%^ zX4yCg)Gq$#s}oG0JrV~TnpIXpg&?y0z5 z03J5?k4LwmJSe3Y8|$ccMX0klVQk@~aC@a>+q8GPpPZQ)B0(CoDfi_Mx$6G4ekPo_ zmyeB6nTw<`%yQ<(A12MzL>CsQMg$ZBr)fOMa7>NN@4U)iO6IGBA!R6;}h;OQQFUq#@C>uFw(<|>nLOaT2oy-jQ0Yxw z+7wCz?!hSNCRQj?%)L6hJr9{v-7hzltD)xg7Q#RS^>hRW0HuznwI#`-1jK1C;@n>@ zA(DmxL4x<^{?B~}b^d!9`QGGx4vF*ASLrx#2G@KBsf{L82;x=dp(}Nth+r7X$sTv(eWsQmK zo0N=eS~Pg(D?mS#e!;r z!}j9o9ZSlNvf_It&eB8`o(!Q47;JOQpDe3W2IxORi%3ZVd2BHH!dTtb3x=?}hsdLl z?!6%|9F6R{d}fKKWb~q=KzzqZcSvGWx_8O(SU<(}!pn4nIJY|Apu&ATK>JIu`vl#1 z4#91~E2Q!CBz>yi)+LNfb*SV6Cix^*Hdn`a0V_eNV#vZiD$6|E0Xau;pY?A zJ1hj%(^yw5y6NUK{Cbq*$LXVupC0*lMj%fLv8ksFNLj(7h8v;YKc_4L?h|c|CKPYp z7xB4wKlurt`4&EJ!a@6C9l|M4BY3QR2@(}3%1#PXTiQ`E^T7HBayCjsK8& zW))KR=j}_-7cC{C?Ewp9I!Q0QuvWC#^@NSkec)#tdK6p(^=fhbvh({LW>ud_r2Xv!^Hy(RI&~5PqlWb zm@{fO){Y`JU#pS(w^`x#n(A08Q1i;%bf>_kN5NfPlBRJg1r;(S zcc}ID8HE(_r{T#qQxv$JFkk3vx(SvAE!*p|a4!>0gRHpv6ZHr4p9waSdAyu*_AoZC z;uU?TBDuiuuM{#&SEZgasE0(C7yu}F{?!5u_wIvvI{LBf#^<9wQ82$N1qQ$CHFm;4 z{qZo1z^YO8IV!vlaPPXS23U^P$17d!B-miDOj2T#))C3GfzRWJGtMs-=c1ame)#b2 z5nA7=G=EIdfaCq9BdQ(afB}k9u;+Bb+BK|FlUX|7J7vbDPVd-&`VuZ#8zGILFfwk< zYF|FH2@;5|h8a^fzK9*?hJp z{IuCRrkP`BKe-pV@Xnb#ovVf_IsRi7rK z?P><>w>149c!!r(4G$-5u62EkBd1A8fr*>LXGVO(Nde=jfxjjxNltQ!cVId3eF2%Y z18eZ0rZZOQ06=rR{E?n2OON)+G9575v#?(J7#$O}65b!Qa3 zATW9p<<%xl z30=2S$}5n;`n2@&ZdRa$lFhW)<}(13l+c7(V-t!-?pYu7JczoS8lQtLnpCt6G#LwJ ztErb>O~jZdMW7@sq%zGW%*pMmyXwoLqu8bRo|La^p+k+@Itu+PF7wekMc*Mp( z@ej`{J#>2Fl2IgImwzu;1XKeXuv6#x42YtT!G*~04tmkSy9*2rk|xBa7cjwX5=PfwC)X*&mycT|)l8KfHx1}wy(IX_yK zh8~f6-@_}a4f`0IA(mqdY}S8hy?^~8@lU!;Bp|CuKI!+S zq=YJ^Ih;q`$3#>|TftT1`_hf|&`LBByCa}$QaqD$VL0=TL#RRofa`bs=mNn%?)x-6 zNOTHw&(g1x&H*j5TF+w>RNi%OOxe^7NPMxt{HlUD6KV~V;wZ?MM#Dx>M7YCf9gPzgHJu||Md5fNQ%(dJQ zC3XE${BD{&!;gK3)fPwN3z|~#wHuKwv>1*Dl&`HfE@sEFTOJL0oFC7PGn6z6Vb~r| zJ%7(V#FOX%c&AGaFjYQVS+L`m&H~x1s9KN7l$!Xlh$-na&Jnr)DXSC?W}A{Ll5PET z8*cC5&UnLTUCt!6Y)4YhTedDy9hyZ`Y!djv0yYehe!Ov50og)8J|6?a-FrBwGw@XL zao0!g+cM6jw?6`A{`XH+?33c=l7v#U?wsRpAY+~Bh@rDcm zG9W8@GGF_Bf7g=xc+G43z9_d=BOAQ3|@OheG`E_ zR$26S_uH1;RFfc0Ak^MMqc_UeZxH$k=)knaL;6%|We?`fj8|`uftuxtu`Au=yO!YN zE<|RQhg<<=1@qtO5zNwme|JeSD73I(rbnr$mEDtNZB5G8>vxrRIGs6i7DZG! zWDw(%|T$=;^_qFamEP?=KT;p5yYT@4ql(ExFS4 zHYo(}eJjnGoy<%<55TSl7DSO7%D_+7(KO zk*R#GkHS%vO{u#+7RZu}0!T$%&v$mzkfQDWz2$q|uRGteoqoZ457jpwI< zJQMuN6Cb`Rg3jf3ba}to{*F=COH}!ri@ZAS##y>YEX-+kzEWl{HW3eR?`6rU!nnRL z0v@mq!dq;NE6ezKfCNfp|>rOZzT_LugTHZ#$B2z^DY?48UHn$_(m@KxXuGTT3Ut zusQXgie#^lAQzZ0?Q`B+niF{2J@A|m?BkO`BWMI#`8#(Mez9Xn*F;Q~`w%1P)rF~e z*R^ksuNOee|4Xc6i~FOa3Vs`kQGL+nE3wz8xnwtc8y*(|t+(K?n~%=>SDHqlPJ;C% znfB45SWd{@5kb=rQ0(4G?0!$A>ZFqV?N7$c=hqS}toq>emy>@A7j9SA7>0#CSVS!W zP?A#yYnHu8#z_h0@z>8D&=SM%mNP56J{D%9r`sC(u)lOx*4tkO1;@WtlNMp{EqF?U z=3Bfw^pI2MO)-SCP6FA8kb~h%0CgCi19aAt_Jeql(_)GtxXKrs(hepqMzr8l$)fdY z_lKO{@5d7((QWFaS79{$AsI7QDaz;Su0(*h+w=OTAC=-`?!H`$Ds<=K2X55A8~(@o zQ0_#fJ?)LJ=qfXXXK80jp^Oz~lHo;4GbwN7g)`oFZ+bxG^2N<&a^kFFF5xRvq=*%fL>aPysJ_5w(h%_eMtqXJZ^1wk4> zq_M4Bh_p;mXv&2n0m?be3^*5t>I=tIK4ENApm|N*+-3!ZNJp#Wq)=v({B)G0s~}G+ zC>94VEm<&4lM0+p#bqv)u@Qc=D-S>R9$WP4!ciHJF3mu=1oj_Wn^IJ)7hPpKv>trG z{)crdnG^^iYJ7jlP6+noO9bpyB4hFnDUKbw#>op`d0F@8WUv>eebgRE^BbZk_J`@> z^WnpR1P#dWfyZn$U{3Ort^Ax6!*R=rR7s|Yg*6IHuVM>+L(fbk4_r!;ge60)@9df( z6doZ~2Mp$*vuXMzXcd7AXxf9D1x~IQT@P+}YC<;6)yCNcvrbUq@x<5fZ z7Dtag+tK61G3?++oaT^AH~Z00d5o`79YZM?1Ux`Ql;>P%^<2It^-)#5AACi4kEROW z@QlE4w=;;-3fjgs5qK4b^}!OMLxbMu_}R255t)8%+B#2KpZ?KIL(CQJrG!L?S!KiH zy&d=+y9VlN1Z2W1-P@(Ftlu9DV1vQ{jibZPHwN6ZT*xt_A~SN&G{Eb;zn$s_1hxF5cR1+X9itP9l!h zxZLYfbX%nb#F@-a+OvwclsSdtSqU5s+Oc{U-1H!$jPfAWqY;~3=qTJaS($k}hIu>{ zRkT~+&s)(-fP$&XGjJA#%4GZ*aT?8|lCNhYK4j{rAy3ndU>aCGs^F!?b7jPI52rg( z5@-pOCaMeB!1jOx!g-7Dd5t5)_3ny@H)}??lUn@H&~RDCj4G!NeVPZ+_xz;wmZbF< z?7Fc}z8;O&i=!w`9WMGifQP+-(n#4gi!p6xT+`7LZjBqf4CQ^ej4*b8U+M>d*mo6)pJZN7m2( E2mRtT00000 literal 0 HcmV?d00001 diff --git a/EDRoutePlanner/Resources/IconsExport/Icon_32.png b/EDRoutePlanner/Resources/IconsExport/Icon_32.png new file mode 100644 index 0000000000000000000000000000000000000000..9a991fa7ee2d45815ab213d3a65cf4adc10c6aa5 GIT binary patch literal 1295 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 literal 0 HcmV?d00001 diff --git a/EDRoutePlanner/StationControl.Designer.cs b/EDRoutePlanner/StationControl.Designer.cs index 2c31f3d..f9c8439 100644 --- a/EDRoutePlanner/StationControl.Designer.cs +++ b/EDRoutePlanner/StationControl.Designer.cs @@ -67,7 +67,7 @@ private void InitializeComponent() this.lblStationName.Location = new System.Drawing.Point(41, 16); this.lblStationName.Name = "lblStationName"; this.lblStationName.Size = new System.Drawing.Size(134, 24); - this.lblStationName.TabIndex = 1; + this.lblStationName.TabIndex = 0; this.lblStationName.Text = "Station Name"; this.lblStationName.DoubleClick += new System.EventHandler(this.lblStationName_DoubleClick); // @@ -77,7 +77,7 @@ private void InitializeComponent() this.lblSystemName.Location = new System.Drawing.Point(41, 3); this.lblSystemName.Name = "lblSystemName"; this.lblSystemName.Size = new System.Drawing.Size(72, 13); - this.lblSystemName.TabIndex = 2; + this.lblSystemName.TabIndex = 1; this.lblSystemName.Text = "System Name"; // // listView1 @@ -93,7 +93,7 @@ private void InitializeComponent() this.listView1.MultiSelect = false; this.listView1.Name = "listView1"; this.listView1.Size = new System.Drawing.Size(451, 85); - this.listView1.TabIndex = 3; + this.listView1.TabIndex = 4; this.listView1.UseCompatibleStateImageBehavior = false; this.listView1.View = System.Windows.Forms.View.Details; // @@ -126,7 +126,7 @@ private void InitializeComponent() this.btnInsertDestination.Location = new System.Drawing.Point(3, 75); this.btnInsertDestination.Name = "btnInsertDestination"; this.btnInsertDestination.Size = new System.Drawing.Size(35, 23); - this.btnInsertDestination.TabIndex = 8; + this.btnInsertDestination.TabIndex = 3; this.toolTip1.SetToolTip(this.btnInsertDestination, "Insert a new destination after this one"); this.btnInsertDestination.UseVisualStyleBackColor = true; this.btnInsertDestination.Click += new System.EventHandler(this.btnInsertDestination_Click); @@ -138,7 +138,7 @@ private void InitializeComponent() this.btnEvaluateOptions.Location = new System.Drawing.Point(3, 134); this.btnEvaluateOptions.Name = "btnEvaluateOptions"; this.btnEvaluateOptions.Size = new System.Drawing.Size(35, 23); - this.btnEvaluateOptions.TabIndex = 7; + this.btnEvaluateOptions.TabIndex = 5; this.toolTip1.SetToolTip(this.btnEvaluateOptions, "Evaluate Options"); this.btnEvaluateOptions.UseVisualStyleBackColor = true; this.btnEvaluateOptions.Click += new System.EventHandler(this.btnEvaluateOptions_Click); @@ -160,7 +160,7 @@ private void InitializeComponent() this.btnDelTransaction.Location = new System.Drawing.Point(85, 134); this.btnDelTransaction.Name = "btnDelTransaction"; this.btnDelTransaction.Size = new System.Drawing.Size(35, 23); - this.btnDelTransaction.TabIndex = 5; + this.btnDelTransaction.TabIndex = 7; this.toolTip1.SetToolTip(this.btnDelTransaction, "Remove selected Transaction"); this.btnDelTransaction.UseVisualStyleBackColor = true; this.btnDelTransaction.Click += new System.EventHandler(this.btnDelTransaction_Click); @@ -171,7 +171,7 @@ private void InitializeComponent() this.btnDelDestination.Location = new System.Drawing.Point(3, 46); this.btnDelDestination.Name = "btnDelDestination"; this.btnDelDestination.Size = new System.Drawing.Size(35, 23); - this.btnDelDestination.TabIndex = 4; + this.btnDelDestination.TabIndex = 2; this.toolTip1.SetToolTip(this.btnDelDestination, "Remove this destination"); this.btnDelDestination.UseVisualStyleBackColor = true; this.btnDelDestination.Click += new System.EventHandler(this.btnDelDestination_Click); diff --git a/EDRoutePlanner/StationControl.cs b/EDRoutePlanner/StationControl.cs index 6cdde99..52e89b5 100644 --- a/EDRoutePlanner/StationControl.cs +++ b/EDRoutePlanner/StationControl.cs @@ -134,7 +134,7 @@ private void btnAddTransaction_Click(object sender, EventArgs e) mainScreen.commoditySelection.stationData = stationData; mainScreen.commoditySelection.nextStationData = nextStationData; mainScreen.commoditySelection.maxCargo = mainScreen.pilotData.maxCargo; - mainScreen.commoditySelection.updateDisplay(); + mainScreen.commoditySelection.UpdateDisplay(); if (mainScreen.commoditySelection.ShowDialog(mainScreen) == DialogResult.OK) { diff --git a/EDRoutePlanner/StationSelection.Designer.cs b/EDRoutePlanner/StationSelection.Designer.cs index e0fb4ba..162133a 100644 --- a/EDRoutePlanner/StationSelection.Designer.cs +++ b/EDRoutePlanner/StationSelection.Designer.cs @@ -60,7 +60,7 @@ private void InitializeComponent() this.listView1.Location = new System.Drawing.Point(12, 12); this.listView1.Name = "listView1"; this.listView1.Size = new System.Drawing.Size(260, 203); - this.listView1.TabIndex = 0; + this.listView1.TabIndex = 2; this.listView1.UseCompatibleStateImageBehavior = false; this.listView1.View = System.Windows.Forms.View.Details; this.listView1.SelectedIndexChanged += new System.EventHandler(this.listView1_SelectedIndexChanged); @@ -79,7 +79,7 @@ private void InitializeComponent() this.btnCancel.Location = new System.Drawing.Point(197, 227); this.btnCancel.Name = "btnCancel"; this.btnCancel.Size = new System.Drawing.Size(75, 23); - this.btnCancel.TabIndex = 1; + this.btnCancel.TabIndex = 0; this.btnCancel.Text = "Cancel"; this.btnCancel.UseVisualStyleBackColor = true; this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click); @@ -90,7 +90,7 @@ private void InitializeComponent() this.btnUseSelected.Location = new System.Drawing.Point(53, 227); this.btnUseSelected.Name = "btnUseSelected"; this.btnUseSelected.Size = new System.Drawing.Size(138, 23); - this.btnUseSelected.TabIndex = 2; + this.btnUseSelected.TabIndex = 1; this.btnUseSelected.Text = "Use Selected Station"; this.btnUseSelected.UseVisualStyleBackColor = true; this.btnUseSelected.Click += new System.EventHandler(this.btnUseSelected_Click); @@ -107,7 +107,9 @@ private void InitializeComponent() this.Controls.Add(this.listView1); this.MinimizeBox = false; this.Name = "StationSelection"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; this.Text = "Select a Station"; + this.Load += new System.EventHandler(this.StationSelection_Load); this.ResumeLayout(false); } diff --git a/EDRoutePlanner/StationSelection.cs b/EDRoutePlanner/StationSelection.cs index 7c97ad7..b0e8d54 100644 --- a/EDRoutePlanner/StationSelection.cs +++ b/EDRoutePlanner/StationSelection.cs @@ -34,10 +34,9 @@ public StationSelection(MainScreen mainScreen) { this.mainScreen = mainScreen; InitializeComponent(); - updateDisplay(); } - public void updateDisplay() + public void UpdateDisplay() { listView1.Items.Clear(); listView1.Groups.Clear(); @@ -95,5 +94,10 @@ private void listView1_KeyDown(object sender, KeyEventArgs e) submit(); } } + + private void StationSelection_Load(object sender, EventArgs e) + { + this.Icon = Properties.Resources.Icon; + } } } diff --git a/EDRoutePlanner/Util.cs b/EDRoutePlanner/Util.cs new file mode 100644 index 0000000..a539e7b --- /dev/null +++ b/EDRoutePlanner/Util.cs @@ -0,0 +1,47 @@ +/* Copyright 2015 Oliver Kahrmann + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.IO; + +namespace EDRoutePlanner +{ + public static class Util + { + public static String GetFileDirectorySafe(string filePath) + { + try + { + return new FileInfo(filePath).Directory.FullName; + } + catch (ArgumentException) { } + catch (PathTooLongException) { } + catch (NotSupportedException) { } + return ""; + } + + public static String GetFileNameSafe(string filePath) + { + try + { + return Path.GetFileName(filePath); + } + catch (ArgumentException) { } + return ""; + } + } +}