4 Commits

12 changed files with 739 additions and 775 deletions

BIN
FireWallet/FW.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

View File

@@ -6,7 +6,7 @@
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
<UseWindowsForms>true</UseWindowsForms> <UseWindowsForms>true</UseWindowsForms>
<ImplicitUsings>enable</ImplicitUsings> <ImplicitUsings>enable</ImplicitUsings>
<ApplicationIcon>FW2.ico</ApplicationIcon> <ApplicationIcon>FW.ico</ApplicationIcon>
<Title>FireWallet</Title> <Title>FireWallet</Title>
<PackageProjectUrl>https://l.woodburn.au</PackageProjectUrl> <PackageProjectUrl>https://l.woodburn.au</PackageProjectUrl>
<PackageIcon>HSDBatcher.png</PackageIcon> <PackageIcon>HSDBatcher.png</PackageIcon>
@@ -16,7 +16,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Content Include="FW2.ico" /> <Content Include="FW.ico" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

View File

@@ -58,7 +58,6 @@ namespace FireWallet
labelaccountusername = new Label(); labelaccountusername = new Label();
buttonaccountnew = new Button(); buttonaccountnew = new Button();
panelNav = new Panel(); panelNav = new Panel();
buttonNavBids = new Button();
buttonNavSettings = new Button(); buttonNavSettings = new Button();
buttonBatch = new Button(); buttonBatch = new Button();
buttonNavDomains = new Button(); buttonNavDomains = new Button();
@@ -66,6 +65,7 @@ namespace FireWallet
buttonNavSend = new Button(); buttonNavSend = new Button();
buttonNavPortfolio = new Button(); buttonNavPortfolio = new Button();
panelPortfolio = new Panel(); panelPortfolio = new Panel();
buttonRedeemAll = new Button();
buttonRevealAll = new Button(); buttonRevealAll = new Button();
groupBoxTransactions = new GroupBox(); groupBoxTransactions = new GroupBox();
groupBoxinfo = new GroupBox(); groupBoxinfo = new GroupBox();
@@ -127,7 +127,7 @@ namespace FireWallet
textBoxExAddr = new TextBox(); textBoxExAddr = new TextBox();
labelSettings4 = new Label(); labelSettings4 = new Label();
textBoxExTX = new TextBox(); textBoxExTX = new TextBox();
panelBids = new Panel(); buttonSendAll = new Button();
statusStripmain.SuspendLayout(); statusStripmain.SuspendLayout();
panelaccount.SuspendLayout(); panelaccount.SuspendLayout();
groupBoxaccount.SuspendLayout(); groupBoxaccount.SuspendLayout();
@@ -355,7 +355,6 @@ namespace FireWallet
// //
// panelNav // panelNav
// //
panelNav.Controls.Add(buttonNavBids);
panelNav.Controls.Add(buttonNavSettings); panelNav.Controls.Add(buttonNavSettings);
panelNav.Controls.Add(buttonBatch); panelNav.Controls.Add(buttonBatch);
panelNav.Controls.Add(buttonNavDomains); panelNav.Controls.Add(buttonNavDomains);
@@ -368,19 +367,6 @@ namespace FireWallet
panelNav.Size = new Size(114, 553); panelNav.Size = new Size(114, 553);
panelNav.TabIndex = 6; panelNav.TabIndex = 6;
// //
// buttonNavBids
//
buttonNavBids.FlatStyle = FlatStyle.Flat;
buttonNavBids.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point);
buttonNavBids.Location = new Point(12, 245);
buttonNavBids.Name = "buttonNavBids";
buttonNavBids.Size = new Size(89, 30);
buttonNavBids.TabIndex = 5;
buttonNavBids.TabStop = false;
buttonNavBids.Text = "Bids";
buttonNavBids.UseVisualStyleBackColor = true;
buttonNavBids.Click += buttonNavBids_Click;
//
// buttonNavSettings // buttonNavSettings
// //
buttonNavSettings.FlatStyle = FlatStyle.Flat; buttonNavSettings.FlatStyle = FlatStyle.Flat;
@@ -398,7 +384,7 @@ namespace FireWallet
// //
buttonBatch.FlatStyle = FlatStyle.Flat; buttonBatch.FlatStyle = FlatStyle.Flat;
buttonBatch.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point); buttonBatch.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point);
buttonBatch.Location = new Point(12, 300); buttonBatch.Location = new Point(12, 245);
buttonBatch.Name = "buttonBatch"; buttonBatch.Name = "buttonBatch";
buttonBatch.Size = new Size(89, 30); buttonBatch.Size = new Size(89, 30);
buttonBatch.TabIndex = 3; buttonBatch.TabIndex = 3;
@@ -411,7 +397,7 @@ namespace FireWallet
// //
buttonNavDomains.FlatStyle = FlatStyle.Flat; buttonNavDomains.FlatStyle = FlatStyle.Flat;
buttonNavDomains.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point); buttonNavDomains.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point);
buttonNavDomains.Location = new Point(12, 190); buttonNavDomains.Location = new Point(12, 189);
buttonNavDomains.Name = "buttonNavDomains"; buttonNavDomains.Name = "buttonNavDomains";
buttonNavDomains.Size = new Size(89, 30); buttonNavDomains.Size = new Size(89, 30);
buttonNavDomains.TabIndex = 2; buttonNavDomains.TabIndex = 2;
@@ -424,7 +410,7 @@ namespace FireWallet
// //
buttonNavReceive.FlatStyle = FlatStyle.Flat; buttonNavReceive.FlatStyle = FlatStyle.Flat;
buttonNavReceive.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point); buttonNavReceive.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point);
buttonNavReceive.Location = new Point(12, 135); buttonNavReceive.Location = new Point(12, 134);
buttonNavReceive.Name = "buttonNavReceive"; buttonNavReceive.Name = "buttonNavReceive";
buttonNavReceive.Size = new Size(89, 30); buttonNavReceive.Size = new Size(89, 30);
buttonNavReceive.TabIndex = 1; buttonNavReceive.TabIndex = 1;
@@ -461,23 +447,37 @@ namespace FireWallet
// //
// panelPortfolio // panelPortfolio
// //
panelPortfolio.Controls.Add(buttonSendAll);
panelPortfolio.Controls.Add(buttonRedeemAll);
panelPortfolio.Controls.Add(buttonRevealAll); panelPortfolio.Controls.Add(buttonRevealAll);
panelPortfolio.Controls.Add(groupBoxTransactions); panelPortfolio.Controls.Add(groupBoxTransactions);
panelPortfolio.Controls.Add(groupBoxinfo); panelPortfolio.Controls.Add(groupBoxinfo);
panelPortfolio.Controls.Add(groupBoxbalance); panelPortfolio.Controls.Add(groupBoxbalance);
panelPortfolio.Location = new Point(1036, 129); panelPortfolio.Location = new Point(140, 35);
panelPortfolio.Name = "panelPortfolio"; panelPortfolio.Name = "panelPortfolio";
panelPortfolio.Size = new Size(956, 538); panelPortfolio.Size = new Size(956, 538);
panelPortfolio.TabIndex = 7; panelPortfolio.TabIndex = 7;
panelPortfolio.Visible = false; panelPortfolio.Visible = false;
// //
// buttonRedeemAll
//
buttonRedeemAll.FlatStyle = FlatStyle.Flat;
buttonRedeemAll.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point);
buttonRedeemAll.Location = new Point(649, 12);
buttonRedeemAll.Name = "buttonRedeemAll";
buttonRedeemAll.Size = new Size(106, 44);
buttonRedeemAll.TabIndex = 9;
buttonRedeemAll.Text = "Redeem All";
buttonRedeemAll.UseVisualStyleBackColor = true;
buttonRedeemAll.Click += buttonRedeemAll_Click;
//
// buttonRevealAll // buttonRevealAll
// //
buttonRevealAll.FlatStyle = FlatStyle.Flat; buttonRevealAll.FlatStyle = FlatStyle.Flat;
buttonRevealAll.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point); buttonRevealAll.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point);
buttonRevealAll.Location = new Point(537, 12); buttonRevealAll.Location = new Point(537, 12);
buttonRevealAll.Name = "buttonRevealAll"; buttonRevealAll.Name = "buttonRevealAll";
buttonRevealAll.Size = new Size(89, 44); buttonRevealAll.Size = new Size(106, 44);
buttonRevealAll.TabIndex = 9; buttonRevealAll.TabIndex = 9;
buttonRevealAll.Text = "Reveal All"; buttonRevealAll.Text = "Reveal All";
buttonRevealAll.UseVisualStyleBackColor = true; buttonRevealAll.UseVisualStyleBackColor = true;
@@ -1121,20 +1121,23 @@ namespace FireWallet
textBoxExTX.Size = new Size(307, 29); textBoxExTX.Size = new Size(307, 29);
textBoxExTX.TabIndex = 1; textBoxExTX.TabIndex = 1;
// //
// panelBids // buttonSendAll
// //
panelBids.Location = new Point(143, 44); buttonSendAll.FlatStyle = FlatStyle.Flat;
panelBids.Name = "panelBids"; buttonSendAll.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point);
panelBids.Size = new Size(868, 484); buttonSendAll.Location = new Point(761, 12);
panelBids.TabIndex = 20; buttonSendAll.Name = "buttonSendAll";
panelBids.Visible = false; buttonSendAll.Size = new Size(106, 44);
buttonSendAll.TabIndex = 9;
buttonSendAll.Text = "Send All TXs";
buttonSendAll.UseVisualStyleBackColor = true;
buttonSendAll.Click += buttonSendAll_Click;
// //
// MainForm // MainForm
// //
AutoScaleDimensions = new SizeF(7F, 15F); AutoScaleDimensions = new SizeF(7F, 15F);
AutoScaleMode = AutoScaleMode.Font; AutoScaleMode = AutoScaleMode.Font;
ClientSize = new Size(1152, 575); ClientSize = new Size(1152, 575);
Controls.Add(panelBids);
Controls.Add(panelDomains); Controls.Add(panelDomains);
Controls.Add(panelSend); Controls.Add(panelSend);
Controls.Add(panelSettings); Controls.Add(panelSettings);
@@ -1276,7 +1279,7 @@ namespace FireWallet
private Label labelDomainSort; private Label labelDomainSort;
private ToolStripSeparator toolStripSeparator1; private ToolStripSeparator toolStripSeparator1;
private ToolStripMenuItem otherProjectsToolStripMenuItem; private ToolStripMenuItem otherProjectsToolStripMenuItem;
private Button buttonNavBids; private Button buttonRedeemAll;
private Panel panelBids; private Button buttonSendAll;
} }
} }

View File

@@ -142,13 +142,20 @@ namespace FireWallet
} }
} }
Application.DoEvents(); Application.DoEvents();
while (!ss.IsClosed)
{
Thread.Sleep(100);
Application.DoEvents();
}
} }
AddLog("Loaded"); AddLog("Loaded");
// Pull form to front // Pull form to front
Opacity = 1;
this.WindowState = FormWindowState.Minimized; this.WindowState = FormWindowState.Minimized;
this.Show(); this.Show();
this.Opacity = 1;
this.WindowState = FormWindowState.Normal; this.WindowState = FormWindowState.Normal;
textBoxaccountpassword.Focus(); textBoxaccountpassword.Focus();
} }
@@ -920,21 +927,25 @@ namespace FireWallet
req.Content = new StringContent(content); req.Content = new StringContent(content);
// Send request // Send request
HttpResponseMessage resp = await httpClient.SendAsync(req);
try try
{ {
resp.EnsureSuccessStatusCode(); HttpResponseMessage resp = await httpClient.SendAsync(req);
if (!resp.IsSuccessStatusCode)
{
AddLog("Post Error: " + resp.StatusCode);
AddLog(await resp.Content.ReadAsStringAsync());
return "Error";
}
return await resp.Content.ReadAsStringAsync();
} }
catch (Exception ex) catch (Exception ex)
{ {
AddLog("Post Error: " + ex.Message); AddLog("Post Error: " + ex.Message);
AddLog(await resp.Content.ReadAsStringAsync());
AddLog("Content: " + content);
return "Error"; return "Error";
} }
return await resp.Content.ReadAsStringAsync();
} }
/// <summary> /// <summary>
/// Get from HSD API /// Get from HSD API
@@ -964,7 +975,12 @@ namespace FireWallet
request.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes("x:" + key))); request.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes("x:" + key)));
// Send request and log response // Send request and log response
HttpResponseMessage response = await httpClient.SendAsync(request); HttpResponseMessage response = await httpClient.SendAsync(request);
response.EnsureSuccessStatusCode(); if (!response.IsSuccessStatusCode)
{
AddLog("Get Error: " + response.StatusCode);
AddLog(await response.Content.ReadAsStringAsync());
return "Error";
}
return await response.Content.ReadAsStringAsync(); return await response.Content.ReadAsStringAsync();
} }
@@ -985,9 +1001,16 @@ namespace FireWallet
AddLog("GetAddress Error"); AddLog("GetAddress Error");
return "Error"; return "Error";
} }
try
{
JObject resp = JObject.Parse(APIresponse); JObject resp = JObject.Parse(APIresponse);
return resp["address"].ToString(); return resp["address"].ToString();
} }
catch
{
return "Error";
}
}
private async void GetTXHistory() private async void GetTXHistory()
{ {
@@ -1314,7 +1337,6 @@ namespace FireWallet
panelRecieve.Hide(); panelRecieve.Hide();
panelDomains.Hide(); panelDomains.Hide();
panelSettings.Hide(); panelSettings.Hide();
panelBids.Hide();
buttonNavPortfolio.BackColor = ColorTranslator.FromHtml(Theme["background"]); buttonNavPortfolio.BackColor = ColorTranslator.FromHtml(Theme["background"]);
buttonNavPortfolio.ForeColor = ColorTranslator.FromHtml(Theme["foreground"]); buttonNavPortfolio.ForeColor = ColorTranslator.FromHtml(Theme["foreground"]);
buttonNavSend.BackColor = ColorTranslator.FromHtml(Theme["background"]); buttonNavSend.BackColor = ColorTranslator.FromHtml(Theme["background"]);
@@ -1325,8 +1347,6 @@ namespace FireWallet
buttonNavDomains.ForeColor = ColorTranslator.FromHtml(Theme["foreground"]); buttonNavDomains.ForeColor = ColorTranslator.FromHtml(Theme["foreground"]);
buttonNavSettings.BackColor = ColorTranslator.FromHtml(Theme["background"]); buttonNavSettings.BackColor = ColorTranslator.FromHtml(Theme["background"]);
buttonNavSettings.ForeColor = ColorTranslator.FromHtml(Theme["foreground"]); buttonNavSettings.ForeColor = ColorTranslator.FromHtml(Theme["foreground"]);
buttonNavBids.BackColor = ColorTranslator.FromHtml(Theme["background"]);
buttonNavBids.ForeColor = ColorTranslator.FromHtml(Theme["foreground"]);
} }
private void buttonNavSettings_Click(object sender, EventArgs e) private void buttonNavSettings_Click(object sender, EventArgs e)
{ {
@@ -1349,19 +1369,6 @@ namespace FireWallet
numericUpDownTXCount.Value = int.Parse(UserSettings["portfolio-tx"]); numericUpDownTXCount.Value = int.Parse(UserSettings["portfolio-tx"]);
labelSettingsSaved.Hide(); labelSettingsSaved.Hide();
} }
private void buttonNavBids_Click(object sender, EventArgs e)
{
hidePages();
if (Theme.ContainsKey("selected-bg") && Theme.ContainsKey("selected-fg"))
{
buttonNavBids.BackColor = ColorTranslator.FromHtml(Theme["selected-bg"]);
buttonNavBids.ForeColor = ColorTranslator.FromHtml(Theme["selected-fg"]);
}
panelBids.Show();
panelBids.Dock = DockStyle.Fill;
}
#endregion #endregion
#region Send #region Send
@@ -2369,5 +2376,83 @@ namespace FireWallet
Process.Start(psi); Process.Start(psi);
} }
#endregion #endregion
private async void buttonRedeemAll_Click(object sender, EventArgs e)
{
buttonRedeemAll.Enabled = false;
string content = "{\"method\": \"sendbatch\", \"params\":[[[\"REDEEM\"]]]}";
AddLog(content);
string response = await APIPost("", true, content);
if (response == "Error")
{
AddLog("Error sending batch");
NotifyForm notifyForm = new NotifyForm("Error sending batch");
notifyForm.ShowDialog();
notifyForm.Dispose();
buttonRedeemAll.Enabled = true;
return;
}
JObject resp = JObject.Parse(response);
if (resp["error"].ToString() != "")
{
AddLog("Error sending batch");
AddLog(resp["error"].ToString());
JObject error = JObject.Parse(resp["error"].ToString());
NotifyForm notifyForm = new NotifyForm("Error sending batch\n" + error["message"].ToString());
notifyForm.ShowDialog();
notifyForm.Dispose();
buttonRedeemAll.Enabled = true;
return;
}
if (resp.ContainsKey("result"))
{
JObject result = JObject.Parse(resp["result"].ToString());
string hash = result["hash"].ToString();
NotifyForm notifyForm = new NotifyForm("Batch sent\n" + hash, "Explorer", UserSettings["explorer-tx"] + hash);
notifyForm.ShowDialog();
notifyForm.Dispose();
}
buttonRedeemAll.Enabled = true;
}
private async void buttonSendAll_Click(object sender, EventArgs e)
{
buttonSendAll.Enabled = false;
string content = "{\"method\": \"sendbatch\", \"params\":[[[\"REVEAL\"],[\"REDEEM\"],[\"RENEW\"]]]}";
AddLog(content);
string response = await APIPost("", true, content);
if (response == "Error")
{
AddLog("Error sending batch");
NotifyForm notifyForm = new NotifyForm("Error sending batch");
notifyForm.ShowDialog();
notifyForm.Dispose();
buttonSendAll.Enabled = true;
return;
}
JObject resp = JObject.Parse(response);
if (resp["error"].ToString() != "")
{
AddLog("Error sending batch");
AddLog(resp["error"].ToString());
JObject error = JObject.Parse(resp["error"].ToString());
NotifyForm notifyForm = new NotifyForm("Error sending batch\n" + error["message"].ToString());
notifyForm.ShowDialog();
notifyForm.Dispose();
buttonSendAll.Enabled = true;
return;
}
if (resp.ContainsKey("result"))
{
JObject result = JObject.Parse(resp["result"].ToString());
string hash = result["hash"].ToString();
NotifyForm notifyForm = new NotifyForm("Batch sent\n" + hash, "Explorer", UserSettings["explorer-tx"] + hash);
notifyForm.ShowDialog();
notifyForm.Dispose();
}
buttonSendAll.Enabled = true;
}
} }
} }

File diff suppressed because it is too large Load Diff

View File

@@ -59,5 +59,15 @@ namespace FireWallet.Properties {
resourceCulture = value; resourceCulture = value;
} }
} }
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap FWSplash {
get {
object obj = ResourceManager.GetObject("FWSplash", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
} }
} }

View File

@@ -117,4 +117,8 @@
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="FWSplash" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\FWSplash.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root> </root>

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

View File

@@ -28,11 +28,18 @@
/// </summary> /// </summary>
private void InitializeComponent() private void InitializeComponent()
{ {
components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SplashScreen)); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SplashScreen));
label1 = new Label(); label1 = new Label();
pictureBox1 = new PictureBox(); pictureBox1 = new PictureBox();
label2 = new Label(); label2 = new Label();
panelNew = new Panel();
pictureBoxNew = new PictureBox();
timerIn = new System.Windows.Forms.Timer(components);
timerOut = new System.Windows.Forms.Timer(components);
((System.ComponentModel.ISupportInitialize)pictureBox1).BeginInit(); ((System.ComponentModel.ISupportInitialize)pictureBox1).BeginInit();
panelNew.SuspendLayout();
((System.ComponentModel.ISupportInitialize)pictureBoxNew).BeginInit();
SuspendLayout(); SuspendLayout();
// //
// label1 // label1
@@ -67,12 +74,45 @@
label2.Text = "Nathan.Woodburn/"; label2.Text = "Nathan.Woodburn/";
label2.Click += label2_Click; label2.Click += label2_Click;
// //
// panelNew
//
panelNew.Controls.Add(pictureBoxNew);
panelNew.Dock = DockStyle.Fill;
panelNew.Location = new Point(0, 0);
panelNew.Name = "panelNew";
panelNew.Size = new Size(450, 450);
panelNew.TabIndex = 3;
//
// pictureBoxNew
//
pictureBoxNew.BackColor = Color.Black;
pictureBoxNew.Dock = DockStyle.Fill;
pictureBoxNew.Image = Properties.Resources.FWSplash;
pictureBoxNew.InitialImage = null;
pictureBoxNew.Location = new Point(0, 0);
pictureBoxNew.Name = "pictureBoxNew";
pictureBoxNew.Size = new Size(450, 450);
pictureBoxNew.SizeMode = PictureBoxSizeMode.Zoom;
pictureBoxNew.TabIndex = 0;
pictureBoxNew.TabStop = false;
pictureBoxNew.Visible = false;
//
// timerIn
//
timerIn.Enabled = true;
timerIn.Tick += timerIn_Tick;
//
// timerOut
//
timerOut.Tick += timerOut_Tick;
//
// SplashScreen // SplashScreen
// //
AutoScaleDimensions = new SizeF(7F, 15F); AutoScaleDimensions = new SizeF(7F, 15F);
AutoScaleMode = AutoScaleMode.Font; AutoScaleMode = AutoScaleMode.Font;
BackColor = Color.Black; BackColor = Color.Black;
ClientSize = new Size(444, 435); ClientSize = new Size(450, 450);
Controls.Add(panelNew);
Controls.Add(label2); Controls.Add(label2);
Controls.Add(pictureBox1); Controls.Add(pictureBox1);
Controls.Add(label1); Controls.Add(label1);
@@ -83,8 +123,12 @@
ShowInTaskbar = false; ShowInTaskbar = false;
StartPosition = FormStartPosition.CenterScreen; StartPosition = FormStartPosition.CenterScreen;
Text = "FireWallet"; Text = "FireWallet";
TopMost = true;
FormClosing += SplashScreen_FormClosing; FormClosing += SplashScreen_FormClosing;
Load += SplashScreen_Load;
((System.ComponentModel.ISupportInitialize)pictureBox1).EndInit(); ((System.ComponentModel.ISupportInitialize)pictureBox1).EndInit();
panelNew.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)pictureBoxNew).EndInit();
ResumeLayout(false); ResumeLayout(false);
PerformLayout(); PerformLayout();
} }
@@ -93,5 +137,9 @@
private Label label1; private Label label1;
private PictureBox pictureBox1; private PictureBox pictureBox1;
private Label label2; private Label label2;
private Panel panelNew;
private PictureBox pictureBoxNew;
private System.Windows.Forms.Timer timerIn;
private System.Windows.Forms.Timer timerOut;
} }
} }

View File

@@ -1,13 +1,6 @@
using System; using System.Diagnostics;
using System.Collections.Generic; using System.Drawing.Imaging;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace FireWallet namespace FireWallet
{ {
@@ -17,8 +10,10 @@ namespace FireWallet
{ {
InitializeComponent(); InitializeComponent();
close = false; close = false;
IsClosed = false;
} }
bool close; bool close;
float opacity = 0.0f;
private void SplashScreen_FormClosing(object sender, FormClosingEventArgs e) private void SplashScreen_FormClosing(object sender, FormClosingEventArgs e)
{ {
if (!close) if (!close)
@@ -26,12 +21,15 @@ namespace FireWallet
e.Cancel = true; e.Cancel = true;
} }
} }
public bool IsClosed { get; set; }
public void CloseSplash() public void CloseSplash()
{ {
close = true; close = true;
this.Close();
}
// Fade out
timerIn.Stop();
timerOut.Start();
}
private void label2_Click(object sender, EventArgs e) private void label2_Click(object sender, EventArgs e)
{ {
ProcessStartInfo psi = new ProcessStartInfo ProcessStartInfo psi = new ProcessStartInfo
@@ -41,5 +39,56 @@ namespace FireWallet
}; };
Process.Start(psi); Process.Start(psi);
} }
Bitmap splash = new Bitmap(Properties.Resources.FWSplash);
private void SplashScreen_Load(object sender, EventArgs e)
{
pictureBoxNew.Visible = true;
this.TransparencyKey = Color.FromArgb(0, 0, 0);
pictureBoxNew.Invalidate();
}
public Image SetImageOpacity(Image image, float opacity)
{
try
{
Bitmap bmp = new Bitmap(image.Width, image.Height);
using (Graphics gfx = Graphics.FromImage(bmp))
{
ColorMatrix matrix = new ColorMatrix();
matrix.Matrix33 = opacity;
ImageAttributes attributes = new ImageAttributes();
attributes.SetColorMatrix(matrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap);
gfx.DrawImage(image, new Rectangle(0, 0, bmp.Width, bmp.Height), 0, 0, image.Width, image.Height, GraphicsUnit.Pixel, attributes);
}
return bmp;
}
catch
{
return null;
}
}
private void timerIn_Tick(object sender, EventArgs e)
{
if (opacity >= 1)
{
timerIn.Stop();
return;
}
opacity += 0.05f;
pictureBoxNew.Image = SetImageOpacity(splash, opacity);
pictureBoxNew.Invalidate();
}
private void timerOut_Tick(object sender, EventArgs e)
{
if (opacity <= 0)
{
timerOut.Stop();
IsClosed = true;
this.Close();
return;
}
opacity -= 0.05f;
pictureBoxNew.Image = SetImageOpacity(splash, opacity);
pictureBoxNew.Invalidate();
}
} }
} }

View File

@@ -898,6 +898,12 @@
AAAAAAAAAAAAAADQwWbM+D8RAPjBClJL0gAAAABJRU5ErkJggg== AAAAAAAAAAAAAADQwWbM+D8RAPjBClJL0gAAAABJRU5ErkJggg==
</value> </value>
</data> </data>
<metadata name="timerIn.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="timerOut.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>104, 17</value>
</metadata>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAABAAEAAAAAAAEAIAB2pAAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAOEAAADAAgGAAAAfG+p9QAAIABJ AAABAAEAAAAAAAEAIAB2pAAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAOEAAADAAgGAAAAfG+p9QAAIABJ

BIN
FireWallet/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB