From c73546c5afcb6bde3844951a16e3535de3e3ca44 Mon Sep 17 00:00:00 2001 From: Modi777 Date: Sun, 18 Feb 2018 07:23:42 +0700 Subject: [PATCH] Added file size to log and colored. #251, #252, #254 --- .../Movie File Merger Copyright.rtf | Bin 5973 -> 5374 bytes Movie File Merger/MainForm.Designer.cs | 9 +- Movie File Merger/MainForm.cs | 119 ++++++++++++------ Movie File Merger/MainForm.resx | 4 +- 4 files changed, 86 insertions(+), 46 deletions(-) diff --git a/Installation Folder/MFM Program/Movie File Merger Copyright.rtf b/Installation Folder/MFM Program/Movie File Merger Copyright.rtf index 5181a273c85640a074ee663fb34657559a169777..8198eb561e7b6caa054e71d3f739595e1c08cfe2 100644 GIT binary patch delta 88 zcmcbr_fK;||HLa!j24^4853D1tFy}q7AD7JrxxX9=A|21#3aR}8BYGsraSpRhk^=J n*dQjY*vLr1Gq0p5KczIeBr`vcmn)_qu}C2%$zZby+ delta 570 zcmc(c!D`z;5QZsKmlV@WE~Y)qwRIy)g2ctX*)-sTq0m4sdx*4}l@_me#OxZ?m^6=& z7ClMno3!M0N>_H$K0*(}4F7yH1M~lW^ALZ%|F9P-6Uu5Ml&o`h=o47vMi;DSx3`0n zy^v&xePLiG7|ZPZTvUu``=T&g40-nLe*SFo{b&BXP^nNZ%V2f6f|hvgKpJvrcHpT( zUn4`SeGPOd8>Wi$je7@etz`{4BS>m?tgG5%3ED#7Gy}C34q_a4H!oh@nQU?)oY`!R zPvHtVUxcYCK<#}q9giiI=ump%Skh+f1JJJ>oQNi8xYP#c /// 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