/[cits3200i]/branches/metadata-branch-rvvs89/UWAPlugins/MetadataPlugin/Source/EditFile.cs


UCC Code Repository

Diff of /branches/metadata-branch-rvvs89/UWAPlugins/MetadataPlugin/Source/EditFile.cs

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 96 by rvvs89, Wed Oct 13 00:11:17 2010 UTC revision 97 by rvvs89, Wed Oct 13 00:45:52 2010 UTC
# Line 1  Line 1 
1  ´╗┐using System;  ´╗┐using Microsoft.Win32;
2    using System;
3  using System.Collections.Generic;  using System.Collections.Generic;
4  using System.ComponentModel;  using System.ComponentModel;
5  using System.Drawing;  using System.Drawing;
# Line 6  using System.Data; Line 7  using System.Data;
7  using System.Text;  using System.Text;
8  using System.Windows.Forms;  using System.Windows.Forms;
9  using System.IO;  using System.IO;
10    using System.Runtime.InteropServices;
11    using System.Diagnostics;
12    
13  namespace MetadataPlugin.Source  namespace MetadataPlugin.Source
14  {  {
# Line 13  namespace MetadataPlugin.Source Line 16  namespace MetadataPlugin.Source
16      {      {
17          private byte[] data;          private byte[] data;
18          private MetadataFile.MetadataFileData reference;          private MetadataFile.MetadataFileData reference;
19            private string tmp = null;
20    
21          public EditFile()          public EditFile()
22          {          {
# Line 32  namespace MetadataPlugin.Source Line 36  namespace MetadataPlugin.Source
36                  nameField.Text = value.Name == null ? "<No file selected>" : value.Name;                  nameField.Text = value.Name == null ? "<No file selected>" : value.Name;
37                  data = value.Data;                  data = value.Data;
38                  sizeField.Text = string.Format("{0}", data == null ? 0 : data.Length);                  sizeField.Text = string.Format("{0}", data == null ? 0 : data.Length);
39                    openButton.Enabled = data != null;
40                  reference = value;                  reference = value;
41                    if (tmp != null)
42                    {
43                        File.Delete(tmp);
44                        tmp = null;
45                    }
46              }              }
47          }          }
48    
# Line 50  namespace MetadataPlugin.Source Line 60  namespace MetadataPlugin.Source
60                      if (read <= 0)                      if (read <= 0)
61                      {                      {
62                          // TODO: display error                          // TODO: display error
63                            stream.Close();
64                          return;                          return;
65                      }                      }
66                      rem -= read;                      rem -= read;
# Line 58  namespace MetadataPlugin.Source Line 69  namespace MetadataPlugin.Source
69                  nameField.Text = openFileDialog.FileName.Substring(openFileDialog.FileName.LastIndexOf("\\") + 1);                  nameField.Text = openFileDialog.FileName.Substring(openFileDialog.FileName.LastIndexOf("\\") + 1);
70                  data = newData;                  data = newData;
71                  sizeField.Text = string.Format("{0}", data == null ? 0 : data.Length);                  sizeField.Text = string.Format("{0}", data == null ? 0 : data.Length);
72                    openButton.Enabled = true;
73              }              }
74          }          }
75    
76            private void openButton_Click(object sender, EventArgs e)
77            {
78                // store file to temporary location
79                tmp = Path.GetTempPath() + nameField.Text;
80                FileStream stream = File.OpenWrite(tmp);
81                int size = data.Length;
82                stream.Write(data, 0, size);
83                stream.Close();
84                ShellExecute(tmp);
85            }
86            
87            private void ShellExecute(string file)
88            {
89                Process proc = new Process();
90                ProcessStartInfo pinfo = new ProcessStartInfo("rundll32.exe");
91                pinfo.UseShellExecute = false;
92                pinfo.RedirectStandardOutput = true;
93                pinfo.Arguments = "shell32.dll,OpenAs_RunDLL " + file;
94                proc.StartInfo = pinfo;
95                proc.Start();
96            }
97      }      }
98  }  }

Legend:
Removed from v.96  
changed lines
  Added in v.97

Managed by UCC Webmasters ViewVC Help
Powered by ViewVC 1.1.26