diff options
author | brianmario <[email protected]> | 2007-07-11 02:24:48 +0000 |
---|---|---|
committer | brianmario <[email protected]> | 2007-07-11 02:24:48 +0000 |
commit | 1f013f7fed5b0103afe4e33a860be91b2e94f660 (patch) | |
tree | 752287ade8c65dc22edac75af53d526081869d11 | |
parent | ec8aaeacdf2eebb162abb54f419035e10cdd2e73 (diff) |
updated some Form.Show calls to Form.ShowDialog
updating frmReadDVD to throw CLI call on it's own thread to prevent UI lockup
added ToString overrides in Parsing.AudioTrack, Parsing.Subtitle and Parsing.Title
misc interface/notification updates to frmReadDVD upon starting the scan process
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@671 b64f7644-9d1e-0410-96f1-a4d463321fa5
-rw-r--r-- | win/C#/HandBrakeCS.csproj | 2 | ||||
-rw-r--r-- | win/C#/Parsing/AudioTrack.cs | 5 | ||||
-rw-r--r-- | win/C#/Parsing/Subtitle.cs | 5 | ||||
-rw-r--r-- | win/C#/Parsing/Title.cs | 6 | ||||
-rw-r--r-- | win/C#/frmAbout.Designer.cs | 1 | ||||
-rw-r--r-- | win/C#/frmDVDData.Designer.cs | 5 | ||||
-rw-r--r-- | win/C#/frmDVDData.cs | 5 | ||||
-rw-r--r-- | win/C#/frmMain.cs | 16 | ||||
-rw-r--r-- | win/C#/frmReadDVD.Designer.cs | 1 | ||||
-rw-r--r-- | win/C#/frmReadDVD.cs | 60 | ||||
-rw-r--r-- | win/C#/frmUpdate.Designer.cs | 1 |
11 files changed, 69 insertions, 38 deletions
diff --git a/win/C#/HandBrakeCS.csproj b/win/C#/HandBrakeCS.csproj index 499cf29f6..9ad49c2c5 100644 --- a/win/C#/HandBrakeCS.csproj +++ b/win/C#/HandBrakeCS.csproj @@ -37,7 +37,6 @@ <Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
- <Content Include="file.txt" />
<Compile Include="frmAbout.cs">
<SubType>Form</SubType>
</Compile>
@@ -65,6 +64,7 @@ <Compile Include="Parsing\AudioTrack.cs" />
<Compile Include="Parsing\Chapter.cs" />
<Compile Include="Parsing\DVD.cs" />
+ <Compile Include="Parsing\Parser.cs" />
<Compile Include="Parsing\Subtitle.cs" />
<Compile Include="Parsing\Title.cs" />
<Compile Include="Program.cs" />
diff --git a/win/C#/Parsing/AudioTrack.cs b/win/C#/Parsing/AudioTrack.cs index 6232da2a9..0f89d3d37 100644 --- a/win/C#/Parsing/AudioTrack.cs +++ b/win/C#/Parsing/AudioTrack.cs @@ -61,6 +61,11 @@ namespace Handbrake.Parsing }
}
+ public override string ToString()
+ {
+ return string.Format("{0} ({1}) ({2})", this.m_language, this.m_format, this.m_subFormat);
+ }
+
public static AudioTrack Parse(StreamReader output)
{
string curLine = output.ReadLine();
diff --git a/win/C#/Parsing/Subtitle.cs b/win/C#/Parsing/Subtitle.cs index a9c169ddc..ba037b545 100644 --- a/win/C#/Parsing/Subtitle.cs +++ b/win/C#/Parsing/Subtitle.cs @@ -25,6 +25,11 @@ namespace Handbrake.Parsing }
}
+ public override string ToString()
+ {
+ return this.m_language;
+ }
+
public static Subtitle Parse(StreamReader output)
{
string curLine = output.ReadLine();
diff --git a/win/C#/Parsing/Title.cs b/win/C#/Parsing/Title.cs index 5df7a6bb4..99b32cd70 100644 --- a/win/C#/Parsing/Title.cs +++ b/win/C#/Parsing/Title.cs @@ -133,6 +133,12 @@ namespace Handbrake.Parsing this.m_cellRange = new int[2];
}
+ public override string ToString()
+ {
+ return string.Format("{0} - {1}h{2}m{3}s", this.m_titleNumber, this.m_duration.Hours,
+ this.m_duration.Minutes, this.m_duration.Seconds);
+ }
+
public static Title Parse(StreamReader output)
{
Title thisTitle = new Title();
diff --git a/win/C#/frmAbout.Designer.cs b/win/C#/frmAbout.Designer.cs index f4e65592b..6bbf4e68f 100644 --- a/win/C#/frmAbout.Designer.cs +++ b/win/C#/frmAbout.Designer.cs @@ -127,6 +127,7 @@ namespace Handbrake this.Controls.Add(this.Label2);
this.Controls.Add(this.PictureBox1);
this.Controls.Add(this.Label1);
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "frmAbout";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
diff --git a/win/C#/frmDVDData.Designer.cs b/win/C#/frmDVDData.Designer.cs index 005be7e5a..6476e7ec9 100644 --- a/win/C#/frmDVDData.Designer.cs +++ b/win/C#/frmDVDData.Designer.cs @@ -68,8 +68,9 @@ namespace Handbrake this.btn_close.TabStop = false;
this.btn_close.Text = "Close Window";
this.btn_close.UseVisualStyleBackColor = false;
+ this.btn_close.Click += new System.EventHandler(this.btn_close_Click);
//
- // DVDData
+ // frmDVDData
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
@@ -78,7 +79,7 @@ namespace Handbrake this.Controls.Add(this.rtf_dvdInfo);
this.Controls.Add(this.btn_close);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
- this.Name = "DVDData";
+ this.Name = "frmDVDData";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Read DVD";
this.ResumeLayout(false);
diff --git a/win/C#/frmDVDData.cs b/win/C#/frmDVDData.cs index bc33cb0c8..f413d220a 100644 --- a/win/C#/frmDVDData.cs +++ b/win/C#/frmDVDData.cs @@ -14,5 +14,10 @@ namespace Handbrake {
InitializeComponent();
}
+
+ private void btn_close_Click(object sender, EventArgs e)
+ {
+ this.Close();
+ }
}
}
\ No newline at end of file diff --git a/win/C#/frmMain.cs b/win/C#/frmMain.cs index 471e61a3f..09954b293 100644 --- a/win/C#/frmMain.cs +++ b/win/C#/frmMain.cs @@ -339,7 +339,7 @@ namespace Handbrake private void mnu_update_Click(object sender, EventArgs e)
{
Form Update = new frmUpdate();
- Update.Show();
+ Update.ShowDialog();
}
private void mnu_exit_Click(object sender, EventArgs e)
@@ -351,7 +351,7 @@ namespace Handbrake private void mnu_encode_Click(object sender, EventArgs e)
{
Form Queue = new frmQueue();
- Queue.Show();
+ Queue.ShowDialog();
}
private void mnu_viewDVDdata_Click(object sender, EventArgs e)
@@ -363,7 +363,7 @@ namespace Handbrake private void mnu_options_Click(object sender, EventArgs e)
{
Form Options = new frmOptions();
- Options.Show();
+ Options.ShowDialog();
}
// PRESETS MENU --------------------------------------------------------------
@@ -516,7 +516,7 @@ namespace Handbrake private void mnu_about_Click(object sender, EventArgs e)
{
Form About = new frmAbout();
- About.Show();
+ About.ShowDialog();
}
@@ -536,8 +536,8 @@ namespace Handbrake if (filename != "")
{
text_source.Text = filename;
- Form frmReadDVD = new frmReadDVD(filename, (frmMain)frmMain.ActiveForm);
- frmReadDVD.Show();
+ Form frmReadDVD = new frmReadDVD(filename, this);
+ frmReadDVD.ShowDialog();
}
}
@@ -548,8 +548,8 @@ namespace Handbrake if (filename != "")
{
text_source.Text = filename;
- Form frmReadDVD = new frmReadDVD(filename, (frmMain)frmMain.ActiveForm);
- frmReadDVD.Show();
+ Form frmReadDVD = new frmReadDVD(filename, this);
+ frmReadDVD.ShowDialog();
}
}
diff --git a/win/C#/frmReadDVD.Designer.cs b/win/C#/frmReadDVD.Designer.cs index c55d243be..1cb811133 100644 --- a/win/C#/frmReadDVD.Designer.cs +++ b/win/C#/frmReadDVD.Designer.cs @@ -103,6 +103,7 @@ namespace Handbrake this.Controls.Add(this.btn_ok);
this.Controls.Add(this.Label3);
this.Controls.Add(this.Label2);
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "frmReadDVD";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
diff --git a/win/C#/frmReadDVD.cs b/win/C#/frmReadDVD.cs index 0d8e109e9..caf9d5853 100644 --- a/win/C#/frmReadDVD.cs +++ b/win/C#/frmReadDVD.cs @@ -12,20 +12,44 @@ namespace Handbrake {
public partial class frmReadDVD : Form
{
+ private string inputFile;
+ private frmMain mainWindow;
+ private Parsing.DVD thisDvd;
+ private delegate void UpdateUIHandler();
- string inputFile;
- frmMain mainWindow;
-
- public frmReadDVD(string inputFile, frmMain window)
+ public frmReadDVD(string inputFile, frmMain parent)
{
InitializeComponent();
this.inputFile = inputFile;
- this.mainWindow = window;
+ this.mainWindow = parent;
}
private void btn_ok_Click(object sender, EventArgs e)
{
-
+ lbl_status.Visible = true;
+ btn_ok.Enabled = false;
+ lbl_pressOk.Visible = false;
+ // throw cli call and parsing on it's own thread
+ System.Threading.ThreadPool.QueueUserWorkItem(startProc);
+ }
+
+ private void updateUIElements()
+ {
+ if (this.InvokeRequired)
+ {
+ this.BeginInvoke(new UpdateUIHandler(updateUIElements));
+ return;
+ }
+ // Now pass this streamreader to frmMain so that it can be used there.
+ mainWindow.setStreamReader(thisDvd);
+
+ mainWindow.drp_dvdtitle.Items.Clear();
+ mainWindow.drp_dvdtitle.Items.AddRange(thisDvd.Titles.ToArray());
+ this.Close();
+ }
+
+ private void startProc(object state)
+ {
string query = "-i " + '"' + inputFile + '"' + " -t0";
System.Diagnostics.Process hbProc = new System.Diagnostics.Process();
hbProc.StartInfo.FileName = "hbcli.exe";
@@ -35,33 +59,15 @@ namespace Handbrake hbProc.StartInfo.UseShellExecute = false;
hbProc.StartInfo.CreateNoWindow = true;
-
hbProc.Start();
- StreamReader readData = new StreamReader(new BufferedStream(hbProc.StandardError.BaseStream));
+ Parsing.Parser readData = new Parsing.Parser(hbProc.StandardError.BaseStream);
hbProc.WaitForExit();
hbProc.Close();
// Setup the parser
- Parsing.DVD thisDvd = Parsing.DVD.Parse(readData);
-
- // Now pass this streamreader to frmMain so that it can be used there.
- mainWindow.setStreamReader(thisDvd);
-
- // Setup frmMain drp_dvdTitle with the title information in the form: 1 (02:34:11)
- int count = thisDvd.Titles.Count -1;
- int counter = 0;
- string title;
+ thisDvd = Parsing.DVD.Parse(readData);
- while (count >= counter)
- {
- title = thisDvd.Titles[counter].TitleNumber.ToString() + " (" + thisDvd.Titles[counter].Duration.ToString() + ")";
- mainWindow.drp_dvdtitle.Items.Add(title);
- counter++;
- }
- this.Close();
+ updateUIElements();
}
-
-
-
}
}
\ No newline at end of file diff --git a/win/C#/frmUpdate.Designer.cs b/win/C#/frmUpdate.Designer.cs index a7e00ea65..e9fd429e9 100644 --- a/win/C#/frmUpdate.Designer.cs +++ b/win/C#/frmUpdate.Designer.cs @@ -245,6 +245,7 @@ namespace Handbrake this.Controls.Add(this.Label2);
this.Controls.Add(this.btn_update);
this.Controls.Add(this.Label1);
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "frmUpdate";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|