From: <an...@us...> - 2007-03-10 14:46:27
|
Revision: 176 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=176&view=rev Author: and-81 Date: 2007-03-10 06:46:25 -0800 (Sat, 10 Mar 2007) Log Message: ----------- Modified Paths: -------------- trunk/plugins/ComSkipLauncher/ComSkipLauncher.cs trunk/plugins/ComSkipLauncher/ExternalProgram.Designer.cs trunk/plugins/ComSkipLauncher/ExternalProgram.cs trunk/plugins/ComSkipLauncher/ExternalProgram.resx Modified: trunk/plugins/ComSkipLauncher/ComSkipLauncher.cs =================================================================== --- trunk/plugins/ComSkipLauncher/ComSkipLauncher.cs 2007-03-10 12:06:32 UTC (rev 175) +++ trunk/plugins/ComSkipLauncher/ComSkipLauncher.cs 2007-03-10 14:46:25 UTC (rev 176) @@ -25,6 +25,7 @@ #region Members + bool _runAtStart; string _program; string _parameters; @@ -37,13 +38,20 @@ Log.Info("ComSkipLauncher: Start"); LoadSettings(); - Recorder.OnTvRecordingEnded += new MediaPortal.TV.Recording.Recorder.OnTvRecordingHandler(Recorder_OnTvRecordingEnded); + if (_runAtStart) + Recorder.OnTvRecordingStarted += new Recorder.OnTvRecordingHandler(Recorder_OnTvRecordingStarted); + else + Recorder.OnTvRecordingEnded += new MediaPortal.TV.Recording.Recorder.OnTvRecordingHandler(Recorder_OnTvRecordingEnded); } + public void Stop() { Log.Info("ComSkipLauncher: Stop"); - - Recorder.OnTvRecordingEnded -= new MediaPortal.TV.Recording.Recorder.OnTvRecordingHandler(Recorder_OnTvRecordingEnded); + + if (_runAtStart) + Recorder.OnTvRecordingStarted -= new Recorder.OnTvRecordingHandler(Recorder_OnTvRecordingStarted); + else + Recorder.OnTvRecordingEnded -= new MediaPortal.TV.Recording.Recorder.OnTvRecordingHandler(Recorder_OnTvRecordingEnded); } #endregion @@ -62,9 +70,10 @@ { LoadSettings(); - ExternalProgram externalProgram = new ExternalProgram(_program, _parameters); + ExternalProgram externalProgram = new ExternalProgram(_program, _parameters, _runAtStart); if (externalProgram.ShowDialog() == DialogResult.OK) { + _runAtStart = externalProgram.RunAtStart; _program = externalProgram.Program; _parameters = externalProgram.Parameters; @@ -82,6 +91,29 @@ #region Implementation + void Recorder_OnTvRecordingStarted(string recordingFilename, TVRecording recording, TVProgram program) + { + Log.Debug("ComSkipLauncher: Recorder_OnTvRecordingStarted {0}", recordingFilename); + + try + { + string parameters = ProcessParameters(_parameters, recordingFilename); + + Log.Info( + "ComSkipLauncher: Recording started ({0}), launching program ({1} {2}) ...", + recordingFilename, + _program, + parameters + ); + + LaunchProcess(_program, parameters, Path.GetDirectoryName(recordingFilename), ProcessWindowStyle.Hidden); + } + catch (Exception ex) + { + Log.Error("ComSkipLauncher: {0}", ex.Message); + } + } + void Recorder_OnTvRecordingEnded(string recordingFilename, TVRecording recording, TVProgram program) { Log.Debug("ComSkipLauncher: Recorder_OnTvRecordingEnded {0}", recordingFilename); @@ -115,14 +147,7 @@ parameters ); - Process comskip = new Process(); - comskip.StartInfo = new ProcessStartInfo(); - comskip.StartInfo.Arguments = parameters; - comskip.StartInfo.FileName = _program; - comskip.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; - comskip.StartInfo.WorkingDirectory = Path.GetDirectoryName(fileName); - - comskip.Start(); + LaunchProcess(_program, parameters, Path.GetDirectoryName(fileName), ProcessWindowStyle.Hidden); } catch (Exception ex) { @@ -136,6 +161,7 @@ { using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings(MPConfigFile)) { + _runAtStart = xmlreader.GetValueAsBool("ComSkipLauncher", "RunAtStart", false); _program = xmlreader.GetValueAsString("ComSkipLauncher", "Program", "C:\\ComSkip\\ComSkip.exe"); _parameters = xmlreader.GetValueAsString("ComSkipLauncher", "Parameters", "--playnice --zpcut \"{0}\""); } @@ -152,6 +178,7 @@ { using (MediaPortal.Profile.Settings xmlwriter = new MediaPortal.Profile.Settings(MPConfigFile)) { + xmlwriter.SetValueAsBool("ComSkipLauncher", "RunAtStart", _runAtStart); xmlwriter.SetValue("ComSkipLauncher", "Program", _program); xmlwriter.SetValue("ComSkipLauncher", "Parameters", _parameters); } @@ -162,6 +189,18 @@ } } + void LaunchProcess(string program, string parameters, string workingFolder, ProcessWindowStyle windowStyle) + { + Process process = new Process(); + process.StartInfo = new ProcessStartInfo(); + process.StartInfo.Arguments = parameters; + process.StartInfo.FileName = program; + process.StartInfo.WindowStyle = windowStyle; + process.StartInfo.WorkingDirectory = workingFolder; + + process.Start(); + } + internal static string ProcessParameters(string input, string fileName) { string output = String.Empty; Modified: trunk/plugins/ComSkipLauncher/ExternalProgram.Designer.cs =================================================================== --- trunk/plugins/ComSkipLauncher/ExternalProgram.Designer.cs 2007-03-10 12:06:32 UTC (rev 175) +++ trunk/plugins/ComSkipLauncher/ExternalProgram.Designer.cs 2007-03-10 14:46:25 UTC (rev 176) @@ -28,6 +28,7 @@ /// </summary> private void InitializeComponent() { + this.components = new System.ComponentModel.Container(); this.textBoxProgram = new System.Windows.Forms.TextBox(); this.labelProgram = new System.Windows.Forms.Label(); this.buttonProgam = new System.Windows.Forms.Button(); @@ -42,25 +43,33 @@ this.textBoxTestFile = new System.Windows.Forms.TextBox(); this.groupBoxTest = new System.Windows.Forms.GroupBox(); this.buttonFindTestFile = new System.Windows.Forms.Button(); + this.radioButtonLaunchAtStart = new System.Windows.Forms.RadioButton(); + this.radioButtonLaunchAtEnd = new System.Windows.Forms.RadioButton(); + this.groupBoxWhen = new System.Windows.Forms.GroupBox(); + this.groupBoxHow = new System.Windows.Forms.GroupBox(); + this.toolTips = new System.Windows.Forms.ToolTip(this.components); this.groupBoxTest.SuspendLayout(); + this.groupBoxWhen.SuspendLayout(); + this.groupBoxHow.SuspendLayout(); this.SuspendLayout(); // // textBoxProgram // this.textBoxProgram.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); - this.textBoxProgram.Location = new System.Drawing.Point(8, 24); + this.textBoxProgram.Location = new System.Drawing.Point(8, 40); this.textBoxProgram.Name = "textBoxProgram"; - this.textBoxProgram.Size = new System.Drawing.Size(288, 20); + this.textBoxProgram.Size = new System.Drawing.Size(272, 20); this.textBoxProgram.TabIndex = 1; + this.toolTips.SetToolTip(this.textBoxProgram, "The full location of the program to launch"); // // labelProgram // this.labelProgram.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); - this.labelProgram.Location = new System.Drawing.Point(8, 8); + this.labelProgram.Location = new System.Drawing.Point(8, 24); this.labelProgram.Name = "labelProgram"; - this.labelProgram.Size = new System.Drawing.Size(288, 16); + this.labelProgram.Size = new System.Drawing.Size(272, 16); this.labelProgram.TabIndex = 0; this.labelProgram.Text = "Program:"; this.labelProgram.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; @@ -68,21 +77,22 @@ // buttonProgam // this.buttonProgam.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.buttonProgam.Location = new System.Drawing.Point(304, 24); + this.buttonProgam.Location = new System.Drawing.Point(288, 40); this.buttonProgam.Name = "buttonProgam"; this.buttonProgam.Size = new System.Drawing.Size(24, 20); this.buttonProgam.TabIndex = 2; this.buttonProgam.Text = "..."; + this.toolTips.SetToolTip(this.buttonProgam, "Locate the program you wish to launch"); this.buttonProgam.UseVisualStyleBackColor = true; this.buttonProgam.Click += new System.EventHandler(this.buttonProgam_Click); // // buttonOK // this.buttonOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.buttonOK.Location = new System.Drawing.Point(208, 168); + this.buttonOK.Location = new System.Drawing.Point(208, 264); this.buttonOK.Name = "buttonOK"; this.buttonOK.Size = new System.Drawing.Size(56, 24); - this.buttonOK.TabIndex = 7; + this.buttonOK.TabIndex = 3; this.buttonOK.Text = "OK"; this.buttonOK.UseVisualStyleBackColor = true; this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); @@ -91,10 +101,10 @@ // this.buttonCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.buttonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; - this.buttonCancel.Location = new System.Drawing.Point(272, 168); + this.buttonCancel.Location = new System.Drawing.Point(272, 264); this.buttonCancel.Name = "buttonCancel"; this.buttonCancel.Size = new System.Drawing.Size(56, 24); - this.buttonCancel.TabIndex = 8; + this.buttonCancel.TabIndex = 4; this.buttonCancel.Text = "Cancel"; this.buttonCancel.UseVisualStyleBackColor = true; this.buttonCancel.Click += new System.EventHandler(this.buttonCancel_Click); @@ -103,9 +113,9 @@ // this.labelParameters.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); - this.labelParameters.Location = new System.Drawing.Point(8, 48); + this.labelParameters.Location = new System.Drawing.Point(8, 64); this.labelParameters.Name = "labelParameters"; - this.labelParameters.Size = new System.Drawing.Size(288, 16); + this.labelParameters.Size = new System.Drawing.Size(272, 16); this.labelParameters.TabIndex = 3; this.labelParameters.Text = "Parameters:"; this.labelParameters.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; @@ -114,10 +124,11 @@ // this.textBoxParameters.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); - this.textBoxParameters.Location = new System.Drawing.Point(8, 64); + this.textBoxParameters.Location = new System.Drawing.Point(8, 80); this.textBoxParameters.Name = "textBoxParameters"; - this.textBoxParameters.Size = new System.Drawing.Size(288, 20); + this.textBoxParameters.Size = new System.Drawing.Size(272, 20); this.textBoxParameters.TabIndex = 4; + this.toolTips.SetToolTip(this.textBoxParameters, "Provide command line parameters for the program"); // // openFileDialog // @@ -126,22 +137,24 @@ // buttonParamQuestion // this.buttonParamQuestion.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.buttonParamQuestion.Location = new System.Drawing.Point(304, 64); + this.buttonParamQuestion.Location = new System.Drawing.Point(288, 80); this.buttonParamQuestion.Name = "buttonParamQuestion"; this.buttonParamQuestion.Size = new System.Drawing.Size(24, 20); this.buttonParamQuestion.TabIndex = 5; this.buttonParamQuestion.Text = "?"; + this.toolTips.SetToolTip(this.buttonParamQuestion, "Click here for a list of additional command line parameters"); this.buttonParamQuestion.UseVisualStyleBackColor = true; this.buttonParamQuestion.Click += new System.EventHandler(this.buttonParamQuestion_Click); // // buttonTest // this.buttonTest.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.buttonTest.Location = new System.Drawing.Point(256, 32); + this.buttonTest.Location = new System.Drawing.Point(256, 40); this.buttonTest.Name = "buttonTest"; this.buttonTest.Size = new System.Drawing.Size(56, 24); - this.buttonTest.TabIndex = 6; + this.buttonTest.TabIndex = 3; this.buttonTest.Text = "Test"; + this.toolTips.SetToolTip(this.buttonTest, "Click here to test the above settings"); this.buttonTest.UseVisualStyleBackColor = true; this.buttonTest.Click += new System.EventHandler(this.buttonTest_Click); // @@ -149,21 +162,22 @@ // this.labelFile.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); - this.labelFile.Location = new System.Drawing.Point(8, 16); + this.labelFile.Location = new System.Drawing.Point(8, 24); this.labelFile.Name = "labelFile"; this.labelFile.Size = new System.Drawing.Size(208, 16); - this.labelFile.TabIndex = 9; - this.labelFile.Text = "File:"; + this.labelFile.TabIndex = 0; + this.labelFile.Text = "File to test with:"; this.labelFile.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // // textBoxTestFile // this.textBoxTestFile.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); - this.textBoxTestFile.Location = new System.Drawing.Point(8, 32); + this.textBoxTestFile.Location = new System.Drawing.Point(8, 40); this.textBoxTestFile.Name = "textBoxTestFile"; this.textBoxTestFile.Size = new System.Drawing.Size(208, 20); - this.textBoxTestFile.TabIndex = 10; + this.textBoxTestFile.TabIndex = 1; + this.toolTips.SetToolTip(this.textBoxTestFile, "File to test launch with"); // // groupBoxTest // @@ -173,50 +187,104 @@ this.groupBoxTest.Controls.Add(this.textBoxTestFile); this.groupBoxTest.Controls.Add(this.buttonTest); this.groupBoxTest.Controls.Add(this.labelFile); - this.groupBoxTest.Location = new System.Drawing.Point(8, 96); + this.groupBoxTest.Location = new System.Drawing.Point(8, 184); this.groupBoxTest.Name = "groupBoxTest"; - this.groupBoxTest.Size = new System.Drawing.Size(320, 64); - this.groupBoxTest.TabIndex = 11; + this.groupBoxTest.Size = new System.Drawing.Size(320, 72); + this.groupBoxTest.TabIndex = 2; this.groupBoxTest.TabStop = false; - this.groupBoxTest.Text = "Test"; + this.groupBoxTest.Text = "Test run"; // // buttonFindTestFile // this.buttonFindTestFile.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.buttonFindTestFile.Location = new System.Drawing.Point(224, 32); + this.buttonFindTestFile.Location = new System.Drawing.Point(224, 40); this.buttonFindTestFile.Name = "buttonFindTestFile"; this.buttonFindTestFile.Size = new System.Drawing.Size(24, 20); - this.buttonFindTestFile.TabIndex = 11; + this.buttonFindTestFile.TabIndex = 2; this.buttonFindTestFile.Text = "..."; + this.toolTips.SetToolTip(this.buttonFindTestFile, "Click here to locate a file to test with"); this.buttonFindTestFile.UseVisualStyleBackColor = true; this.buttonFindTestFile.Click += new System.EventHandler(this.buttonFindTestFile_Click); // + // radioButtonLaunchAtStart + // + this.radioButtonLaunchAtStart.Anchor = System.Windows.Forms.AnchorStyles.Top; + this.radioButtonLaunchAtStart.Location = new System.Drawing.Point(8, 16); + this.radioButtonLaunchAtStart.Name = "radioButtonLaunchAtStart"; + this.radioButtonLaunchAtStart.Size = new System.Drawing.Size(144, 24); + this.radioButtonLaunchAtStart.TabIndex = 0; + this.radioButtonLaunchAtStart.Text = "When recording starts"; + this.toolTips.SetToolTip(this.radioButtonLaunchAtStart, "Launch ComSkip as soon as the recording starts (this requires the LiveTV setting " + + "in comskip.ini)"); + this.radioButtonLaunchAtStart.UseVisualStyleBackColor = true; + // + // radioButtonLaunchAtEnd + // + this.radioButtonLaunchAtEnd.Anchor = System.Windows.Forms.AnchorStyles.Top; + this.radioButtonLaunchAtEnd.Checked = true; + this.radioButtonLaunchAtEnd.Location = new System.Drawing.Point(168, 16); + this.radioButtonLaunchAtEnd.Name = "radioButtonLaunchAtEnd"; + this.radioButtonLaunchAtEnd.Size = new System.Drawing.Size(144, 24); + this.radioButtonLaunchAtEnd.TabIndex = 1; + this.radioButtonLaunchAtEnd.TabStop = true; + this.radioButtonLaunchAtEnd.Text = "When recording ends"; + this.toolTips.SetToolTip(this.radioButtonLaunchAtEnd, "Launch ComSkip to process the recording after it has finished"); + this.radioButtonLaunchAtEnd.UseVisualStyleBackColor = true; + // + // groupBoxWhen + // + this.groupBoxWhen.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupBoxWhen.Controls.Add(this.radioButtonLaunchAtStart); + this.groupBoxWhen.Controls.Add(this.radioButtonLaunchAtEnd); + this.groupBoxWhen.Location = new System.Drawing.Point(8, 8); + this.groupBoxWhen.Name = "groupBoxWhen"; + this.groupBoxWhen.Size = new System.Drawing.Size(320, 48); + this.groupBoxWhen.TabIndex = 0; + this.groupBoxWhen.TabStop = false; + this.groupBoxWhen.Text = "When to run"; + // + // groupBoxHow + // + this.groupBoxHow.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupBoxHow.Controls.Add(this.labelProgram); + this.groupBoxHow.Controls.Add(this.textBoxProgram); + this.groupBoxHow.Controls.Add(this.buttonProgam); + this.groupBoxHow.Controls.Add(this.buttonParamQuestion); + this.groupBoxHow.Controls.Add(this.textBoxParameters); + this.groupBoxHow.Controls.Add(this.labelParameters); + this.groupBoxHow.Location = new System.Drawing.Point(8, 64); + this.groupBoxHow.Name = "groupBoxHow"; + this.groupBoxHow.Size = new System.Drawing.Size(320, 112); + this.groupBoxHow.TabIndex = 1; + this.groupBoxHow.TabStop = false; + this.groupBoxHow.Text = "How to run"; + // // ExternalProgram // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(336, 200); + this.ClientSize = new System.Drawing.Size(336, 296); + this.Controls.Add(this.groupBoxHow); + this.Controls.Add(this.groupBoxWhen); this.Controls.Add(this.groupBoxTest); - this.Controls.Add(this.buttonParamQuestion); - this.Controls.Add(this.labelParameters); - this.Controls.Add(this.textBoxParameters); this.Controls.Add(this.buttonCancel); this.Controls.Add(this.buttonOK); - this.Controls.Add(this.buttonProgam); - this.Controls.Add(this.labelProgram); - this.Controls.Add(this.textBoxProgram); this.MaximizeBox = false; this.MinimizeBox = false; - this.MinimumSize = new System.Drawing.Size(352, 236); + this.MinimumSize = new System.Drawing.Size(352, 332); this.Name = "ExternalProgram"; this.ShowIcon = false; this.ShowInTaskbar = false; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; - this.Text = "ComSkip Program Details"; + this.Text = "ComSkip Launcher"; this.groupBoxTest.ResumeLayout(false); this.groupBoxTest.PerformLayout(); + this.groupBoxWhen.ResumeLayout(false); + this.groupBoxHow.ResumeLayout(false); + this.groupBoxHow.PerformLayout(); this.ResumeLayout(false); - this.PerformLayout(); } @@ -236,5 +304,10 @@ private System.Windows.Forms.TextBox textBoxTestFile; private System.Windows.Forms.GroupBox groupBoxTest; private System.Windows.Forms.Button buttonFindTestFile; + private System.Windows.Forms.RadioButton radioButtonLaunchAtStart; + private System.Windows.Forms.RadioButton radioButtonLaunchAtEnd; + private System.Windows.Forms.GroupBox groupBoxWhen; + private System.Windows.Forms.GroupBox groupBoxHow; + private System.Windows.Forms.ToolTip toolTips; } } \ No newline at end of file Modified: trunk/plugins/ComSkipLauncher/ExternalProgram.cs =================================================================== --- trunk/plugins/ComSkipLauncher/ExternalProgram.cs 2007-03-10 12:06:32 UTC (rev 175) +++ trunk/plugins/ComSkipLauncher/ExternalProgram.cs 2007-03-10 14:46:25 UTC (rev 176) @@ -30,6 +30,11 @@ #region Properties + public bool RunAtStart + { + get { return radioButtonLaunchAtStart.Checked; } + set { radioButtonLaunchAtStart.Checked = value; } + } public string Program { get { return textBoxProgram.Text; } @@ -43,10 +48,11 @@ #region Constructors - public ExternalProgram(string program, string parameters) + public ExternalProgram(string program, string parameters, bool runAtStart) { InitializeComponent(); + radioButtonLaunchAtStart.Checked = runAtStart; textBoxProgram.Text = program; textBoxParameters.Text = parameters; } Modified: trunk/plugins/ComSkipLauncher/ExternalProgram.resx =================================================================== --- trunk/plugins/ComSkipLauncher/ExternalProgram.resx 2007-03-10 12:06:32 UTC (rev 175) +++ trunk/plugins/ComSkipLauncher/ExternalProgram.resx 2007-03-10 14:46:25 UTC (rev 176) @@ -117,7 +117,13 @@ <resheader name="writer"> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </resheader> + <metadata name="toolTips.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>150, 17</value> + </metadata> <metadata name="openFileDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <value>17, 17</value> </metadata> + <metadata name="toolTips.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>150, 17</value> + </metadata> </root> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |