Statistics
| Branch: | Revision:

root / trunk / NetSparkle / NetSparkleForm.cs @ 70e0b702

History | View | Annotate | Download (2.9 kB)

1 46426dbd Panagiotis Kanavos
using System;
2 46426dbd Panagiotis Kanavos
using System.Diagnostics;
3 46426dbd Panagiotis Kanavos
using System.Drawing;
4 46426dbd Panagiotis Kanavos
using System.Windows.Forms;
5 46426dbd Panagiotis Kanavos
6 46426dbd Panagiotis Kanavos
namespace AppLimit.NetSparkle
7 46426dbd Panagiotis Kanavos
{
8 46426dbd Panagiotis Kanavos
    public partial class NetSparkleForm : Form
9 46426dbd Panagiotis Kanavos
    {
10 46426dbd Panagiotis Kanavos
        NetSparkleAppCastItem _currentItem;
11 46426dbd Panagiotis Kanavos
        
12 46426dbd Panagiotis Kanavos
        public NetSparkleForm(NetSparkleAppCastItem item, Image appIcon, Icon windowIcon)
13 46426dbd Panagiotis Kanavos
        {            
14 46426dbd Panagiotis Kanavos
            InitializeComponent();
15 46426dbd Panagiotis Kanavos
            
16 46426dbd Panagiotis Kanavos
            // init ui 
17 46426dbd Panagiotis Kanavos
            try
18 46426dbd Panagiotis Kanavos
            {
19 46426dbd Panagiotis Kanavos
                NetSparkleBrowser.AllowWebBrowserDrop = false;
20 46426dbd Panagiotis Kanavos
                NetSparkleBrowser.AllowNavigation = false;
21 46426dbd Panagiotis Kanavos
            }
22 46426dbd Panagiotis Kanavos
            catch (Exception)
23 46426dbd Panagiotis Kanavos
            { }
24 46426dbd Panagiotis Kanavos
            
25 46426dbd Panagiotis Kanavos
            _currentItem = item;
26 46426dbd Panagiotis Kanavos
27 46426dbd Panagiotis Kanavos
            lblHeader.Text = lblHeader.Text.Replace("APP", item.AppName);
28 46426dbd Panagiotis Kanavos
            lblInfoText.Text = lblInfoText.Text.Replace("APP", item.AppName + " " + item.Version);
29 46426dbd Panagiotis Kanavos
            lblInfoText.Text = lblInfoText.Text.Replace("OLDVERSION", item.AppVersionInstalled);
30 46426dbd Panagiotis Kanavos
31 6f03d6e1 Panagiotis Kanavos
            if (!String.IsNullOrWhiteSpace(item.Summary))
32 6f03d6e1 Panagiotis Kanavos
            {
33 6f03d6e1 Panagiotis Kanavos
                NetSparkleBrowser.DocumentText = "<html><body>" + item.Summary + "</html></body>";
34 6f03d6e1 Panagiotis Kanavos
            }
35 6f03d6e1 Panagiotis Kanavos
            else
36 6f03d6e1 Panagiotis Kanavos
            {
37 6f03d6e1 Panagiotis Kanavos
                if (item.ReleaseNotesLink != null && item.ReleaseNotesLink.Length > 0)
38 6f03d6e1 Panagiotis Kanavos
                    NetSparkleBrowser.Navigate(item.ReleaseNotesLink);
39 6f03d6e1 Panagiotis Kanavos
                else
40 6f03d6e1 Panagiotis Kanavos
                    RemoveReleaseNotesControls();
41 6f03d6e1 Panagiotis Kanavos
            }
42 46426dbd Panagiotis Kanavos
43 46426dbd Panagiotis Kanavos
            if (appIcon != null)
44 46426dbd Panagiotis Kanavos
                imgAppIcon.Image = appIcon;
45 46426dbd Panagiotis Kanavos
46 46426dbd Panagiotis Kanavos
            if (windowIcon != null)
47 46426dbd Panagiotis Kanavos
                Icon = windowIcon;
48 46426dbd Panagiotis Kanavos
        }
49 46426dbd Panagiotis Kanavos
50 46426dbd Panagiotis Kanavos
        public void RemoveReleaseNotesControls()
51 46426dbd Panagiotis Kanavos
        {
52 46426dbd Panagiotis Kanavos
            if (label3.Parent == null)
53 46426dbd Panagiotis Kanavos
                return;
54 46426dbd Panagiotis Kanavos
55 46426dbd Panagiotis Kanavos
            // calc new size
56 46426dbd Panagiotis Kanavos
            Size newSize = new Size(this.Size.Width, this.Size.Height - label3.Height - panel1.Height);
57 46426dbd Panagiotis Kanavos
58 46426dbd Panagiotis Kanavos
            // remove the no more needed controls            
59 46426dbd Panagiotis Kanavos
            label3.Parent.Controls.Remove(label3);
60 46426dbd Panagiotis Kanavos
            NetSparkleBrowser.Parent.Controls.Remove(NetSparkleBrowser);
61 46426dbd Panagiotis Kanavos
            panel1.Parent.Controls.Remove(panel1);
62 46426dbd Panagiotis Kanavos
63 46426dbd Panagiotis Kanavos
            // resize the window
64 46426dbd Panagiotis Kanavos
            /*this.MinimumSize = newSize;
65 46426dbd Panagiotis Kanavos
            this.Size = this.MinimumSize;
66 46426dbd Panagiotis Kanavos
            this.MaximumSize = this.MinimumSize;*/
67 46426dbd Panagiotis Kanavos
            this.Size = newSize;
68 46426dbd Panagiotis Kanavos
        }
69 46426dbd Panagiotis Kanavos
70 46426dbd Panagiotis Kanavos
        private void skipButton_Click(object sender, EventArgs e)
71 46426dbd Panagiotis Kanavos
        {
72 46426dbd Panagiotis Kanavos
            // set the dialog result to no
73 46426dbd Panagiotis Kanavos
            this.DialogResult = DialogResult.No;
74 46426dbd Panagiotis Kanavos
75 46426dbd Panagiotis Kanavos
            // close the windows
76 46426dbd Panagiotis Kanavos
            Close();
77 46426dbd Panagiotis Kanavos
        }
78 46426dbd Panagiotis Kanavos
79 46426dbd Panagiotis Kanavos
        private void buttonRemind_Click(object sender, EventArgs e)
80 46426dbd Panagiotis Kanavos
        {
81 46426dbd Panagiotis Kanavos
            // set the dialog result ot retry
82 46426dbd Panagiotis Kanavos
            this.DialogResult = DialogResult.Retry;
83 46426dbd Panagiotis Kanavos
84 46426dbd Panagiotis Kanavos
            // close the window
85 46426dbd Panagiotis Kanavos
            Close();
86 46426dbd Panagiotis Kanavos
        }
87 46426dbd Panagiotis Kanavos
88 46426dbd Panagiotis Kanavos
        private void updateButton_Click(object sender, EventArgs e)
89 46426dbd Panagiotis Kanavos
        {
90 46426dbd Panagiotis Kanavos
            // set the result to yes
91 46426dbd Panagiotis Kanavos
            DialogResult = DialogResult.Yes;
92 46426dbd Panagiotis Kanavos
93 46426dbd Panagiotis Kanavos
            // close the dialog
94 46426dbd Panagiotis Kanavos
            Close();
95 46426dbd Panagiotis Kanavos
        }
96 46426dbd Panagiotis Kanavos
    }
97 46426dbd Panagiotis Kanavos
}