diff options
-rw-r--r-- | win/C#/Functions/Main.cs | 40 | ||||
-rw-r--r-- | win/C#/Properties/Settings.Designer.cs | 24 | ||||
-rw-r--r-- | win/C#/Properties/Settings.settings | 6 | ||||
-rw-r--r-- | win/C#/app.config | 6 | ||||
-rw-r--r-- | win/C#/frmOptions.Designer.cs | 35 | ||||
-rw-r--r-- | win/C#/frmOptions.cs | 17 |
6 files changed, 119 insertions, 9 deletions
diff --git a/win/C#/Functions/Main.cs b/win/C#/Functions/Main.cs index 3285b5f3a..ff183178f 100644 --- a/win/C#/Functions/Main.cs +++ b/win/C#/Functions/Main.cs @@ -8,8 +8,10 @@ namespace Handbrake.Functions using System;
using System.Collections.Generic;
using System.Diagnostics;
+ using System.Globalization;
using System.IO;
using System.Net;
+ using System.Text;
using System.Text.RegularExpressions;
using System.Threading;
using System.Windows.Forms;
@@ -151,7 +153,7 @@ namespace Handbrake.Functions foreach (DataGridViewRow item in dataChpt.Rows)
{
string name;
- chapterMap.TryGetValue((int) item.Cells[0].Value, out name);
+ chapterMap.TryGetValue((int)item.Cells[0].Value, out name);
item.Cells[1].Value = name ?? "Chapter " + item.Cells[0].Value;
}
@@ -176,6 +178,12 @@ namespace Handbrake.Functions // Get the Source Name
string sourceName = mainWindow.SourceName;
+ if (Properties.Settings.Default.AutoNameRemoveUnderscore)
+ sourceName = sourceName.Replace("_", " ");
+
+ if (Properties.Settings.Default.AutoNameTitleCase)
+ sourceName = TitleCase(sourceName);
+
// Get the Selected Title Number
string[] titlesplit = mainWindow.drp_dvdtitle.Text.Split(' ');
string dvdTitle = titlesplit[0].Replace("Automatic", string.Empty);
@@ -254,9 +262,9 @@ namespace Handbrake.Functions Process cliProcess = new Process();
ProcessStartInfo handBrakeCli = new ProcessStartInfo("HandBrakeCLI.exe", " -u -v0")
{
- UseShellExecute = false,
- RedirectStandardError = true,
- RedirectStandardOutput = true,
+ UseShellExecute = false,
+ RedirectStandardError = true,
+ RedirectStandardOutput = true,
CreateNoWindow = true
};
cliProcess.StartInfo = handBrakeCli;
@@ -471,7 +479,7 @@ namespace Handbrake.Functions UpdateCheckInformation info =
new UpdateCheckInformation
{
- NewVersionAvailable = false,
+ NewVersionAvailable = false,
BuildInformation = null
};
callback(new UpdateCheckResult(debug, info));
@@ -486,7 +494,7 @@ namespace Handbrake.Functions UpdateCheckInformation info2 =
new UpdateCheckInformation
{
- NewVersionAvailable = latest > current,
+ NewVersionAvailable = latest > current,
BuildInformation = reader
};
callback(new UpdateCheckResult(debug, info2));
@@ -509,7 +517,7 @@ namespace Handbrake.Functions /// </returns>
public static UpdateCheckInformation EndCheckForUpdates(IAsyncResult result)
{
- UpdateCheckResult checkResult = (UpdateCheckResult) result;
+ UpdateCheckResult checkResult = (UpdateCheckResult)result;
return checkResult.Result;
}
@@ -728,7 +736,7 @@ namespace Handbrake.Functions drives.Add(new DriveInformation
{
Id = id,
- VolumeLabel = curDrive.VolumeLabel,
+ VolumeLabel = curDrive.VolumeLabel,
RootDirectory = curDrive.RootDirectory + "VIDEO_TS"
});
id++;
@@ -736,5 +744,21 @@ namespace Handbrake.Functions }
return drives;
}
+
+ public static string TitleCase(string input)
+ {
+ string[] tokens = input.Split(' ');
+ StringBuilder sb = new StringBuilder(input.Length);
+ foreach (string s in tokens)
+ {
+ sb.Append(s[0].ToString().ToUpper());
+ sb.Append(s.Substring(1).ToLower());
+ sb.Append(" ");
+ }
+
+ return sb.ToString().Trim();
+ }
+
+
}
}
\ No newline at end of file diff --git a/win/C#/Properties/Settings.Designer.cs b/win/C#/Properties/Settings.Designer.cs index 1a159140c..c911a94cc 100644 --- a/win/C#/Properties/Settings.Designer.cs +++ b/win/C#/Properties/Settings.Designer.cs @@ -500,5 +500,29 @@ namespace Handbrake.Properties { this["showCliForInGuiEncodeStatus"] = value;
}
}
+
+ [global::System.Configuration.UserScopedSettingAttribute()]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Configuration.DefaultSettingValueAttribute("False")]
+ public bool AutoNameTitleCase {
+ get {
+ return ((bool)(this["AutoNameTitleCase"]));
+ }
+ set {
+ this["AutoNameTitleCase"] = value;
+ }
+ }
+
+ [global::System.Configuration.UserScopedSettingAttribute()]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Configuration.DefaultSettingValueAttribute("False")]
+ public bool AutoNameRemoveUnderscore {
+ get {
+ return ((bool)(this["AutoNameRemoveUnderscore"]));
+ }
+ set {
+ this["AutoNameRemoveUnderscore"] = value;
+ }
+ }
}
}
diff --git a/win/C#/Properties/Settings.settings b/win/C#/Properties/Settings.settings index c9c75d01e..1e4b9387a 100644 --- a/win/C#/Properties/Settings.settings +++ b/win/C#/Properties/Settings.settings @@ -122,5 +122,11 @@ <Setting Name="showCliForInGuiEncodeStatus" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
+ <Setting Name="AutoNameTitleCase" Type="System.Boolean" Scope="User">
+ <Value Profile="(Default)">False</Value>
+ </Setting>
+ <Setting Name="AutoNameRemoveUnderscore" Type="System.Boolean" Scope="User">
+ <Value Profile="(Default)">False</Value>
+ </Setting>
</Settings>
</SettingsFile>
\ No newline at end of file diff --git a/win/C#/app.config b/win/C#/app.config index d1401d03f..1c4e60392 100644 --- a/win/C#/app.config +++ b/win/C#/app.config @@ -128,6 +128,12 @@ <setting name="showCliForInGuiEncodeStatus" serializeAs="String">
<value>True</value>
</setting>
+ <setting name="AutoNameTitleCase" serializeAs="String">
+ <value>False</value>
+ </setting>
+ <setting name="AutoNameRemoveUnderscore" serializeAs="String">
+ <value>False</value>
+ </setting>
</Handbrake.Properties.Settings>
</userSettings>
<startup />
diff --git a/win/C#/frmOptions.Designer.cs b/win/C#/frmOptions.Designer.cs index dac9e9a19..86bdc09ff 100644 --- a/win/C#/frmOptions.Designer.cs +++ b/win/C#/frmOptions.Designer.cs @@ -40,6 +40,8 @@ namespace Handbrake this.drp_completeOption = new System.Windows.Forms.ComboBox();
this.tab_options = new System.Windows.Forms.TabControl();
this.tab_general = new System.Windows.Forms.TabPage();
+ this.check_TitleCase = new System.Windows.Forms.CheckBox();
+ this.check_removeUnderscores = new System.Windows.Forms.CheckBox();
this.check_growlEncode = new System.Windows.Forms.CheckBox();
this.check_GrowlQueue = new System.Windows.Forms.CheckBox();
this.check_m4v = new System.Windows.Forms.CheckBox();
@@ -200,6 +202,8 @@ namespace Handbrake //
// tab_general
//
+ this.tab_general.Controls.Add(this.check_TitleCase);
+ this.tab_general.Controls.Add(this.check_removeUnderscores);
this.tab_general.Controls.Add(this.check_growlEncode);
this.tab_general.Controls.Add(this.check_GrowlQueue);
this.tab_general.Controls.Add(this.check_m4v);
@@ -225,6 +229,33 @@ namespace Handbrake this.tab_general.Text = "General";
this.tab_general.UseVisualStyleBackColor = true;
//
+ // check_TitleCase
+ //
+ this.check_TitleCase.Anchor = System.Windows.Forms.AnchorStyles.Left;
+ this.check_TitleCase.AutoSize = true;
+ this.check_TitleCase.Location = new System.Drawing.Point(297, 279);
+ this.check_TitleCase.Name = "check_TitleCase";
+ this.check_TitleCase.Size = new System.Drawing.Size(151, 17);
+ this.check_TitleCase.TabIndex = 101;
+ this.check_TitleCase.Text = "Change case to Title Case";
+ this.ToolTip.SetToolTip(this.check_TitleCase, "For the {source} option:.\r\nChange the source name to Title Case\r\ne.g \"MOVIE NAME\"" +
+ " to \"Movie Name\"\r\n");
+ this.check_TitleCase.UseVisualStyleBackColor = true;
+ this.check_TitleCase.CheckedChanged += new System.EventHandler(this.check_TitleCase_CheckedChanged);
+ //
+ // check_removeUnderscores
+ //
+ this.check_removeUnderscores.Anchor = System.Windows.Forms.AnchorStyles.Left;
+ this.check_removeUnderscores.AutoSize = true;
+ this.check_removeUnderscores.Location = new System.Drawing.Point(108, 279);
+ this.check_removeUnderscores.Name = "check_removeUnderscores";
+ this.check_removeUnderscores.Size = new System.Drawing.Size(183, 17);
+ this.check_removeUnderscores.TabIndex = 100;
+ this.check_removeUnderscores.Text = "Remove Underscores from Name";
+ this.ToolTip.SetToolTip(this.check_removeUnderscores, "For the {source} option:\r\nRemove any underscores from the source name.\r\n\r\n");
+ this.check_removeUnderscores.UseVisualStyleBackColor = true;
+ this.check_removeUnderscores.CheckedChanged += new System.EventHandler(this.check_removeUnderscores_CheckedChanged);
+ //
// check_growlEncode
//
this.check_growlEncode.Anchor = System.Windows.Forms.AnchorStyles.Left;
@@ -259,7 +290,7 @@ namespace Handbrake //
this.check_m4v.Anchor = System.Windows.Forms.AnchorStyles.Left;
this.check_m4v.AutoSize = true;
- this.check_m4v.Location = new System.Drawing.Point(108, 279);
+ this.check_m4v.Location = new System.Drawing.Point(108, 303);
this.check_m4v.Name = "check_m4v";
this.check_m4v.Size = new System.Drawing.Size(319, 17);
this.check_m4v.TabIndex = 82;
@@ -1567,5 +1598,7 @@ namespace Handbrake private System.Windows.Forms.Label label33;
internal System.Windows.Forms.CheckBox check_clearOldLogs;
internal System.Windows.Forms.CheckBox check_showCliForInGUIEncode;
+ internal System.Windows.Forms.CheckBox check_TitleCase;
+ internal System.Windows.Forms.CheckBox check_removeUnderscores;
}
}
\ No newline at end of file diff --git a/win/C#/frmOptions.cs b/win/C#/frmOptions.cs index 6aa612dbc..b5b742963 100644 --- a/win/C#/frmOptions.cs +++ b/win/C#/frmOptions.cs @@ -81,6 +81,12 @@ namespace Handbrake if (Properties.Settings.Default.useM4v)
check_m4v.CheckState = CheckState.Checked;
+ // Remove Underscores
+ check_removeUnderscores.Checked = Properties.Settings.Default.AutoNameRemoveUnderscore;
+
+ // Title case
+ check_TitleCase.Checked = Properties.Settings.Default.AutoNameTitleCase;
+
// #############################
// Picture Tab
// #############################
@@ -265,6 +271,16 @@ namespace Handbrake Properties.Settings.Default.useM4v = check_m4v.Checked;
}
+ private void check_removeUnderscores_CheckedChanged(object sender, EventArgs e)
+ {
+ Properties.Settings.Default.AutoNameRemoveUnderscore = check_removeUnderscores.Checked;
+ }
+
+ private void check_TitleCase_CheckedChanged(object sender, EventArgs e)
+ {
+ Properties.Settings.Default.AutoNameTitleCase = check_TitleCase.Checked;
+ }
+
#endregion
#region Picture
@@ -471,5 +487,6 @@ namespace Handbrake Properties.Settings.Default.Save(); // Small hack for Vista. Seems to work fine on XP without this
this.Close();
}
+
}
}
\ No newline at end of file |