diff --git a/Installation Folder/MFM Program/Movie File Merger Copyright.rtf b/Installation Folder/MFM Program/Movie File Merger Copyright.rtf
index 5181a27..8198eb5 100644
Binary files a/Installation Folder/MFM Program/Movie File Merger Copyright.rtf and b/Installation Folder/MFM Program/Movie File Merger Copyright.rtf differ
diff --git a/Movie File Merger/MainForm.Designer.cs b/Movie File Merger/MainForm.Designer.cs
index 43be1e6..9d5b739 100644
--- a/Movie File Merger/MainForm.Designer.cs
+++ b/Movie File Merger/MainForm.Designer.cs
@@ -397,6 +397,7 @@ private void InitializeComponent()
"Miscelaneous",
"Adults",
"Clips"});
+ this.cobCollections.BackColor = System.Drawing.SystemColors.Control;
this.cobCollections.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cobCollections.FormattingEnabled = true;
this.cobCollections.Items.AddRange(new object[] {
@@ -575,7 +576,7 @@ private void InitializeComponent()
//
// cobDownloadCriteria
//
- this.cobDownloadCriteria.BackColor = System.Drawing.SystemColors.Control;
+ this.cobDownloadCriteria.BackColor = System.Drawing.SystemColors.ControlDark;
this.cobDownloadCriteria.DropDownWidth = 130;
this.cobDownloadCriteria.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.cobDownloadCriteria.FormattingEnabled = true;
@@ -680,7 +681,7 @@ private void InitializeComponent()
this.cobCriteria.AllowDrop = true;
this.cobCriteria.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
- this.cobCriteria.BackColor = System.Drawing.SystemColors.ControlLight;
+ this.cobCriteria.BackColor = System.Drawing.SystemColors.Control;
this.cobCriteria.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.cobCriteria.ForeColor = System.Drawing.SystemColors.ControlDarkDark;
this.cobCriteria.FormattingEnabled = true;
@@ -1163,7 +1164,7 @@ private void InitializeComponent()
//
// cobSearchDownload
//
- this.cobSearchDownload.BackColor = System.Drawing.SystemColors.Control;
+ this.cobSearchDownload.BackColor = System.Drawing.SystemColors.ControlDarkDark;
this.cobSearchDownload.DropDownWidth = 130;
this.cobSearchDownload.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.cobSearchDownload.FormattingEnabled = true;
@@ -1194,7 +1195,7 @@ private void InitializeComponent()
// cobSearchInfo
//
this.cobSearchInfo.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.cobSearchInfo.BackColor = System.Drawing.SystemColors.Control;
+ this.cobSearchInfo.BackColor = System.Drawing.SystemColors.ControlDark;
this.cobSearchInfo.DropDownWidth = 130;
this.cobSearchInfo.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.cobSearchInfo.FormattingEnabled = true;
diff --git a/Movie File Merger/MainForm.cs b/Movie File Merger/MainForm.cs
index 5bac64a..5eea853 100644
--- a/Movie File Merger/MainForm.cs
+++ b/Movie File Merger/MainForm.cs
@@ -1380,28 +1380,32 @@ string ExtractFullPathFromToolTip( string strToolTip )
return strFilePath.Substring( strFilePath.IndexOf( "] ", StringComparison.CurrentCulture ) + 3 ) + "\\" + strFileName;
}
+ int GetHorizontalRes( string sThisInfo )
+ {
+ int iThisResolution = -1;
+ Match mtExistingResolution = Regex.Match(sThisInfo, "Video: \\d+");
+ if (mtExistingResolution.Success)
+ {
+ string sThisResolution = Regex.Match(mtExistingResolution.Value, @"\d+").Value;
+ iThisResolution = Int32.Parse(sThisResolution);
+ }
+ return iThisResolution;
+ }
+
///
/// Checks if the horizoltal resolution in the tool tip of the new list view item is higher.
///
- /// Existing ListViewItem
- /// Import ListViewItem
+ /// Info about this file.
+ /// Info about the other file.
/// True: if New Item Resolution is higher.
- bool HorizontalResolutionIsHigher( ListViewItem lviExisting, ListViewItem lviImport )
+ bool HorizontalResolutionIsHigher( string sThisInfo, string sOtherInfo )
{
bool bResolutionIsHigher = false;
- if ( cbGetHigherRes.Checked ) {
- Match mtExistingResolution = Regex.Match( lviExisting.ToolTipText, "Video: \\d+" );
- if ( mtExistingResolution.Success ) {
- Match mtImportResolution = Regex.Match( lviImport.ToolTipText, "Video: \\d+" );
- if ( mtImportResolution.Success ) {
- string sExistingResolution = Regex.Match( mtExistingResolution.Value, @"\d+" ).Value;
- int iExistingResolution = Int32.Parse( sExistingResolution );
- string sImportResolution = Regex.Match( mtImportResolution.Value, @"\d+" ).Value;
- int iImportResolution = Int32.Parse( sImportResolution );
- bResolutionIsHigher = iExistingResolution < iImportResolution;
- }
- }
+ int iThisResolution = GetHorizontalRes ( sThisInfo );
+ int iOtherResoution = GetHorizontalRes ( sOtherInfo );
+ if (iThisResolution != -1 && iOtherResoution != -1) {
+ bResolutionIsHigher = iThisResolution < iOtherResoution;
}
return bResolutionIsHigher;
}
@@ -1462,6 +1466,38 @@ string GetMediaInfo ( string sFileName )
return sMediaInfo;
}
+ ///
+ /// Get the file size in MIB.
+ ///
+ ///
+ ///
+ long GetMib ( FileInfo fiFile )
+ {
+ long lMiB = 0;
+ if (File.Exists(fiFile.FullName))
+ {
+ lMiB = fiFile.Length / 1024 / 1024;
+ }
+ return lMiB;
+ }
+
+ ///
+ /// Get detailed information about the files for the tool tip.
+ ///
+ /// The file info of the relvant file.
+ ///
+ string GetFileInfo ( FileInfo fiFile )
+ {
+ long lMiB = GetMib(fiFile);
+ string sInfo = lMiB + " MiB, " + fiFile.Extension.ToUpper().Substring(1);
+
+ string sFileInfo = "File: " + fiFile.Name + "\n" +
+ "Path: " + fiFile.DirectoryName + "\n" +
+ "Info: " + sInfo +
+ ", Last Written " + StandardizeDate(fiFile.LastWriteTime);
+ return sFileInfo;
+ }
+
///
/// Extracts full information of a file with MediaInfo, but returns only selected information.
///
@@ -1476,28 +1512,18 @@ void MakeToolTip( FileInfo fiFile, ListView lvThis, ListViewItem lviThis )
bool bHasMediaInfo = lviThis.ToolTipText.Contains( "Video: " );
bool bHasNewMediaInfo = lviThis.ToolTipText.Contains( "General: " );
- string sMediaInfo = "";
+ string sThisMediaInfo = "";
bool bGetFullDetails = false;
- long lMiB = 0;
- if (File.Exists(fiFile.FullName))
- {
- lMiB = fiFile.Length / 1024 / 1024;
- }
- string sInfo = lMiB + " MiB, " + fiFile.Extension.ToUpper().Substring(1);
-
- string sFileInfo = "File: " + fiFile.Name + "\n" +
- "Path: " + fiFile.DirectoryName + "\n" +
- "Info: " + sInfo +
- ", Last Written " + StandardizeDate( fiFile.LastWriteTime );
- bool bDifferentFileInfo = !lviThis.ToolTipText.Contains( sFileInfo );
+ string sThisFileInfo = GetFileInfo ( fiFile );
+ bool bDifferentFileInfo = !lviThis.ToolTipText.Contains( sThisFileInfo );
switch ( strListType ) {
case "Import":
bool bIsGarbage = FindItem( lvGarbage, lviThis.Text ) != null;
- sMediaInfo = GetExistingMediaInfo( lviThis.Text, lMiB );
- if ( sMediaInfo == "" && !bHasMediaInfo && cbGetHigherRes.Checked && !bIsGarbage ) {
+ sThisMediaInfo = GetExistingMediaInfo( lviThis.Text, GetMib(fiFile));
+ if ( sThisMediaInfo == "" && !bHasMediaInfo && cbGetHigherRes.Checked && !bIsGarbage ) {
bGetFullDetails = true;
}
break;
@@ -1521,27 +1547,40 @@ void MakeToolTip( FileInfo fiFile, ListView lvThis, ListViewItem lviThis )
if (File.Exists(fiFile.FullName))
{
SetStatus("Getting MediaInfo for " + fiFile.Name);
- sMediaInfo = GetMediaInfo(fiFile.FullName);
+ sThisMediaInfo = GetMediaInfo(fiFile.FullName);
}
// Make new tool tip
- lviThis.ToolTipText = sFileInfo + "\n\n" + sMediaInfo;
+ lviThis.ToolTipText = sThisFileInfo + "\n\n" + sThisMediaInfo;
SetListViewChanged( lvThis, true );
}
else if ( bDifferentFileInfo ) {
string sOtherFileName = GetMainFilePathFromToolTip(lviThis.ToolTipText);
if (File.Exists(sOtherFileName)) {
SetStatus("Duplicated Main File for " + fiFile.Name);
- sMediaInfo = GetMediaInfo(fiFile.FullName);
- LogMessage("This File", Color.OrangeRed, fiFile.FullName + "\n" + sMediaInfo.TrimStart());
- LogMessage("Other File", Color.Olive, sOtherFileName + "\n" + GetMediaInfo(sOtherFileName).TrimStart());
+ sThisMediaInfo = GetMediaInfo(fiFile.FullName).TrimStart();
+ string sOtherMediaInfo = GetMediaInfo(sOtherFileName).TrimStart();
+ FileInfo fiOtherFileName = new FileInfo(sOtherFileName);
+ string sOtherFileInfo = GetFileInfo(fiOtherFileName);
+
+ int iThisResolution = GetHorizontalRes(sThisMediaInfo);
+ int iOtherResolution = GetHorizontalRes(sOtherMediaInfo);
+ Color cThisFileColor = GoodMovieColor;
+ if (iThisResolution != -1 && iOtherResolution != -1)
+ {
+ if (iThisResolution < iOtherResolution) cThisFileColor = BadMovieColor;
+ else if (iThisResolution == iOtherResolution) cThisFileColor = Color.DarkGray;
+ }
+
+ LogMessage("This File", cThisFileColor, sThisFileInfo + "\n" + sThisMediaInfo);
+ LogMessage("Other File", Color.DarkGray, sOtherFileInfo + "\n" + sOtherMediaInfo);
}
else
{
SetStatus("Different File Info for " + fiFile.Name);
- sMediaInfo = GetMediaInfo(fiFile.FullName);
+ sThisMediaInfo = GetMediaInfo(fiFile.FullName);
}
- lviThis.ToolTipText = sFileInfo + "\n\n" + sMediaInfo;
+ lviThis.ToolTipText = sThisFileInfo + "\n\n" + sThisMediaInfo;
SetListViewChanged( lvThis, true );
}
}
@@ -1651,7 +1690,7 @@ void ColorImportItem( ListViewItem lviImport )
lviImport.BackColor = LowResColor;
}
else if ( lviExisting != null ) {
- lviImport.BackColor = HorizontalResolutionIsHigher ( lviExisting, lviImport ) ? HigherResColor :
+ lviImport.BackColor = HorizontalResolutionIsHigher ( lviExisting.ToolTipText, lviImport.ToolTipText ) ? HigherResColor :
ExistingColor;
}
else {
@@ -1697,8 +1736,8 @@ void ColorAll( string strItemName )
lviWish.BackColor = ExistingColor;
}
if ( lviImport != null ) {
- lviImport.BackColor = HorizontalResolutionIsHigher ( lviExisting, lviImport ) ? HigherResColor :
- ExistingColor;
+ lviImport.BackColor = HorizontalResolutionIsHigher ( lviExisting.ToolTipText, lviImport.ToolTipText ) ?
+ HigherResColor : ExistingColor;
if ( HorizontalResolutionTooLow ( lviImport ) ) {
lviImport.BackColor = LowResColor;
}
diff --git a/Movie File Merger/MainForm.resx b/Movie File Merger/MainForm.resx
index ab0f230..dc5fbe2 100644
--- a/Movie File Merger/MainForm.resx
+++ b/Movie File Merger/MainForm.resx
@@ -128,7 +128,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAC8
- JwAAAk1TRnQBSQFMAgEBHQEAAWABAQFgAQEBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
+ JwAAAk1TRnQBSQFMAgEBHQEAAWgBAQFoAQEBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAAYADAAEBAQABCAYAASAYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
@@ -6922,7 +6922,7 @@ the second number for the episode. Episode names will be truncated after the epi
1102, 17
- 66
+ 79