Fixed Issue 66.
authormoel.mich
Sun, 04 Jul 2010 12:12:37 +0000
changeset 150522da3b8cb1a
parent 149 de70c4468b36
child 151 76e18684713d
Fixed Issue 66.
GUI/CrashForm.Designer.cs
GUI/CrashForm.cs
GUI/CrashForm.resx
GUI/CrashReportForm.Designer.cs
GUI/CrashReportForm.cs
GUI/CrashReportForm.resx
GUI/MainForm.Designer.cs
GUI/MainForm.cs
GUI/ReportForm.Designer.cs
GUI/ReportForm.cs
GUI/ReportForm.resx
OpenHardwareMonitor.csproj
Program.cs
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/GUI/CrashForm.Designer.cs	Sun Jul 04 12:12:37 2010 +0000
     1.3 @@ -0,0 +1,279 @@
     1.4 +/*
     1.5 +  
     1.6 +  Version: MPL 1.1/GPL 2.0/LGPL 2.1
     1.7 +
     1.8 +  The contents of this file are subject to the Mozilla Public License Version
     1.9 +  1.1 (the "License"); you may not use this file except in compliance with
    1.10 +  the License. You may obtain a copy of the License at
    1.11 + 
    1.12 +  http://www.mozilla.org/MPL/
    1.13 +
    1.14 +  Software distributed under the License is distributed on an "AS IS" basis,
    1.15 +  WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
    1.16 +  for the specific language governing rights and limitations under the License.
    1.17 +
    1.18 +  The Original Code is the Open Hardware Monitor code.
    1.19 +
    1.20 +  The Initial Developer of the Original Code is 
    1.21 +  Michael Möller <m.moeller@gmx.ch>.
    1.22 +  Portions created by the Initial Developer are Copyright (C) 2009-2010
    1.23 +  the Initial Developer. All Rights Reserved.
    1.24 +
    1.25 +  Contributor(s):
    1.26 +
    1.27 +  Alternatively, the contents of this file may be used under the terms of
    1.28 +  either the GNU General Public License Version 2 or later (the "GPL"), or
    1.29 +  the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
    1.30 +  in which case the provisions of the GPL or the LGPL are applicable instead
    1.31 +  of those above. If you wish to allow use of your version of this file only
    1.32 +  under the terms of either the GPL or the LGPL, and not to allow others to
    1.33 +  use your version of this file under the terms of the MPL, indicate your
    1.34 +  decision by deleting the provisions above and replace them with the notice
    1.35 +  and other provisions required by the GPL or the LGPL. If you do not delete
    1.36 +  the provisions above, a recipient may use your version of this file under
    1.37 +  the terms of any one of the MPL, the GPL or the LGPL.
    1.38 + 
    1.39 +*/
    1.40 +
    1.41 +namespace OpenHardwareMonitor.GUI {
    1.42 +  partial class CrashForm {
    1.43 +    /// <summary>
    1.44 +    /// Required designer variable.
    1.45 +    /// </summary>
    1.46 +    private System.ComponentModel.IContainer components = null;
    1.47 +
    1.48 +    /// <summary>
    1.49 +    /// Clean up any resources being used.
    1.50 +    /// </summary>
    1.51 +    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
    1.52 +    protected override void Dispose(bool disposing) {
    1.53 +      if (disposing && (components != null)) {
    1.54 +        components.Dispose();
    1.55 +      }
    1.56 +      base.Dispose(disposing);
    1.57 +    }
    1.58 +
    1.59 +    #region Windows Form Designer generated code
    1.60 +
    1.61 +    /// <summary>
    1.62 +    /// Required method for Designer support - do not modify
    1.63 +    /// the contents of this method with the code editor.
    1.64 +    /// </summary>
    1.65 +    private void InitializeComponent() {
    1.66 +      this.sendButton = new System.Windows.Forms.Button();
    1.67 +      this.exitButton = new System.Windows.Forms.Button();
    1.68 +      this.commentTextBox = new System.Windows.Forms.TextBox();
    1.69 +      this.titleLabel = new System.Windows.Forms.Label();
    1.70 +      this.label3 = new System.Windows.Forms.Label();
    1.71 +      this.label1 = new System.Windows.Forms.Label();
    1.72 +      this.commentPanel = new System.Windows.Forms.Panel();
    1.73 +      this.reportPanel = new System.Windows.Forms.Panel();
    1.74 +      this.reportTextBox = new System.Windows.Forms.TextBox();
    1.75 +      this.textBox1 = new System.Windows.Forms.TextBox();
    1.76 +      this.label2 = new System.Windows.Forms.Label();
    1.77 +      this.emailTextBox = new System.Windows.Forms.TextBox();
    1.78 +      this.commentPanel.SuspendLayout();
    1.79 +      this.reportPanel.SuspendLayout();
    1.80 +      this.SuspendLayout();
    1.81 +      // 
    1.82 +      // sendButton
    1.83 +      // 
    1.84 +      this.sendButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
    1.85 +      this.sendButton.Location = new System.Drawing.Point(449, 469);
    1.86 +      this.sendButton.Name = "sendButton";
    1.87 +      this.sendButton.Size = new System.Drawing.Size(75, 23);
    1.88 +      this.sendButton.TabIndex = 2;
    1.89 +      this.sendButton.Text = "Send";
    1.90 +      this.sendButton.UseVisualStyleBackColor = true;
    1.91 +      this.sendButton.Click += new System.EventHandler(this.sendButton_Click);
    1.92 +      // 
    1.93 +      // exitButton
    1.94 +      // 
    1.95 +      this.exitButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
    1.96 +      this.exitButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
    1.97 +      this.exitButton.Location = new System.Drawing.Point(530, 469);
    1.98 +      this.exitButton.Name = "exitButton";
    1.99 +      this.exitButton.Size = new System.Drawing.Size(75, 23);
   1.100 +      this.exitButton.TabIndex = 3;
   1.101 +      this.exitButton.Text = "Exit";
   1.102 +      this.exitButton.UseVisualStyleBackColor = true;
   1.103 +      // 
   1.104 +      // commentTextBox
   1.105 +      // 
   1.106 +      this.commentTextBox.AcceptsReturn = true;
   1.107 +      this.commentTextBox.BorderStyle = System.Windows.Forms.BorderStyle.None;
   1.108 +      this.commentTextBox.Dock = System.Windows.Forms.DockStyle.Fill;
   1.109 +      this.commentTextBox.Location = new System.Drawing.Point(4, 4);
   1.110 +      this.commentTextBox.Multiline = true;
   1.111 +      this.commentTextBox.Name = "commentTextBox";
   1.112 +      this.commentTextBox.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
   1.113 +      this.commentTextBox.Size = new System.Drawing.Size(586, 77);
   1.114 +      this.commentTextBox.TabIndex = 1;
   1.115 +      // 
   1.116 +      // titleLabel
   1.117 +      // 
   1.118 +      this.titleLabel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
   1.119 +                  | System.Windows.Forms.AnchorStyles.Right)));
   1.120 +      this.titleLabel.BackColor = System.Drawing.SystemColors.Window;
   1.121 +      this.titleLabel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
   1.122 +      this.titleLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
   1.123 +      this.titleLabel.Location = new System.Drawing.Point(-1, -1);
   1.124 +      this.titleLabel.Name = "titleLabel";
   1.125 +      this.titleLabel.Padding = new System.Windows.Forms.Padding(10);
   1.126 +      this.titleLabel.Size = new System.Drawing.Size(619, 52);
   1.127 +      this.titleLabel.TabIndex = 4;
   1.128 +      this.titleLabel.Text = "Open Hardware Monitor has encountered a problem and needs to close. We are sorry " +
   1.129 +          "for the inconvenience.";
   1.130 +      // 
   1.131 +      // label3
   1.132 +      // 
   1.133 +      this.label3.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
   1.134 +                  | System.Windows.Forms.AnchorStyles.Right)));
   1.135 +      this.label3.AutoEllipsis = true;
   1.136 +      this.label3.AutoSize = true;
   1.137 +      this.label3.Location = new System.Drawing.Point(9, 63);
   1.138 +      this.label3.Margin = new System.Windows.Forms.Padding(3, 12, 3, 8);
   1.139 +      this.label3.Name = "label3";
   1.140 +      this.label3.Size = new System.Drawing.Size(571, 13);
   1.141 +      this.label3.TabIndex = 5;
   1.142 +      this.label3.Text = "To help diagnose and fix the problem, you can send a crash report. The following " +
   1.143 +          "report has been created automatically:";
   1.144 +      // 
   1.145 +      // label1
   1.146 +      // 
   1.147 +      this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
   1.148 +                  | System.Windows.Forms.AnchorStyles.Right)));
   1.149 +      this.label1.AutoEllipsis = true;
   1.150 +      this.label1.AutoSize = true;
   1.151 +      this.label1.Location = new System.Drawing.Point(9, 347);
   1.152 +      this.label1.Margin = new System.Windows.Forms.Padding(3, 12, 3, 8);
   1.153 +      this.label1.Name = "label1";
   1.154 +      this.label1.Size = new System.Drawing.Size(279, 13);
   1.155 +      this.label1.TabIndex = 6;
   1.156 +      this.label1.Text = "You can add additional information to the report (optional):";
   1.157 +      // 
   1.158 +      // commentPanel
   1.159 +      // 
   1.160 +      this.commentPanel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
   1.161 +                  | System.Windows.Forms.AnchorStyles.Right)));
   1.162 +      this.commentPanel.BackColor = System.Drawing.SystemColors.Window;
   1.163 +      this.commentPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
   1.164 +      this.commentPanel.Controls.Add(this.commentTextBox);
   1.165 +      this.commentPanel.Location = new System.Drawing.Point(12, 371);
   1.166 +      this.commentPanel.Margin = new System.Windows.Forms.Padding(3, 3, 3, 8);
   1.167 +      this.commentPanel.Name = "commentPanel";
   1.168 +      this.commentPanel.Padding = new System.Windows.Forms.Padding(4, 4, 1, 4);
   1.169 +      this.commentPanel.Size = new System.Drawing.Size(593, 87);
   1.170 +      this.commentPanel.TabIndex = 1;
   1.171 +      this.commentPanel.TabStop = true;
   1.172 +      // 
   1.173 +      // reportPanel
   1.174 +      // 
   1.175 +      this.reportPanel.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
   1.176 +                  | System.Windows.Forms.AnchorStyles.Left)
   1.177 +                  | System.Windows.Forms.AnchorStyles.Right)));
   1.178 +      this.reportPanel.BackColor = System.Drawing.SystemColors.Window;
   1.179 +      this.reportPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
   1.180 +      this.reportPanel.Controls.Add(this.reportTextBox);
   1.181 +      this.reportPanel.Controls.Add(this.textBox1);
   1.182 +      this.reportPanel.Location = new System.Drawing.Point(12, 87);
   1.183 +      this.reportPanel.Name = "reportPanel";
   1.184 +      this.reportPanel.Padding = new System.Windows.Forms.Padding(4, 4, 1, 4);
   1.185 +      this.reportPanel.Size = new System.Drawing.Size(593, 212);
   1.186 +      this.reportPanel.TabIndex = 8;
   1.187 +      // 
   1.188 +      // reportTextBox
   1.189 +      // 
   1.190 +      this.reportTextBox.BackColor = System.Drawing.SystemColors.Window;
   1.191 +      this.reportTextBox.BorderStyle = System.Windows.Forms.BorderStyle.None;
   1.192 +      this.reportTextBox.Dock = System.Windows.Forms.DockStyle.Fill;
   1.193 +      this.reportTextBox.Location = new System.Drawing.Point(4, 4);
   1.194 +      this.reportTextBox.Multiline = true;
   1.195 +      this.reportTextBox.Name = "reportTextBox";
   1.196 +      this.reportTextBox.ReadOnly = true;
   1.197 +      this.reportTextBox.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
   1.198 +      this.reportTextBox.Size = new System.Drawing.Size(586, 202);
   1.199 +      this.reportTextBox.TabIndex = 9;
   1.200 +      this.reportTextBox.TabStop = false;
   1.201 +      // 
   1.202 +      // textBox1
   1.203 +      // 
   1.204 +      this.textBox1.BorderStyle = System.Windows.Forms.BorderStyle.None;
   1.205 +      this.textBox1.Dock = System.Windows.Forms.DockStyle.Fill;
   1.206 +      this.textBox1.Location = new System.Drawing.Point(4, 4);
   1.207 +      this.textBox1.Multiline = true;
   1.208 +      this.textBox1.Name = "textBox1";
   1.209 +      this.textBox1.Size = new System.Drawing.Size(586, 202);
   1.210 +      this.textBox1.TabIndex = 2;
   1.211 +      // 
   1.212 +      // label2
   1.213 +      // 
   1.214 +      this.label2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
   1.215 +                  | System.Windows.Forms.AnchorStyles.Right)));
   1.216 +      this.label2.AutoEllipsis = true;
   1.217 +      this.label2.AutoSize = true;
   1.218 +      this.label2.Location = new System.Drawing.Point(9, 318);
   1.219 +      this.label2.Margin = new System.Windows.Forms.Padding(3, 12, 3, 8);
   1.220 +      this.label2.Name = "label2";
   1.221 +      this.label2.Size = new System.Drawing.Size(171, 13);
   1.222 +      this.label2.TabIndex = 9;
   1.223 +      this.label2.Text = "Enter your email address (optional):";
   1.224 +      // 
   1.225 +      // emailTextBox
   1.226 +      // 
   1.227 +      this.emailTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
   1.228 +                  | System.Windows.Forms.AnchorStyles.Right)));
   1.229 +      this.emailTextBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
   1.230 +      this.emailTextBox.Location = new System.Drawing.Point(188, 315);
   1.231 +      this.emailTextBox.Name = "emailTextBox";
   1.232 +      this.emailTextBox.Size = new System.Drawing.Size(417, 20);
   1.233 +      this.emailTextBox.TabIndex = 0;
   1.234 +      // 
   1.235 +      // CrashReportForm
   1.236 +      // 
   1.237 +      this.AcceptButton = this.sendButton;
   1.238 +      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
   1.239 +      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
   1.240 +      this.CancelButton = this.exitButton;
   1.241 +      this.ClientSize = new System.Drawing.Size(617, 504);
   1.242 +      this.ControlBox = false;
   1.243 +      this.Controls.Add(this.emailTextBox);
   1.244 +      this.Controls.Add(this.label2);
   1.245 +      this.Controls.Add(this.reportPanel);
   1.246 +      this.Controls.Add(this.commentPanel);
   1.247 +      this.Controls.Add(this.label1);
   1.248 +      this.Controls.Add(this.label3);
   1.249 +      this.Controls.Add(this.titleLabel);
   1.250 +      this.Controls.Add(this.exitButton);
   1.251 +      this.Controls.Add(this.sendButton);
   1.252 +      this.MaximizeBox = false;
   1.253 +      this.MinimizeBox = false;
   1.254 +      this.Name = "CrashReportForm";
   1.255 +      this.ShowIcon = false;
   1.256 +      this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
   1.257 +      this.Text = "Open Hardware Monitor";
   1.258 +      this.commentPanel.ResumeLayout(false);
   1.259 +      this.commentPanel.PerformLayout();
   1.260 +      this.reportPanel.ResumeLayout(false);
   1.261 +      this.reportPanel.PerformLayout();
   1.262 +      this.ResumeLayout(false);
   1.263 +      this.PerformLayout();
   1.264 +
   1.265 +    }
   1.266 +
   1.267 +    #endregion
   1.268 +
   1.269 +    private System.Windows.Forms.Button sendButton;
   1.270 +    private System.Windows.Forms.Button exitButton;
   1.271 +    private System.Windows.Forms.TextBox commentTextBox;
   1.272 +    private System.Windows.Forms.Label titleLabel;
   1.273 +    private System.Windows.Forms.Label label3;
   1.274 +    private System.Windows.Forms.Label label1;
   1.275 +    private System.Windows.Forms.Panel commentPanel;
   1.276 +    private System.Windows.Forms.Panel reportPanel;
   1.277 +    private System.Windows.Forms.TextBox reportTextBox;
   1.278 +    private System.Windows.Forms.TextBox textBox1;
   1.279 +    private System.Windows.Forms.Label label2;
   1.280 +    private System.Windows.Forms.TextBox emailTextBox;
   1.281 +  }
   1.282 +}
   1.283 \ No newline at end of file
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/GUI/CrashForm.cs	Sun Jul 04 12:12:37 2010 +0000
     2.3 @@ -0,0 +1,121 @@
     2.4 +/*
     2.5 +  
     2.6 +  Version: MPL 1.1/GPL 2.0/LGPL 2.1
     2.7 +
     2.8 +  The contents of this file are subject to the Mozilla Public License Version
     2.9 +  1.1 (the "License"); you may not use this file except in compliance with
    2.10 +  the License. You may obtain a copy of the License at
    2.11 + 
    2.12 +  http://www.mozilla.org/MPL/
    2.13 +
    2.14 +  Software distributed under the License is distributed on an "AS IS" basis,
    2.15 +  WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
    2.16 +  for the specific language governing rights and limitations under the License.
    2.17 +
    2.18 +  The Original Code is the Open Hardware Monitor code.
    2.19 +
    2.20 +  The Initial Developer of the Original Code is 
    2.21 +  Michael Möller <m.moeller@gmx.ch>.
    2.22 +  Portions created by the Initial Developer are Copyright (C) 2009-2010
    2.23 +  the Initial Developer. All Rights Reserved.
    2.24 +
    2.25 +  Contributor(s):
    2.26 +
    2.27 +  Alternatively, the contents of this file may be used under the terms of
    2.28 +  either the GNU General Public License Version 2 or later (the "GPL"), or
    2.29 +  the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
    2.30 +  in which case the provisions of the GPL or the LGPL are applicable instead
    2.31 +  of those above. If you wish to allow use of your version of this file only
    2.32 +  under the terms of either the GPL or the LGPL, and not to allow others to
    2.33 +  use your version of this file under the terms of the MPL, indicate your
    2.34 +  decision by deleting the provisions above and replace them with the notice
    2.35 +  and other provisions required by the GPL or the LGPL. If you do not delete
    2.36 +  the provisions above, a recipient may use your version of this file under
    2.37 +  the terms of any one of the MPL, the GPL or the LGPL.
    2.38 + 
    2.39 +*/
    2.40 +
    2.41 +using System;
    2.42 +using System.Collections.Generic;
    2.43 +using System.ComponentModel;
    2.44 +using System.Drawing;
    2.45 +using System.IO;
    2.46 +using System.Net;
    2.47 +using System.Text;
    2.48 +using System.Web;
    2.49 +using System.Windows.Forms;
    2.50 +
    2.51 +namespace OpenHardwareMonitor.GUI {
    2.52 +  public partial class CrashForm : Form {
    2.53 +
    2.54 +    private Exception exception;
    2.55 +
    2.56 +    public CrashForm() {
    2.57 +      InitializeComponent();
    2.58 +    }
    2.59 +
    2.60 +    public Exception Exception {
    2.61 +      get { return exception; }
    2.62 +      set {
    2.63 +        exception = value;
    2.64 +        StringBuilder s = new StringBuilder();
    2.65 +        Version version = typeof(CrashForm).Assembly.GetName().Version;
    2.66 +        s.Append("Version: "); s.AppendLine(version.ToString());        
    2.67 +        s.AppendLine();
    2.68 +        s.AppendLine(exception.ToString());
    2.69 +        s.AppendLine();
    2.70 +        if (exception.InnerException != null) {
    2.71 +          s.AppendLine(exception.InnerException.ToString());
    2.72 +          s.AppendLine();
    2.73 +        }
    2.74 +        s.Append("Common Language Runtime: "); 
    2.75 +        s.AppendLine(Environment.Version.ToString());
    2.76 +        s.Append("Operating System: ");
    2.77 +        s.AppendLine(Environment.OSVersion.ToString());
    2.78 +        s.Append("Process Type: ");
    2.79 +        s.AppendLine(IntPtr.Size == 4 ? "32-Bit" : "64-Bit");
    2.80 +        reportTextBox.Text = s.ToString();        
    2.81 +      }
    2.82 +    }
    2.83 +
    2.84 +    private void sendButton_Click(object sender, EventArgs e) {
    2.85 +      try {
    2.86 +        Version version = typeof(CrashForm).Assembly.GetName().Version;
    2.87 +        WebRequest request = WebRequest.Create(
    2.88 +          "http://openhardwaremonitor.org/report.php");
    2.89 +        request.Method = "POST";
    2.90 +        request.Timeout = 5000;
    2.91 +        request.ContentType = "application/x-www-form-urlencoded";
    2.92 +
    2.93 +        string report =
    2.94 +          "type=crash&" + 
    2.95 +          "version=" + HttpUtility.UrlEncode(version.ToString()) + "&" +
    2.96 +          "report=" + HttpUtility.UrlEncode(reportTextBox.Text) + "&" +
    2.97 +          "comment=" + HttpUtility.UrlEncode(commentTextBox.Text) + "&" +
    2.98 +          "email=" + HttpUtility.UrlEncode(emailTextBox.Text);
    2.99 +        byte[] byteArray = Encoding.UTF8.GetBytes(report);
   2.100 +        request.ContentLength = byteArray.Length;
   2.101 +
   2.102 +        try {
   2.103 +          Stream dataStream = request.GetRequestStream();
   2.104 +          dataStream.Write(byteArray, 0, byteArray.Length);
   2.105 +          dataStream.Close();
   2.106 +
   2.107 +          WebResponse response = request.GetResponse();
   2.108 +          dataStream = response.GetResponseStream();
   2.109 +          StreamReader reader = new StreamReader(dataStream);
   2.110 +          string responseFromServer = reader.ReadToEnd();
   2.111 +          reader.Close();
   2.112 +          dataStream.Close();
   2.113 +          response.Close();
   2.114 +
   2.115 +          Close();
   2.116 +        } catch (WebException) {
   2.117 +          MessageBox.Show("Sending the crash report failed.", "Error", 
   2.118 +            MessageBoxButtons.OK, MessageBoxIcon.Error);
   2.119 +        }
   2.120 +      } catch {
   2.121 +      }
   2.122 +    }
   2.123 +  }  
   2.124 +}
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/GUI/CrashForm.resx	Sun Jul 04 12:12:37 2010 +0000
     3.3 @@ -0,0 +1,120 @@
     3.4 +<?xml version="1.0" encoding="utf-8"?>
     3.5 +<root>
     3.6 +  <!-- 
     3.7 +    Microsoft ResX Schema 
     3.8 +    
     3.9 +    Version 2.0
    3.10 +    
    3.11 +    The primary goals of this format is to allow a simple XML format 
    3.12 +    that is mostly human readable. The generation and parsing of the 
    3.13 +    various data types are done through the TypeConverter classes 
    3.14 +    associated with the data types.
    3.15 +    
    3.16 +    Example:
    3.17 +    
    3.18 +    ... ado.net/XML headers & schema ...
    3.19 +    <resheader name="resmimetype">text/microsoft-resx</resheader>
    3.20 +    <resheader name="version">2.0</resheader>
    3.21 +    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
    3.22 +    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
    3.23 +    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
    3.24 +    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
    3.25 +    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
    3.26 +        <value>[base64 mime encoded serialized .NET Framework object]</value>
    3.27 +    </data>
    3.28 +    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
    3.29 +        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
    3.30 +        <comment>This is a comment</comment>
    3.31 +    </data>
    3.32 +                
    3.33 +    There are any number of "resheader" rows that contain simple 
    3.34 +    name/value pairs.
    3.35 +    
    3.36 +    Each data row contains a name, and value. The row also contains a 
    3.37 +    type or mimetype. Type corresponds to a .NET class that support 
    3.38 +    text/value conversion through the TypeConverter architecture. 
    3.39 +    Classes that don't support this are serialized and stored with the 
    3.40 +    mimetype set.
    3.41 +    
    3.42 +    The mimetype is used for serialized objects, and tells the 
    3.43 +    ResXResourceReader how to depersist the object. This is currently not 
    3.44 +    extensible. For a given mimetype the value must be set accordingly:
    3.45 +    
    3.46 +    Note - application/x-microsoft.net.object.binary.base64 is the format 
    3.47 +    that the ResXResourceWriter will generate, however the reader can 
    3.48 +    read any of the formats listed below.
    3.49 +    
    3.50 +    mimetype: application/x-microsoft.net.object.binary.base64
    3.51 +    value   : The object must be serialized with 
    3.52 +            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
    3.53 +            : and then encoded with base64 encoding.
    3.54 +    
    3.55 +    mimetype: application/x-microsoft.net.object.soap.base64
    3.56 +    value   : The object must be serialized with 
    3.57 +            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
    3.58 +            : and then encoded with base64 encoding.
    3.59 +
    3.60 +    mimetype: application/x-microsoft.net.object.bytearray.base64
    3.61 +    value   : The object must be serialized into a byte array 
    3.62 +            : using a System.ComponentModel.TypeConverter
    3.63 +            : and then encoded with base64 encoding.
    3.64 +    -->
    3.65 +  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    3.66 +    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
    3.67 +    <xsd:element name="root" msdata:IsDataSet="true">
    3.68 +      <xsd:complexType>
    3.69 +        <xsd:choice maxOccurs="unbounded">
    3.70 +          <xsd:element name="metadata">
    3.71 +            <xsd:complexType>
    3.72 +              <xsd:sequence>
    3.73 +                <xsd:element name="value" type="xsd:string" minOccurs="0" />
    3.74 +              </xsd:sequence>
    3.75 +              <xsd:attribute name="name" use="required" type="xsd:string" />
    3.76 +              <xsd:attribute name="type" type="xsd:string" />
    3.77 +              <xsd:attribute name="mimetype" type="xsd:string" />
    3.78 +              <xsd:attribute ref="xml:space" />
    3.79 +            </xsd:complexType>
    3.80 +          </xsd:element>
    3.81 +          <xsd:element name="assembly">
    3.82 +            <xsd:complexType>
    3.83 +              <xsd:attribute name="alias" type="xsd:string" />
    3.84 +              <xsd:attribute name="name" type="xsd:string" />
    3.85 +            </xsd:complexType>
    3.86 +          </xsd:element>
    3.87 +          <xsd:element name="data">
    3.88 +            <xsd:complexType>
    3.89 +              <xsd:sequence>
    3.90 +                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
    3.91 +                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
    3.92 +              </xsd:sequence>
    3.93 +              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
    3.94 +              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
    3.95 +              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
    3.96 +              <xsd:attribute ref="xml:space" />
    3.97 +            </xsd:complexType>
    3.98 +          </xsd:element>
    3.99 +          <xsd:element name="resheader">
   3.100 +            <xsd:complexType>
   3.101 +              <xsd:sequence>
   3.102 +                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
   3.103 +              </xsd:sequence>
   3.104 +              <xsd:attribute name="name" type="xsd:string" use="required" />
   3.105 +            </xsd:complexType>
   3.106 +          </xsd:element>
   3.107 +        </xsd:choice>
   3.108 +      </xsd:complexType>
   3.109 +    </xsd:element>
   3.110 +  </xsd:schema>
   3.111 +  <resheader name="resmimetype">
   3.112 +    <value>text/microsoft-resx</value>
   3.113 +  </resheader>
   3.114 +  <resheader name="version">
   3.115 +    <value>2.0</value>
   3.116 +  </resheader>
   3.117 +  <resheader name="reader">
   3.118 +    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   3.119 +  </resheader>
   3.120 +  <resheader name="writer">
   3.121 +    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   3.122 +  </resheader>
   3.123 +</root>
   3.124 \ No newline at end of file
     4.1 --- a/GUI/CrashReportForm.Designer.cs	Sat Jul 03 12:08:51 2010 +0000
     4.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.3 @@ -1,279 +0,0 @@
     4.4 -/*
     4.5 -  
     4.6 -  Version: MPL 1.1/GPL 2.0/LGPL 2.1
     4.7 -
     4.8 -  The contents of this file are subject to the Mozilla Public License Version
     4.9 -  1.1 (the "License"); you may not use this file except in compliance with
    4.10 -  the License. You may obtain a copy of the License at
    4.11 - 
    4.12 -  http://www.mozilla.org/MPL/
    4.13 -
    4.14 -  Software distributed under the License is distributed on an "AS IS" basis,
    4.15 -  WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
    4.16 -  for the specific language governing rights and limitations under the License.
    4.17 -
    4.18 -  The Original Code is the Open Hardware Monitor code.
    4.19 -
    4.20 -  The Initial Developer of the Original Code is 
    4.21 -  Michael Möller <m.moeller@gmx.ch>.
    4.22 -  Portions created by the Initial Developer are Copyright (C) 2009-2010
    4.23 -  the Initial Developer. All Rights Reserved.
    4.24 -
    4.25 -  Contributor(s):
    4.26 -
    4.27 -  Alternatively, the contents of this file may be used under the terms of
    4.28 -  either the GNU General Public License Version 2 or later (the "GPL"), or
    4.29 -  the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
    4.30 -  in which case the provisions of the GPL or the LGPL are applicable instead
    4.31 -  of those above. If you wish to allow use of your version of this file only
    4.32 -  under the terms of either the GPL or the LGPL, and not to allow others to
    4.33 -  use your version of this file under the terms of the MPL, indicate your
    4.34 -  decision by deleting the provisions above and replace them with the notice
    4.35 -  and other provisions required by the GPL or the LGPL. If you do not delete
    4.36 -  the provisions above, a recipient may use your version of this file under
    4.37 -  the terms of any one of the MPL, the GPL or the LGPL.
    4.38 - 
    4.39 -*/
    4.40 -
    4.41 -namespace OpenHardwareMonitor.GUI {
    4.42 -  partial class CrashReportForm {
    4.43 -    /// <summary>
    4.44 -    /// Required designer variable.
    4.45 -    /// </summary>
    4.46 -    private System.ComponentModel.IContainer components = null;
    4.47 -
    4.48 -    /// <summary>
    4.49 -    /// Clean up any resources being used.
    4.50 -    /// </summary>
    4.51 -    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
    4.52 -    protected override void Dispose(bool disposing) {
    4.53 -      if (disposing && (components != null)) {
    4.54 -        components.Dispose();
    4.55 -      }
    4.56 -      base.Dispose(disposing);
    4.57 -    }
    4.58 -
    4.59 -    #region Windows Form Designer generated code
    4.60 -
    4.61 -    /// <summary>
    4.62 -    /// Required method for Designer support - do not modify
    4.63 -    /// the contents of this method with the code editor.
    4.64 -    /// </summary>
    4.65 -    private void InitializeComponent() {
    4.66 -      this.sendButton = new System.Windows.Forms.Button();
    4.67 -      this.exitButton = new System.Windows.Forms.Button();
    4.68 -      this.commentTextBox = new System.Windows.Forms.TextBox();
    4.69 -      this.titleLabel = new System.Windows.Forms.Label();
    4.70 -      this.label3 = new System.Windows.Forms.Label();
    4.71 -      this.label1 = new System.Windows.Forms.Label();
    4.72 -      this.commentPanel = new System.Windows.Forms.Panel();
    4.73 -      this.reportPanel = new System.Windows.Forms.Panel();
    4.74 -      this.reportTextBox = new System.Windows.Forms.TextBox();
    4.75 -      this.textBox1 = new System.Windows.Forms.TextBox();
    4.76 -      this.label2 = new System.Windows.Forms.Label();
    4.77 -      this.emailTextBox = new System.Windows.Forms.TextBox();
    4.78 -      this.commentPanel.SuspendLayout();
    4.79 -      this.reportPanel.SuspendLayout();
    4.80 -      this.SuspendLayout();
    4.81 -      // 
    4.82 -      // sendButton
    4.83 -      // 
    4.84 -      this.sendButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
    4.85 -      this.sendButton.Location = new System.Drawing.Point(449, 469);
    4.86 -      this.sendButton.Name = "sendButton";
    4.87 -      this.sendButton.Size = new System.Drawing.Size(75, 23);
    4.88 -      this.sendButton.TabIndex = 2;
    4.89 -      this.sendButton.Text = "Send";
    4.90 -      this.sendButton.UseVisualStyleBackColor = true;
    4.91 -      this.sendButton.Click += new System.EventHandler(this.sendButton_Click);
    4.92 -      // 
    4.93 -      // exitButton
    4.94 -      // 
    4.95 -      this.exitButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
    4.96 -      this.exitButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
    4.97 -      this.exitButton.Location = new System.Drawing.Point(530, 469);
    4.98 -      this.exitButton.Name = "exitButton";
    4.99 -      this.exitButton.Size = new System.Drawing.Size(75, 23);
   4.100 -      this.exitButton.TabIndex = 3;
   4.101 -      this.exitButton.Text = "Exit";
   4.102 -      this.exitButton.UseVisualStyleBackColor = true;
   4.103 -      // 
   4.104 -      // commentTextBox
   4.105 -      // 
   4.106 -      this.commentTextBox.AcceptsReturn = true;
   4.107 -      this.commentTextBox.BorderStyle = System.Windows.Forms.BorderStyle.None;
   4.108 -      this.commentTextBox.Dock = System.Windows.Forms.DockStyle.Fill;
   4.109 -      this.commentTextBox.Location = new System.Drawing.Point(4, 4);
   4.110 -      this.commentTextBox.Multiline = true;
   4.111 -      this.commentTextBox.Name = "commentTextBox";
   4.112 -      this.commentTextBox.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
   4.113 -      this.commentTextBox.Size = new System.Drawing.Size(586, 77);
   4.114 -      this.commentTextBox.TabIndex = 1;
   4.115 -      // 
   4.116 -      // titleLabel
   4.117 -      // 
   4.118 -      this.titleLabel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
   4.119 -                  | System.Windows.Forms.AnchorStyles.Right)));
   4.120 -      this.titleLabel.BackColor = System.Drawing.SystemColors.Window;
   4.121 -      this.titleLabel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
   4.122 -      this.titleLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
   4.123 -      this.titleLabel.Location = new System.Drawing.Point(-1, -1);
   4.124 -      this.titleLabel.Name = "titleLabel";
   4.125 -      this.titleLabel.Padding = new System.Windows.Forms.Padding(10);
   4.126 -      this.titleLabel.Size = new System.Drawing.Size(619, 52);
   4.127 -      this.titleLabel.TabIndex = 4;
   4.128 -      this.titleLabel.Text = "Open Hardware Monitor has encountered a problem and needs to close. We are sorry " +
   4.129 -          "for the inconvenience.";
   4.130 -      // 
   4.131 -      // label3
   4.132 -      // 
   4.133 -      this.label3.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
   4.134 -                  | System.Windows.Forms.AnchorStyles.Right)));
   4.135 -      this.label3.AutoEllipsis = true;
   4.136 -      this.label3.AutoSize = true;
   4.137 -      this.label3.Location = new System.Drawing.Point(9, 63);
   4.138 -      this.label3.Margin = new System.Windows.Forms.Padding(3, 12, 3, 8);
   4.139 -      this.label3.Name = "label3";
   4.140 -      this.label3.Size = new System.Drawing.Size(571, 13);
   4.141 -      this.label3.TabIndex = 5;
   4.142 -      this.label3.Text = "To help diagnose and fix the problem, you can send a crash report. The following " +
   4.143 -          "report has been created automatically:";
   4.144 -      // 
   4.145 -      // label1
   4.146 -      // 
   4.147 -      this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
   4.148 -                  | System.Windows.Forms.AnchorStyles.Right)));
   4.149 -      this.label1.AutoEllipsis = true;
   4.150 -      this.label1.AutoSize = true;
   4.151 -      this.label1.Location = new System.Drawing.Point(9, 347);
   4.152 -      this.label1.Margin = new System.Windows.Forms.Padding(3, 12, 3, 8);
   4.153 -      this.label1.Name = "label1";
   4.154 -      this.label1.Size = new System.Drawing.Size(279, 13);
   4.155 -      this.label1.TabIndex = 6;
   4.156 -      this.label1.Text = "You can add additional information to the report (optional):";
   4.157 -      // 
   4.158 -      // commentPanel
   4.159 -      // 
   4.160 -      this.commentPanel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
   4.161 -                  | System.Windows.Forms.AnchorStyles.Right)));
   4.162 -      this.commentPanel.BackColor = System.Drawing.SystemColors.Window;
   4.163 -      this.commentPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
   4.164 -      this.commentPanel.Controls.Add(this.commentTextBox);
   4.165 -      this.commentPanel.Location = new System.Drawing.Point(12, 371);
   4.166 -      this.commentPanel.Margin = new System.Windows.Forms.Padding(3, 3, 3, 8);
   4.167 -      this.commentPanel.Name = "commentPanel";
   4.168 -      this.commentPanel.Padding = new System.Windows.Forms.Padding(4, 4, 1, 4);
   4.169 -      this.commentPanel.Size = new System.Drawing.Size(593, 87);
   4.170 -      this.commentPanel.TabIndex = 1;
   4.171 -      this.commentPanel.TabStop = true;
   4.172 -      // 
   4.173 -      // reportPanel
   4.174 -      // 
   4.175 -      this.reportPanel.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
   4.176 -                  | System.Windows.Forms.AnchorStyles.Left)
   4.177 -                  | System.Windows.Forms.AnchorStyles.Right)));
   4.178 -      this.reportPanel.BackColor = System.Drawing.SystemColors.Window;
   4.179 -      this.reportPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
   4.180 -      this.reportPanel.Controls.Add(this.reportTextBox);
   4.181 -      this.reportPanel.Controls.Add(this.textBox1);
   4.182 -      this.reportPanel.Location = new System.Drawing.Point(12, 87);
   4.183 -      this.reportPanel.Name = "reportPanel";
   4.184 -      this.reportPanel.Padding = new System.Windows.Forms.Padding(4, 4, 1, 4);
   4.185 -      this.reportPanel.Size = new System.Drawing.Size(593, 212);
   4.186 -      this.reportPanel.TabIndex = 8;
   4.187 -      // 
   4.188 -      // reportTextBox
   4.189 -      // 
   4.190 -      this.reportTextBox.BackColor = System.Drawing.SystemColors.Window;
   4.191 -      this.reportTextBox.BorderStyle = System.Windows.Forms.BorderStyle.None;
   4.192 -      this.reportTextBox.Dock = System.Windows.Forms.DockStyle.Fill;
   4.193 -      this.reportTextBox.Location = new System.Drawing.Point(4, 4);
   4.194 -      this.reportTextBox.Multiline = true;
   4.195 -      this.reportTextBox.Name = "reportTextBox";
   4.196 -      this.reportTextBox.ReadOnly = true;
   4.197 -      this.reportTextBox.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
   4.198 -      this.reportTextBox.Size = new System.Drawing.Size(586, 202);
   4.199 -      this.reportTextBox.TabIndex = 9;
   4.200 -      this.reportTextBox.TabStop = false;
   4.201 -      // 
   4.202 -      // textBox1
   4.203 -      // 
   4.204 -      this.textBox1.BorderStyle = System.Windows.Forms.BorderStyle.None;
   4.205 -      this.textBox1.Dock = System.Windows.Forms.DockStyle.Fill;
   4.206 -      this.textBox1.Location = new System.Drawing.Point(4, 4);
   4.207 -      this.textBox1.Multiline = true;
   4.208 -      this.textBox1.Name = "textBox1";
   4.209 -      this.textBox1.Size = new System.Drawing.Size(586, 202);
   4.210 -      this.textBox1.TabIndex = 2;
   4.211 -      // 
   4.212 -      // label2
   4.213 -      // 
   4.214 -      this.label2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
   4.215 -                  | System.Windows.Forms.AnchorStyles.Right)));
   4.216 -      this.label2.AutoEllipsis = true;
   4.217 -      this.label2.AutoSize = true;
   4.218 -      this.label2.Location = new System.Drawing.Point(9, 318);
   4.219 -      this.label2.Margin = new System.Windows.Forms.Padding(3, 12, 3, 8);
   4.220 -      this.label2.Name = "label2";
   4.221 -      this.label2.Size = new System.Drawing.Size(171, 13);
   4.222 -      this.label2.TabIndex = 9;
   4.223 -      this.label2.Text = "Enter your email address (optional):";
   4.224 -      // 
   4.225 -      // emailTextBox
   4.226 -      // 
   4.227 -      this.emailTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
   4.228 -                  | System.Windows.Forms.AnchorStyles.Right)));
   4.229 -      this.emailTextBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
   4.230 -      this.emailTextBox.Location = new System.Drawing.Point(188, 315);
   4.231 -      this.emailTextBox.Name = "emailTextBox";
   4.232 -      this.emailTextBox.Size = new System.Drawing.Size(417, 20);
   4.233 -      this.emailTextBox.TabIndex = 0;
   4.234 -      // 
   4.235 -      // CrashReportForm
   4.236 -      // 
   4.237 -      this.AcceptButton = this.sendButton;
   4.238 -      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
   4.239 -      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
   4.240 -      this.CancelButton = this.exitButton;
   4.241 -      this.ClientSize = new System.Drawing.Size(617, 504);
   4.242 -      this.ControlBox = false;
   4.243 -      this.Controls.Add(this.emailTextBox);
   4.244 -      this.Controls.Add(this.label2);
   4.245 -      this.Controls.Add(this.reportPanel);
   4.246 -      this.Controls.Add(this.commentPanel);
   4.247 -      this.Controls.Add(this.label1);
   4.248 -      this.Controls.Add(this.label3);
   4.249 -      this.Controls.Add(this.titleLabel);
   4.250 -      this.Controls.Add(this.exitButton);
   4.251 -      this.Controls.Add(this.sendButton);
   4.252 -      this.MaximizeBox = false;
   4.253 -      this.MinimizeBox = false;
   4.254 -      this.Name = "CrashReportForm";
   4.255 -      this.ShowIcon = false;
   4.256 -      this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
   4.257 -      this.Text = "Open Hardware Monitor";
   4.258 -      this.commentPanel.ResumeLayout(false);
   4.259 -      this.commentPanel.PerformLayout();
   4.260 -      this.reportPanel.ResumeLayout(false);
   4.261 -      this.reportPanel.PerformLayout();
   4.262 -      this.ResumeLayout(false);
   4.263 -      this.PerformLayout();
   4.264 -
   4.265 -    }
   4.266 -
   4.267 -    #endregion
   4.268 -
   4.269 -    private System.Windows.Forms.Button sendButton;
   4.270 -    private System.Windows.Forms.Button exitButton;
   4.271 -    private System.Windows.Forms.TextBox commentTextBox;
   4.272 -    private System.Windows.Forms.Label titleLabel;
   4.273 -    private System.Windows.Forms.Label label3;
   4.274 -    private System.Windows.Forms.Label label1;
   4.275 -    private System.Windows.Forms.Panel commentPanel;
   4.276 -    private System.Windows.Forms.Panel reportPanel;
   4.277 -    private System.Windows.Forms.TextBox reportTextBox;
   4.278 -    private System.Windows.Forms.TextBox textBox1;
   4.279 -    private System.Windows.Forms.Label label2;
   4.280 -    private System.Windows.Forms.TextBox emailTextBox;
   4.281 -  }
   4.282 -}
   4.283 \ No newline at end of file
     5.1 --- a/GUI/CrashReportForm.cs	Sat Jul 03 12:08:51 2010 +0000
     5.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.3 @@ -1,120 +0,0 @@
     5.4 -/*
     5.5 -  
     5.6 -  Version: MPL 1.1/GPL 2.0/LGPL 2.1
     5.7 -
     5.8 -  The contents of this file are subject to the Mozilla Public License Version
     5.9 -  1.1 (the "License"); you may not use this file except in compliance with
    5.10 -  the License. You may obtain a copy of the License at
    5.11 - 
    5.12 -  http://www.mozilla.org/MPL/
    5.13 -
    5.14 -  Software distributed under the License is distributed on an "AS IS" basis,
    5.15 -  WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
    5.16 -  for the specific language governing rights and limitations under the License.
    5.17 -
    5.18 -  The Original Code is the Open Hardware Monitor code.
    5.19 -
    5.20 -  The Initial Developer of the Original Code is 
    5.21 -  Michael Möller <m.moeller@gmx.ch>.
    5.22 -  Portions created by the Initial Developer are Copyright (C) 2009-2010
    5.23 -  the Initial Developer. All Rights Reserved.
    5.24 -
    5.25 -  Contributor(s):
    5.26 -
    5.27 -  Alternatively, the contents of this file may be used under the terms of
    5.28 -  either the GNU General Public License Version 2 or later (the "GPL"), or
    5.29 -  the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
    5.30 -  in which case the provisions of the GPL or the LGPL are applicable instead
    5.31 -  of those above. If you wish to allow use of your version of this file only
    5.32 -  under the terms of either the GPL or the LGPL, and not to allow others to
    5.33 -  use your version of this file under the terms of the MPL, indicate your
    5.34 -  decision by deleting the provisions above and replace them with the notice
    5.35 -  and other provisions required by the GPL or the LGPL. If you do not delete
    5.36 -  the provisions above, a recipient may use your version of this file under
    5.37 -  the terms of any one of the MPL, the GPL or the LGPL.
    5.38 - 
    5.39 -*/
    5.40 -
    5.41 -using System;
    5.42 -using System.Collections.Generic;
    5.43 -using System.ComponentModel;
    5.44 -using System.Drawing;
    5.45 -using System.IO;
    5.46 -using System.Net;
    5.47 -using System.Text;
    5.48 -using System.Web;
    5.49 -using System.Windows.Forms;
    5.50 -
    5.51 -namespace OpenHardwareMonitor.GUI {
    5.52 -  public partial class CrashReportForm : Form {
    5.53 -
    5.54 -    private Exception exception;
    5.55 -
    5.56 -    public CrashReportForm() {
    5.57 -      InitializeComponent();
    5.58 -    }
    5.59 -
    5.60 -    public Exception Exception {
    5.61 -      get { return exception; }
    5.62 -      set {
    5.63 -        exception = value;
    5.64 -        StringBuilder s = new StringBuilder();
    5.65 -        Version version = typeof(CrashReportForm).Assembly.GetName().Version;
    5.66 -        s.Append("Version: "); s.AppendLine(version.ToString());        
    5.67 -        s.AppendLine();
    5.68 -        s.AppendLine(exception.ToString());
    5.69 -        s.AppendLine();
    5.70 -        if (exception.InnerException != null) {
    5.71 -          s.AppendLine(exception.InnerException.ToString());
    5.72 -          s.AppendLine();
    5.73 -        }
    5.74 -        s.Append("Common Language Runtime: "); 
    5.75 -        s.AppendLine(Environment.Version.ToString());
    5.76 -        s.Append("Operating System: ");
    5.77 -        s.AppendLine(Environment.OSVersion.ToString());
    5.78 -        s.Append("Process Type: ");
    5.79 -        s.AppendLine(IntPtr.Size == 4 ? "32-Bit" : "64-Bit");
    5.80 -        reportTextBox.Text = s.ToString();        
    5.81 -      }
    5.82 -    }
    5.83 -
    5.84 -    private void sendButton_Click(object sender, EventArgs e) {
    5.85 -      try {
    5.86 -        Version version = typeof(CrashReportForm).Assembly.GetName().Version;
    5.87 -        WebRequest request = WebRequest.Create(
    5.88 -          "http://openhardwaremonitor.org/report.php");
    5.89 -        request.Method = "POST";
    5.90 -        request.Timeout = 5000;
    5.91 -        request.ContentType = "application/x-www-form-urlencoded";
    5.92 -
    5.93 -        string report =
    5.94 -          "version=" + HttpUtility.UrlEncode(version.ToString()) + "&" +
    5.95 -          "report=" + HttpUtility.UrlEncode(reportTextBox.Text) + "&" +
    5.96 -          "comment=" + HttpUtility.UrlEncode(commentTextBox.Text) + "&" +
    5.97 -          "email=" + HttpUtility.UrlEncode(emailTextBox.Text);
    5.98 -        byte[] byteArray = Encoding.UTF8.GetBytes(report);
    5.99 -        request.ContentLength = byteArray.Length;
   5.100 -
   5.101 -        try {
   5.102 -          Stream dataStream = request.GetRequestStream();
   5.103 -          dataStream.Write(byteArray, 0, byteArray.Length);
   5.104 -          dataStream.Close();
   5.105 -
   5.106 -          WebResponse response = request.GetResponse();
   5.107 -          dataStream = response.GetResponseStream();
   5.108 -          StreamReader reader = new StreamReader(dataStream);
   5.109 -          string responseFromServer = reader.ReadToEnd();
   5.110 -          reader.Close();
   5.111 -          dataStream.Close();
   5.112 -          response.Close();
   5.113 -
   5.114 -          Close();
   5.115 -        } catch (WebException) {
   5.116 -          MessageBox.Show("Sending the crash report failed.", "Error", 
   5.117 -            MessageBoxButtons.OK, MessageBoxIcon.Error);
   5.118 -        }
   5.119 -      } catch {
   5.120 -      }
   5.121 -    }
   5.122 -  }  
   5.123 -}
     6.1 --- a/GUI/CrashReportForm.resx	Sat Jul 03 12:08:51 2010 +0000
     6.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.3 @@ -1,120 +0,0 @@
     6.4 -<?xml version="1.0" encoding="utf-8"?>
     6.5 -<root>
     6.6 -  <!-- 
     6.7 -    Microsoft ResX Schema 
     6.8 -    
     6.9 -    Version 2.0
    6.10 -    
    6.11 -    The primary goals of this format is to allow a simple XML format 
    6.12 -    that is mostly human readable. The generation and parsing of the 
    6.13 -    various data types are done through the TypeConverter classes 
    6.14 -    associated with the data types.
    6.15 -    
    6.16 -    Example:
    6.17 -    
    6.18 -    ... ado.net/XML headers & schema ...
    6.19 -    <resheader name="resmimetype">text/microsoft-resx</resheader>
    6.20 -    <resheader name="version">2.0</resheader>
    6.21 -    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
    6.22 -    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
    6.23 -    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
    6.24 -    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
    6.25 -    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
    6.26 -        <value>[base64 mime encoded serialized .NET Framework object]</value>
    6.27 -    </data>
    6.28 -    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
    6.29 -        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
    6.30 -        <comment>This is a comment</comment>
    6.31 -    </data>
    6.32 -                
    6.33 -    There are any number of "resheader" rows that contain simple 
    6.34 -    name/value pairs.
    6.35 -    
    6.36 -    Each data row contains a name, and value. The row also contains a 
    6.37 -    type or mimetype. Type corresponds to a .NET class that support 
    6.38 -    text/value conversion through the TypeConverter architecture. 
    6.39 -    Classes that don't support this are serialized and stored with the 
    6.40 -    mimetype set.
    6.41 -    
    6.42 -    The mimetype is used for serialized objects, and tells the 
    6.43 -    ResXResourceReader how to depersist the object. This is currently not 
    6.44 -    extensible. For a given mimetype the value must be set accordingly:
    6.45 -    
    6.46 -    Note - application/x-microsoft.net.object.binary.base64 is the format 
    6.47 -    that the ResXResourceWriter will generate, however the reader can 
    6.48 -    read any of the formats listed below.
    6.49 -    
    6.50 -    mimetype: application/x-microsoft.net.object.binary.base64
    6.51 -    value   : The object must be serialized with 
    6.52 -            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
    6.53 -            : and then encoded with base64 encoding.
    6.54 -    
    6.55 -    mimetype: application/x-microsoft.net.object.soap.base64
    6.56 -    value   : The object must be serialized with 
    6.57 -            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
    6.58 -            : and then encoded with base64 encoding.
    6.59 -
    6.60 -    mimetype: application/x-microsoft.net.object.bytearray.base64
    6.61 -    value   : The object must be serialized into a byte array 
    6.62 -            : using a System.ComponentModel.TypeConverter
    6.63 -            : and then encoded with base64 encoding.
    6.64 -    -->
    6.65 -  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    6.66 -    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
    6.67 -    <xsd:element name="root" msdata:IsDataSet="true">
    6.68 -      <xsd:complexType>
    6.69 -        <xsd:choice maxOccurs="unbounded">
    6.70 -          <xsd:element name="metadata">
    6.71 -            <xsd:complexType>
    6.72 -              <xsd:sequence>
    6.73 -                <xsd:element name="value" type="xsd:string" minOccurs="0" />
    6.74 -              </xsd:sequence>
    6.75 -              <xsd:attribute name="name" use="required" type="xsd:string" />
    6.76 -              <xsd:attribute name="type" type="xsd:string" />
    6.77 -              <xsd:attribute name="mimetype" type="xsd:string" />
    6.78 -              <xsd:attribute ref="xml:space" />
    6.79 -            </xsd:complexType>
    6.80 -          </xsd:element>
    6.81 -          <xsd:element name="assembly">
    6.82 -            <xsd:complexType>
    6.83 -              <xsd:attribute name="alias" type="xsd:string" />
    6.84 -              <xsd:attribute name="name" type="xsd:string" />
    6.85 -            </xsd:complexType>
    6.86 -          </xsd:element>
    6.87 -          <xsd:element name="data">
    6.88 -            <xsd:complexType>
    6.89 -              <xsd:sequence>
    6.90 -                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
    6.91 -                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
    6.92 -              </xsd:sequence>
    6.93 -              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
    6.94 -              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
    6.95 -              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
    6.96 -              <xsd:attribute ref="xml:space" />
    6.97 -            </xsd:complexType>
    6.98 -          </xsd:element>
    6.99 -          <xsd:element name="resheader">
   6.100 -            <xsd:complexType>
   6.101 -              <xsd:sequence>
   6.102 -                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
   6.103 -              </xsd:sequence>
   6.104 -              <xsd:attribute name="name" type="xsd:string" use="required" />
   6.105 -            </xsd:complexType>
   6.106 -          </xsd:element>
   6.107 -        </xsd:choice>
   6.108 -      </xsd:complexType>
   6.109 -    </xsd:element>
   6.110 -  </xsd:schema>
   6.111 -  <resheader name="resmimetype">
   6.112 -    <value>text/microsoft-resx</value>
   6.113 -  </resheader>
   6.114 -  <resheader name="version">
   6.115 -    <value>2.0</value>
   6.116 -  </resheader>
   6.117 -  <resheader name="reader">
   6.118 -    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   6.119 -  </resheader>
   6.120 -  <resheader name="writer">
   6.121 -    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   6.122 -  </resheader>
   6.123 -</root>
   6.124 \ No newline at end of file
     7.1 --- a/GUI/MainForm.Designer.cs	Sat Jul 03 12:08:51 2010 +0000
     7.2 +++ b/GUI/MainForm.Designer.cs	Sun Jul 04 12:12:37 2010 +0000
     7.3 @@ -102,6 +102,8 @@
     7.4        this.sensorContextMenuStrip = new System.Windows.Forms.ContextMenuStrip(this.components);
     7.5        this.saveFileDialog = new System.Windows.Forms.SaveFileDialog();
     7.6        this.timer = new System.Windows.Forms.Timer(this.components);
     7.7 +      this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripSeparator();
     7.8 +      this.sumbitReportToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
     7.9        this.menuStrip.SuspendLayout();
    7.10        this.splitContainer.Panel1.SuspendLayout();
    7.11        this.splitContainer.Panel2.SuspendLayout();
    7.12 @@ -227,6 +229,8 @@
    7.13        // 
    7.14        this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
    7.15              this.saveReportToolStripMenuItem,
    7.16 +            this.sumbitReportToolStripMenuItem,
    7.17 +            this.toolStripMenuItem2,
    7.18              this.exitToolStripMenuItem});
    7.19        this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
    7.20        this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20);
    7.21 @@ -235,14 +239,14 @@
    7.22        // saveReportToolStripMenuItem
    7.23        // 
    7.24        this.saveReportToolStripMenuItem.Name = "saveReportToolStripMenuItem";
    7.25 -      this.saveReportToolStripMenuItem.Size = new System.Drawing.Size(145, 22);
    7.26 +      this.saveReportToolStripMenuItem.Size = new System.Drawing.Size(159, 22);
    7.27        this.saveReportToolStripMenuItem.Text = "Save Report...";
    7.28        this.saveReportToolStripMenuItem.Click += new System.EventHandler(this.saveReportToolStripMenuItem_Click);
    7.29        // 
    7.30        // exitToolStripMenuItem
    7.31        // 
    7.32        this.exitToolStripMenuItem.Name = "exitToolStripMenuItem";
    7.33 -      this.exitToolStripMenuItem.Size = new System.Drawing.Size(145, 22);
    7.34 +      this.exitToolStripMenuItem.Size = new System.Drawing.Size(159, 22);
    7.35        this.exitToolStripMenuItem.Text = "Exit";
    7.36        this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitClick);
    7.37        // 
    7.38 @@ -296,7 +300,7 @@
    7.39        this.valueMenuItem.CheckOnClick = true;
    7.40        this.valueMenuItem.CheckState = System.Windows.Forms.CheckState.Checked;
    7.41        this.valueMenuItem.Name = "valueMenuItem";
    7.42 -      this.valueMenuItem.Size = new System.Drawing.Size(152, 22);
    7.43 +      this.valueMenuItem.Size = new System.Drawing.Size(103, 22);
    7.44        this.valueMenuItem.Text = "Value";
    7.45        this.valueMenuItem.CheckedChanged += new System.EventHandler(this.valueMenuItem_CheckedChanged);
    7.46        // 
    7.47 @@ -306,7 +310,7 @@
    7.48        this.minMenuItem.CheckOnClick = true;
    7.49        this.minMenuItem.CheckState = System.Windows.Forms.CheckState.Checked;
    7.50        this.minMenuItem.Name = "minMenuItem";
    7.51 -      this.minMenuItem.Size = new System.Drawing.Size(152, 22);
    7.52 +      this.minMenuItem.Size = new System.Drawing.Size(103, 22);
    7.53        this.minMenuItem.Text = "Min";
    7.54        this.minMenuItem.CheckedChanged += new System.EventHandler(this.minMenuItem_CheckedChanged);
    7.55        // 
    7.56 @@ -316,7 +320,7 @@
    7.57        this.maxMenuItem.CheckOnClick = true;
    7.58        this.maxMenuItem.CheckState = System.Windows.Forms.CheckState.Checked;
    7.59        this.maxMenuItem.Name = "maxMenuItem";
    7.60 -      this.maxMenuItem.Size = new System.Drawing.Size(152, 22);
    7.61 +      this.maxMenuItem.Size = new System.Drawing.Size(103, 22);
    7.62        this.maxMenuItem.Text = "Max";
    7.63        this.maxMenuItem.CheckedChanged += new System.EventHandler(this.maxMenuItem_CheckedChanged);
    7.64        // 
    7.65 @@ -460,6 +464,18 @@
    7.66        this.timer.Interval = 1000;
    7.67        this.timer.Tick += new System.EventHandler(this.timer_Tick);
    7.68        // 
    7.69 +      // toolStripMenuItem2
    7.70 +      // 
    7.71 +      this.toolStripMenuItem2.Name = "toolStripMenuItem2";
    7.72 +      this.toolStripMenuItem2.Size = new System.Drawing.Size(156, 6);
    7.73 +      // 
    7.74 +      // sumbitReportToolStripMenuItem
    7.75 +      // 
    7.76 +      this.sumbitReportToolStripMenuItem.Name = "sumbitReportToolStripMenuItem";
    7.77 +      this.sumbitReportToolStripMenuItem.Size = new System.Drawing.Size(159, 22);
    7.78 +      this.sumbitReportToolStripMenuItem.Text = "Submit Report...";
    7.79 +      this.sumbitReportToolStripMenuItem.Click += new System.EventHandler(this.sumbitReportToolStripMenuItem_Click);
    7.80 +      // 
    7.81        // MainForm
    7.82        // 
    7.83        this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
    7.84 @@ -525,6 +541,8 @@
    7.85      private System.Windows.Forms.ToolStripSeparator toolStripMenuItem4;
    7.86      private System.Windows.Forms.ToolStripMenuItem celciusToolStripMenuItem;
    7.87      private System.Windows.Forms.ToolStripMenuItem fahrenheitToolStripMenuItem;
    7.88 +    private System.Windows.Forms.ToolStripMenuItem sumbitReportToolStripMenuItem;
    7.89 +    private System.Windows.Forms.ToolStripSeparator toolStripMenuItem2;
    7.90    }
    7.91  }
    7.92  
     8.1 --- a/GUI/MainForm.cs	Sat Jul 03 12:08:51 2010 +0000
     8.2 +++ b/GUI/MainForm.cs	Sun Jul 04 12:12:37 2010 +0000
     8.3 @@ -455,5 +455,12 @@
     8.4        fahrenheitToolStripMenuItem.Checked = true;
     8.5        UnitManager.TemperatureUnit = TemperatureUnit.Fahrenheit;
     8.6      }
     8.7 +
     8.8 +    private void sumbitReportToolStripMenuItem_Click(object sender, EventArgs e) 
     8.9 +    {
    8.10 +      ReportForm form = new ReportForm();
    8.11 +      form.Report = computer.GetReport();
    8.12 +      form.ShowDialog();      
    8.13 +    }
    8.14    }
    8.15  }
     9.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     9.2 +++ b/GUI/ReportForm.Designer.cs	Sun Jul 04 12:12:37 2010 +0000
     9.3 @@ -0,0 +1,273 @@
     9.4 +/*
     9.5 +  
     9.6 +  Version: MPL 1.1/GPL 2.0/LGPL 2.1
     9.7 +
     9.8 +  The contents of this file are subject to the Mozilla Public License Version
     9.9 +  1.1 (the "License"); you may not use this file except in compliance with
    9.10 +  the License. You may obtain a copy of the License at
    9.11 + 
    9.12 +  http://www.mozilla.org/MPL/
    9.13 +
    9.14 +  Software distributed under the License is distributed on an "AS IS" basis,
    9.15 +  WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
    9.16 +  for the specific language governing rights and limitations under the License.
    9.17 +
    9.18 +  The Original Code is the Open Hardware Monitor code.
    9.19 +
    9.20 +  The Initial Developer of the Original Code is 
    9.21 +  Michael Möller <m.moeller@gmx.ch>.
    9.22 +  Portions created by the Initial Developer are Copyright (C) 2009-2010
    9.23 +  the Initial Developer. All Rights Reserved.
    9.24 +
    9.25 +  Contributor(s):
    9.26 +
    9.27 +  Alternatively, the contents of this file may be used under the terms of
    9.28 +  either the GNU General Public License Version 2 or later (the "GPL"), or
    9.29 +  the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
    9.30 +  in which case the provisions of the GPL or the LGPL are applicable instead
    9.31 +  of those above. If you wish to allow use of your version of this file only
    9.32 +  under the terms of either the GPL or the LGPL, and not to allow others to
    9.33 +  use your version of this file under the terms of the MPL, indicate your
    9.34 +  decision by deleting the provisions above and replace them with the notice
    9.35 +  and other provisions required by the GPL or the LGPL. If you do not delete
    9.36 +  the provisions above, a recipient may use your version of this file under
    9.37 +  the terms of any one of the MPL, the GPL or the LGPL.
    9.38 + 
    9.39 +*/
    9.40 +
    9.41 +namespace OpenHardwareMonitor.GUI {
    9.42 +  partial class ReportForm {
    9.43 +    /// <summary>
    9.44 +    /// Required designer variable.
    9.45 +    /// </summary>
    9.46 +    private System.ComponentModel.IContainer components = null;
    9.47 +
    9.48 +    /// <summary>
    9.49 +    /// Clean up any resources being used.
    9.50 +    /// </summary>
    9.51 +    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
    9.52 +    protected override void Dispose(bool disposing) {
    9.53 +      if (disposing && (components != null)) {
    9.54 +        components.Dispose();
    9.55 +      }
    9.56 +      base.Dispose(disposing);
    9.57 +    }
    9.58 +
    9.59 +    #region Windows Form Designer generated code
    9.60 +
    9.61 +    /// <summary>
    9.62 +    /// Required method for Designer support - do not modify
    9.63 +    /// the contents of this method with the code editor.
    9.64 +    /// </summary>
    9.65 +    private void InitializeComponent() {
    9.66 +      this.sendButton = new System.Windows.Forms.Button();
    9.67 +      this.exitButton = new System.Windows.Forms.Button();
    9.68 +      this.commentTextBox = new System.Windows.Forms.TextBox();
    9.69 +      this.label3 = new System.Windows.Forms.Label();
    9.70 +      this.label1 = new System.Windows.Forms.Label();
    9.71 +      this.commentPanel = new System.Windows.Forms.Panel();
    9.72 +      this.reportPanel = new System.Windows.Forms.Panel();
    9.73 +      this.reportTextBox = new System.Windows.Forms.TextBox();
    9.74 +      this.textBox1 = new System.Windows.Forms.TextBox();
    9.75 +      this.label2 = new System.Windows.Forms.Label();
    9.76 +      this.emailTextBox = new System.Windows.Forms.TextBox();
    9.77 +      this.titleLabel = new System.Windows.Forms.Label();
    9.78 +      this.commentPanel.SuspendLayout();
    9.79 +      this.reportPanel.SuspendLayout();
    9.80 +      this.SuspendLayout();
    9.81 +      // 
    9.82 +      // sendButton
    9.83 +      // 
    9.84 +      this.sendButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
    9.85 +      this.sendButton.Location = new System.Drawing.Point(472, 627);
    9.86 +      this.sendButton.Name = "sendButton";
    9.87 +      this.sendButton.Size = new System.Drawing.Size(75, 23);
    9.88 +      this.sendButton.TabIndex = 2;
    9.89 +      this.sendButton.Text = "Send";
    9.90 +      this.sendButton.UseVisualStyleBackColor = true;
    9.91 +      this.sendButton.Click += new System.EventHandler(this.sendButton_Click);
    9.92 +      // 
    9.93 +      // exitButton
    9.94 +      // 
    9.95 +      this.exitButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
    9.96 +      this.exitButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
    9.97 +      this.exitButton.Location = new System.Drawing.Point(553, 627);
    9.98 +      this.exitButton.Name = "exitButton";
    9.99 +      this.exitButton.Size = new System.Drawing.Size(75, 23);
   9.100 +      this.exitButton.TabIndex = 3;
   9.101 +      this.exitButton.Text = "Canel";
   9.102 +      this.exitButton.UseVisualStyleBackColor = true;
   9.103 +      // 
   9.104 +      // commentTextBox
   9.105 +      // 
   9.106 +      this.commentTextBox.AcceptsReturn = true;
   9.107 +      this.commentTextBox.BorderStyle = System.Windows.Forms.BorderStyle.None;
   9.108 +      this.commentTextBox.Dock = System.Windows.Forms.DockStyle.Fill;
   9.109 +      this.commentTextBox.Location = new System.Drawing.Point(4, 4);
   9.110 +      this.commentTextBox.Multiline = true;
   9.111 +      this.commentTextBox.Name = "commentTextBox";
   9.112 +      this.commentTextBox.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
   9.113 +      this.commentTextBox.Size = new System.Drawing.Size(609, 77);
   9.114 +      this.commentTextBox.TabIndex = 1;
   9.115 +      // 
   9.116 +      // label3
   9.117 +      // 
   9.118 +      this.label3.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
   9.119 +                  | System.Windows.Forms.AnchorStyles.Right)));
   9.120 +      this.label3.AutoEllipsis = true;
   9.121 +      this.label3.AutoSize = true;
   9.122 +      this.label3.Location = new System.Drawing.Point(9, 39);
   9.123 +      this.label3.Margin = new System.Windows.Forms.Padding(3, 12, 3, 8);
   9.124 +      this.label3.Name = "label3";
   9.125 +      this.label3.Size = new System.Drawing.Size(253, 13);
   9.126 +      this.label3.TabIndex = 5;
   9.127 +      this.label3.Text = "The following report has been created automatically:";
   9.128 +      // 
   9.129 +      // label1
   9.130 +      // 
   9.131 +      this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
   9.132 +                  | System.Windows.Forms.AnchorStyles.Right)));
   9.133 +      this.label1.AutoEllipsis = true;
   9.134 +      this.label1.AutoSize = true;
   9.135 +      this.label1.Location = new System.Drawing.Point(9, 505);
   9.136 +      this.label1.Margin = new System.Windows.Forms.Padding(3, 12, 3, 8);
   9.137 +      this.label1.Name = "label1";
   9.138 +      this.label1.Size = new System.Drawing.Size(279, 13);
   9.139 +      this.label1.TabIndex = 6;
   9.140 +      this.label1.Text = "You can add additional information to the report (optional):";
   9.141 +      // 
   9.142 +      // commentPanel
   9.143 +      // 
   9.144 +      this.commentPanel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
   9.145 +                  | System.Windows.Forms.AnchorStyles.Right)));
   9.146 +      this.commentPanel.BackColor = System.Drawing.SystemColors.Window;
   9.147 +      this.commentPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
   9.148 +      this.commentPanel.Controls.Add(this.commentTextBox);
   9.149 +      this.commentPanel.Location = new System.Drawing.Point(12, 529);
   9.150 +      this.commentPanel.Margin = new System.Windows.Forms.Padding(3, 3, 3, 8);
   9.151 +      this.commentPanel.Name = "commentPanel";
   9.152 +      this.commentPanel.Padding = new System.Windows.Forms.Padding(4, 4, 1, 4);
   9.153 +      this.commentPanel.Size = new System.Drawing.Size(616, 87);
   9.154 +      this.commentPanel.TabIndex = 1;
   9.155 +      this.commentPanel.TabStop = true;
   9.156 +      // 
   9.157 +      // reportPanel
   9.158 +      // 
   9.159 +      this.reportPanel.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
   9.160 +                  | System.Windows.Forms.AnchorStyles.Left)
   9.161 +                  | System.Windows.Forms.AnchorStyles.Right)));
   9.162 +      this.reportPanel.BackColor = System.Drawing.SystemColors.Window;
   9.163 +      this.reportPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
   9.164 +      this.reportPanel.Controls.Add(this.reportTextBox);
   9.165 +      this.reportPanel.Controls.Add(this.textBox1);
   9.166 +      this.reportPanel.Location = new System.Drawing.Point(12, 63);
   9.167 +      this.reportPanel.Name = "reportPanel";
   9.168 +      this.reportPanel.Padding = new System.Windows.Forms.Padding(4, 4, 1, 4);
   9.169 +      this.reportPanel.Size = new System.Drawing.Size(616, 394);
   9.170 +      this.reportPanel.TabIndex = 8;
   9.171 +      // 
   9.172 +      // reportTextBox
   9.173 +      // 
   9.174 +      this.reportTextBox.BackColor = System.Drawing.SystemColors.Window;
   9.175 +      this.reportTextBox.BorderStyle = System.Windows.Forms.BorderStyle.None;
   9.176 +      this.reportTextBox.Dock = System.Windows.Forms.DockStyle.Fill;
   9.177 +      this.reportTextBox.Location = new System.Drawing.Point(4, 4);
   9.178 +      this.reportTextBox.Multiline = true;
   9.179 +      this.reportTextBox.Name = "reportTextBox";
   9.180 +      this.reportTextBox.ReadOnly = true;
   9.181 +      this.reportTextBox.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
   9.182 +      this.reportTextBox.Size = new System.Drawing.Size(609, 384);
   9.183 +      this.reportTextBox.TabIndex = 9;
   9.184 +      this.reportTextBox.TabStop = false;
   9.185 +      // 
   9.186 +      // textBox1
   9.187 +      // 
   9.188 +      this.textBox1.BorderStyle = System.Windows.Forms.BorderStyle.None;
   9.189 +      this.textBox1.Dock = System.Windows.Forms.DockStyle.Fill;
   9.190 +      this.textBox1.Location = new System.Drawing.Point(4, 4);
   9.191 +      this.textBox1.Multiline = true;
   9.192 +      this.textBox1.Name = "textBox1";
   9.193 +      this.textBox1.Size = new System.Drawing.Size(609, 384);
   9.194 +      this.textBox1.TabIndex = 2;
   9.195 +      // 
   9.196 +      // label2
   9.197 +      // 
   9.198 +      this.label2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
   9.199 +                  | System.Windows.Forms.AnchorStyles.Right)));
   9.200 +      this.label2.AutoEllipsis = true;
   9.201 +      this.label2.AutoSize = true;
   9.202 +      this.label2.Location = new System.Drawing.Point(9, 476);
   9.203 +      this.label2.Margin = new System.Windows.Forms.Padding(3, 12, 3, 8);
   9.204 +      this.label2.Name = "label2";
   9.205 +      this.label2.Size = new System.Drawing.Size(171, 13);
   9.206 +      this.label2.TabIndex = 9;
   9.207 +      this.label2.Text = "Enter your email address (optional):";
   9.208 +      // 
   9.209 +      // emailTextBox
   9.210 +      // 
   9.211 +      this.emailTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
   9.212 +                  | System.Windows.Forms.AnchorStyles.Right)));
   9.213 +      this.emailTextBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
   9.214 +      this.emailTextBox.Location = new System.Drawing.Point(188, 473);
   9.215 +      this.emailTextBox.Name = "emailTextBox";
   9.216 +      this.emailTextBox.Size = new System.Drawing.Size(440, 20);
   9.217 +      this.emailTextBox.TabIndex = 0;
   9.218 +      // 
   9.219 +      // titleLabel
   9.220 +      // 
   9.221 +      this.titleLabel.AutoSize = true;
   9.222 +      this.titleLabel.Location = new System.Drawing.Point(9, 14);
   9.223 +      this.titleLabel.Name = "titleLabel";
   9.224 +      this.titleLabel.Size = new System.Drawing.Size(409, 13);
   9.225 +      this.titleLabel.TabIndex = 10;
   9.226 +      this.titleLabel.Text = "Help improve the Open Hardware Monitor by submitting a report about your hardware" +
   9.227 +          ".";
   9.228 +      // 
   9.229 +      // ReportForm
   9.230 +      // 
   9.231 +      this.AcceptButton = this.sendButton;
   9.232 +      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
   9.233 +      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
   9.234 +      this.CancelButton = this.exitButton;
   9.235 +      this.ClientSize = new System.Drawing.Size(640, 662);
   9.236 +      this.ControlBox = false;
   9.237 +      this.Controls.Add(this.titleLabel);
   9.238 +      this.Controls.Add(this.emailTextBox);
   9.239 +      this.Controls.Add(this.label2);
   9.240 +      this.Controls.Add(this.reportPanel);
   9.241 +      this.Controls.Add(this.commentPanel);
   9.242 +      this.Controls.Add(this.label1);
   9.243 +      this.Controls.Add(this.label3);
   9.244 +      this.Controls.Add(this.exitButton);
   9.245 +      this.Controls.Add(this.sendButton);
   9.246 +      this.MaximizeBox = false;
   9.247 +      this.MinimizeBox = false;
   9.248 +      this.Name = "ReportForm";
   9.249 +      this.ShowIcon = false;
   9.250 +      this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
   9.251 +      this.Text = "Open Hardware Monitor";
   9.252 +      this.commentPanel.ResumeLayout(false);
   9.253 +      this.commentPanel.PerformLayout();
   9.254 +      this.reportPanel.ResumeLayout(false);
   9.255 +      this.reportPanel.PerformLayout();
   9.256 +      this.ResumeLayout(false);
   9.257 +      this.PerformLayout();
   9.258 +
   9.259 +    }
   9.260 +
   9.261 +    #endregion
   9.262 +
   9.263 +    private System.Windows.Forms.Button sendButton;
   9.264 +    private System.Windows.Forms.Button exitButton;
   9.265 +    private System.Windows.Forms.TextBox commentTextBox;
   9.266 +    private System.Windows.Forms.Label label3;
   9.267 +    private System.Windows.Forms.Label label1;
   9.268 +    private System.Windows.Forms.Panel commentPanel;
   9.269 +    private System.Windows.Forms.Panel reportPanel;
   9.270 +    private System.Windows.Forms.TextBox reportTextBox;
   9.271 +    private System.Windows.Forms.TextBox textBox1;
   9.272 +    private System.Windows.Forms.Label label2;
   9.273 +    private System.Windows.Forms.TextBox emailTextBox;
   9.274 +    private System.Windows.Forms.Label titleLabel;
   9.275 +  }
   9.276 +}
   9.277 \ No newline at end of file
    10.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    10.2 +++ b/GUI/ReportForm.cs	Sun Jul 04 12:12:37 2010 +0000
    10.3 @@ -0,0 +1,107 @@
    10.4 +/*
    10.5 +  
    10.6 +  Version: MPL 1.1/GPL 2.0/LGPL 2.1
    10.7 +
    10.8 +  The contents of this file are subject to the Mozilla Public License Version
    10.9 +  1.1 (the "License"); you may not use this file except in compliance with
   10.10 +  the License. You may obtain a copy of the License at
   10.11 + 
   10.12 +  http://www.mozilla.org/MPL/
   10.13 +
   10.14 +  Software distributed under the License is distributed on an "AS IS" basis,
   10.15 +  WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
   10.16 +  for the specific language governing rights and limitations under the License.
   10.17 +
   10.18 +  The Original Code is the Open Hardware Monitor code.
   10.19 +
   10.20 +  The Initial Developer of the Original Code is 
   10.21 +  Michael Möller <m.moeller@gmx.ch>.
   10.22 +  Portions created by the Initial Developer are Copyright (C) 2009-2010
   10.23 +  the Initial Developer. All Rights Reserved.
   10.24 +
   10.25 +  Contributor(s):
   10.26 +
   10.27 +  Alternatively, the contents of this file may be used under the terms of
   10.28 +  either the GNU General Public License Version 2 or later (the "GPL"), or
   10.29 +  the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
   10.30 +  in which case the provisions of the GPL or the LGPL are applicable instead
   10.31 +  of those above. If you wish to allow use of your version of this file only
   10.32 +  under the terms of either the GPL or the LGPL, and not to allow others to
   10.33 +  use your version of this file under the terms of the MPL, indicate your
   10.34 +  decision by deleting the provisions above and replace them with the notice
   10.35 +  and other provisions required by the GPL or the LGPL. If you do not delete
   10.36 +  the provisions above, a recipient may use your version of this file under
   10.37 +  the terms of any one of the MPL, the GPL or the LGPL.
   10.38 + 
   10.39 +*/
   10.40 +
   10.41 +using System;
   10.42 +using System.Collections.Generic;
   10.43 +using System.ComponentModel;
   10.44 +using System.Drawing;
   10.45 +using System.IO;
   10.46 +using System.Net;
   10.47 +using System.Text;
   10.48 +using System.Web;
   10.49 +using System.Windows.Forms;
   10.50 +
   10.51 +namespace OpenHardwareMonitor.GUI {
   10.52 +  public partial class ReportForm : Form {
   10.53 +
   10.54 +    private string report;
   10.55 +
   10.56 +    public ReportForm() {
   10.57 +      InitializeComponent();
   10.58 +      try {
   10.59 +        titleLabel.Font = new Font(SystemFonts.DefaultFont, FontStyle.Bold);      
   10.60 +        reportTextBox.Font = new Font(FontFamily.GenericMonospace,
   10.61 +          SystemFonts.DefaultFont.Size);
   10.62 +      } catch { }
   10.63 +    }
   10.64 +
   10.65 +    public string Report {
   10.66 +      get { return report; }
   10.67 +      set { 
   10.68 +        report = value;
   10.69 +        reportTextBox.Text = report;
   10.70 +      }      
   10.71 +    }
   10.72 +
   10.73 +    private void sendButton_Click(object sender, EventArgs e) {
   10.74 +      Version version = typeof(CrashForm).Assembly.GetName().Version;
   10.75 +      WebRequest request = WebRequest.Create(
   10.76 +        "http://openhardwaremonitor.org/report.php");
   10.77 +      request.Method = "POST";
   10.78 +      request.Timeout = 5000;
   10.79 +      request.ContentType = "application/x-www-form-urlencoded";
   10.80 +
   10.81 +      string report =
   10.82 +        "type=hardware&" + 
   10.83 +        "version=" + HttpUtility.UrlEncode(version.ToString()) + "&" +
   10.84 +        "report=" + HttpUtility.UrlEncode(reportTextBox.Text) + "&" +
   10.85 +        "comment=" + HttpUtility.UrlEncode(commentTextBox.Text) + "&" +
   10.86 +        "email=" + HttpUtility.UrlEncode(emailTextBox.Text);
   10.87 +      byte[] byteArray = Encoding.UTF8.GetBytes(report);
   10.88 +      request.ContentLength = byteArray.Length;
   10.89 +
   10.90 +      try {
   10.91 +        Stream dataStream = request.GetRequestStream();
   10.92 +        dataStream.Write(byteArray, 0, byteArray.Length);
   10.93 +        dataStream.Close();
   10.94 +
   10.95 +        WebResponse response = request.GetResponse();
   10.96 +        dataStream = response.GetResponseStream();
   10.97 +        StreamReader reader = new StreamReader(dataStream);
   10.98 +        string responseFromServer = reader.ReadToEnd();
   10.99 +        reader.Close();
  10.100 +        dataStream.Close();
  10.101 +        response.Close();
  10.102 +
  10.103 +        Close();
  10.104 +      } catch (WebException) {
  10.105 +        MessageBox.Show("Sending the hardware report failed.", "Error",
  10.106 +          MessageBoxButtons.OK, MessageBoxIcon.Error);
  10.107 +      }
  10.108 +    }
  10.109 +  }  
  10.110 +}
    11.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    11.2 +++ b/GUI/ReportForm.resx	Sun Jul 04 12:12:37 2010 +0000
    11.3 @@ -0,0 +1,120 @@
    11.4 +<?xml version="1.0" encoding="utf-8"?>
    11.5 +<root>
    11.6 +  <!-- 
    11.7 +    Microsoft ResX Schema 
    11.8 +    
    11.9 +    Version 2.0
   11.10 +    
   11.11 +    The primary goals of this format is to allow a simple XML format 
   11.12 +    that is mostly human readable. The generation and parsing of the 
   11.13 +    various data types are done through the TypeConverter classes 
   11.14 +    associated with the data types.
   11.15 +    
   11.16 +    Example:
   11.17 +    
   11.18 +    ... ado.net/XML headers & schema ...
   11.19 +    <resheader name="resmimetype">text/microsoft-resx</resheader>
   11.20 +    <resheader name="version">2.0</resheader>
   11.21 +    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
   11.22 +    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
   11.23 +    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
   11.24 +    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
   11.25 +    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
   11.26 +        <value>[base64 mime encoded serialized .NET Framework object]</value>
   11.27 +    </data>
   11.28 +    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
   11.29 +        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
   11.30 +        <comment>This is a comment</comment>
   11.31 +    </data>
   11.32 +                
   11.33 +    There are any number of "resheader" rows that contain simple 
   11.34 +    name/value pairs.
   11.35 +    
   11.36 +    Each data row contains a name, and value. The row also contains a 
   11.37 +    type or mimetype. Type corresponds to a .NET class that support 
   11.38 +    text/value conversion through the TypeConverter architecture. 
   11.39 +    Classes that don't support this are serialized and stored with the 
   11.40 +    mimetype set.
   11.41 +    
   11.42 +    The mimetype is used for serialized objects, and tells the 
   11.43 +    ResXResourceReader how to depersist the object. This is currently not 
   11.44 +    extensible. For a given mimetype the value must be set accordingly:
   11.45 +    
   11.46 +    Note - application/x-microsoft.net.object.binary.base64 is the format 
   11.47 +    that the ResXResourceWriter will generate, however the reader can 
   11.48 +    read any of the formats listed below.
   11.49 +    
   11.50 +    mimetype: application/x-microsoft.net.object.binary.base64
   11.51 +    value   : The object must be serialized with 
   11.52 +            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
   11.53 +            : and then encoded with base64 encoding.
   11.54 +    
   11.55 +    mimetype: application/x-microsoft.net.object.soap.base64
   11.56 +    value   : The object must be serialized with 
   11.57 +            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
   11.58 +            : and then encoded with base64 encoding.
   11.59 +
   11.60 +    mimetype: application/x-microsoft.net.object.bytearray.base64
   11.61 +    value   : The object must be serialized into a byte array 
   11.62 +            : using a System.ComponentModel.TypeConverter
   11.63 +            : and then encoded with base64 encoding.
   11.64 +    -->
   11.65 +  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
   11.66 +    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
   11.67 +    <xsd:element name="root" msdata:IsDataSet="true">
   11.68 +      <xsd:complexType>
   11.69 +        <xsd:choice maxOccurs="unbounded">
   11.70 +          <xsd:element name="metadata">
   11.71 +            <xsd:complexType>
   11.72 +              <xsd:sequence>
   11.73 +                <xsd:element name="value" type="xsd:string" minOccurs="0" />
   11.74 +              </xsd:sequence>
   11.75 +              <xsd:attribute name="name" use="required" type="xsd:string" />
   11.76 +              <xsd:attribute name="type" type="xsd:string" />
   11.77 +              <xsd:attribute name="mimetype" type="xsd:string" />
   11.78 +              <xsd:attribute ref="xml:space" />
   11.79 +            </xsd:complexType>
   11.80 +          </xsd:element>
   11.81 +          <xsd:element name="assembly">
   11.82 +            <xsd:complexType>
   11.83 +              <xsd:attribute name="alias" type="xsd:string" />
   11.84 +              <xsd:attribute name="name" type="xsd:string" />
   11.85 +            </xsd:complexType>
   11.86 +          </xsd:element>
   11.87 +          <xsd:element name="data">
   11.88 +            <xsd:complexType>
   11.89 +              <xsd:sequence>
   11.90 +                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
   11.91 +                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
   11.92 +              </xsd:sequence>
   11.93 +              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
   11.94 +              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
   11.95 +              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
   11.96 +              <xsd:attribute ref="xml:space" />
   11.97 +            </xsd:complexType>
   11.98 +          </xsd:element>
   11.99 +          <xsd:element name="resheader">
  11.100 +            <xsd:complexType>
  11.101 +              <xsd:sequence>
  11.102 +                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
  11.103 +              </xsd:sequence>
  11.104 +              <xsd:attribute name="name" type="xsd:string" use="required" />
  11.105 +            </xsd:complexType>
  11.106 +          </xsd:element>
  11.107 +        </xsd:choice>
  11.108 +      </xsd:complexType>
  11.109 +    </xsd:element>
  11.110 +  </xsd:schema>
  11.111 +  <resheader name="resmimetype">
  11.112 +    <value>text/microsoft-resx</value>
  11.113 +  </resheader>
  11.114 +  <resheader name="version">
  11.115 +    <value>2.0</value>
  11.116 +  </resheader>
  11.117 +  <resheader name="reader">
  11.118 +    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  11.119 +  </resheader>
  11.120 +  <resheader name="writer">
  11.121 +    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  11.122 +  </resheader>
  11.123 +</root>
  11.124 \ No newline at end of file
    12.1 --- a/OpenHardwareMonitor.csproj	Sat Jul 03 12:08:51 2010 +0000
    12.2 +++ b/OpenHardwareMonitor.csproj	Sun Jul 04 12:12:37 2010 +0000
    12.3 @@ -61,11 +61,17 @@
    12.4      </Reference>
    12.5    </ItemGroup>
    12.6    <ItemGroup>
    12.7 -    <Compile Include="GUI\CrashReportForm.cs">
    12.8 +    <Compile Include="GUI\ReportForm.cs">
    12.9        <SubType>Form</SubType>
   12.10      </Compile>
   12.11 -    <Compile Include="GUI\CrashReportForm.Designer.cs">
   12.12 -      <DependentUpon>CrashReportForm.cs</DependentUpon>
   12.13 +    <Compile Include="GUI\ReportForm.Designer.cs">
   12.14 +      <DependentUpon>ReportForm.cs</DependentUpon>
   12.15 +    </Compile>
   12.16 +    <Compile Include="GUI\CrashForm.cs">
   12.17 +      <SubType>Form</SubType>
   12.18 +    </Compile>
   12.19 +    <Compile Include="GUI\CrashForm.Designer.cs">
   12.20 +      <DependentUpon>CrashForm.cs</DependentUpon>
   12.21      </Compile>
   12.22      <Compile Include="GUI\Node.cs" />
   12.23      <Compile Include="GUI\ParameterForm.cs">
   12.24 @@ -200,12 +206,15 @@
   12.25      <EmbeddedResource Include="Resources\flow.png" />
   12.26    </ItemGroup>
   12.27    <ItemGroup>
   12.28 -    <EmbeddedResource Include="GUI\CrashReportForm.resx">
   12.29 -      <DependentUpon>CrashReportForm.cs</DependentUpon>
   12.30 +    <EmbeddedResource Include="GUI\CrashForm.resx">
   12.31 +      <DependentUpon>CrashForm.cs</DependentUpon>
   12.32      </EmbeddedResource>
   12.33      <EmbeddedResource Include="Resources\mainboard.png" />
   12.34    </ItemGroup>
   12.35    <ItemGroup>
   12.36 +    <EmbeddedResource Include="GUI\ReportForm.resx">
   12.37 +      <DependentUpon>ReportForm.cs</DependentUpon>
   12.38 +    </EmbeddedResource>
   12.39      <EmbeddedResource Include="Resources\control.png" />
   12.40    </ItemGroup>
   12.41    <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
    13.1 --- a/Program.cs	Sat Jul 03 12:08:51 2010 +0000
    13.2 +++ b/Program.cs	Sun Jul 04 12:12:37 2010 +0000
    13.3 @@ -102,7 +102,7 @@
    13.4      }
    13.5  
    13.6      private static void ReportException(Exception e) {
    13.7 -      CrashReportForm form = new CrashReportForm();
    13.8 +      CrashForm form = new CrashForm();
    13.9        form.Exception = e;
   13.10        form.ShowDialog();
   13.11      }