Skip to content

Commit d181ddf

Browse files
committed
Lots of fixes and improvements
2 parents 377a9d4 + aab1dbe commit d181ddf

30 files changed

Lines changed: 676 additions & 573 deletions

FileMasta/Extensions/ControlExtensions.cs

Lines changed: 25 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,14 @@ public static void ShowControlWindow(UserControl window)
2626
/// <summary>
2727
/// Shows raw text from the specified URL in a window box
2828
/// </summary>
29-
/// <param name="Title">Text to display in title</param>
30-
/// <param name="URL">URL to fetch string data from</param>
31-
public static void ShowDataWindow(string Title, string URL)
29+
/// <param name="title">Text to display in title</param>
30+
/// <param name="url">URL to fetch string data from</param>
31+
public static void ShowDataWindow(string title, string url)
3232
{
33-
DataWindow frmInfo = new DataWindow { Text = Title };
33+
DataWindow frmInfo = new DataWindow { Text = title };
3434

3535
using (var client = MainForm._webClient)
36-
using (var stream = client.OpenRead(URL))
36+
using (var stream = client.OpenRead(url))
3737
using (var reader = new StreamReader(stream))
3838
frmInfo.labelData.Text = reader.ReadToEnd();
3939

@@ -46,16 +46,21 @@ public static void ShowDataWindow(string Title, string URL)
4646
/// </summary>
4747
/// <param name="ctrl">CButton control to set text</param>
4848
/// <param name="text">Text to set to control</param>
49-
public static void SetControlText(Button ctrl, string text)
49+
public static void SetControlText(Button control, string text)
5050
{
51-
ctrl.Text = text;
52-
var myFont = new Font(ctrl.Font.FontFamily, ctrl.Font.Size);
53-
var mySize = ctrl.CreateGraphics().MeasureString(ctrl.Text, myFont);
54-
ctrl.Width = (((int)(Math.Round(mySize.Width, 0))) + 34);
51+
control.Text = text;
52+
var myFont = new Font(control.Font.FontFamily, control.Font.Size);
53+
var mySize = control.CreateGraphics().MeasureString(control.Text, myFont);
54+
control.Width = (((int)(Math.Round(mySize.Width, 0))) + 34);
5555
}
5656

57-
// Add top search item to panel
58-
public static Label GetMostSearchTag(string text, int count)
57+
/// <summary>
58+
/// Creates a nw most search label
59+
/// </summary>
60+
/// <param name="text">Most Search text/value</param>
61+
/// <param name="count">Number of the control, used for naming</param>
62+
/// <returns></returns>
63+
public static Label LabelMostSearch(string text, int count)
5964
{
6065
var a = new Label
6166
{
@@ -67,17 +72,17 @@ public static Label GetMostSearchTag(string text, int count)
6772
ForeColor = Color.Black,
6873
Margin = new Padding(0, 0, 1, 1),
6974
Cursor = Cursors.Hand,
70-
Name = "tagItem" + count,
75+
Name = "MostSearch" + count,
7176
};
7277

73-
a.Click += ButtonMostSearches_Click;
74-
return a;
75-
}
78+
// Click event performs a search in main form
79+
a.Click += delegate
80+
{
81+
MainForm.Form.TextBoxSearchQuery.Text = a.Text;
82+
MainForm.Form.SearchFiles();
83+
};
7684

77-
public static void ButtonMostSearches_Click(object sender, EventArgs e)
78-
{
79-
MainForm.Form.TextBoxSearchQuery.Text = ((Label)sender).Text;
80-
MainForm.Form.SearchFiles();
85+
return a;
8186
}
8287
}
8388
}
Lines changed: 21 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
using System;
2-
using System.IO;
32
using FileMasta.Utilities;
43

54
namespace FileMasta.Extensions
@@ -9,49 +8,41 @@ class LocalExtensions
98
/// <summary>
109
/// User's directories
1110
/// </summary>
12-
public static string pathRoot = $@"{Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)}\FileMasta\";
13-
public static string pathData = $@"{pathRoot}Data\";
14-
public static string pathDownloadsDirectory = $@"{KnownFolders.GetPath(KnownFolder.Downloads)}\";
15-
public static string pathVideosDirectory = $@"{KnownFolders.GetPath(KnownFolder.Videos)}\";
16-
public static string pathMusicDirectory = $@"{KnownFolders.GetPath(KnownFolder.Music)}\";
17-
public static string pathDocumentsDirectory = $@"{KnownFolders.GetPath(KnownFolder.Documents)}\";
18-
public static string pathDesktopDirectory = $@"{KnownFolders.GetPath(KnownFolder.Desktop)}\";
19-
public static string pathBookmarks = $@"{pathRoot}bookmarked.json";
11+
public static string PathRoot { get; } = $@"{Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)}\FileMasta\";
12+
public static string PathData { get; } = $@"{PathRoot}Data\";
13+
public static string PathDownloadsDirectory { get; } = $@"{KnownFolders.GetPath(KnownFolder.Downloads)}\";
14+
public static string PathVideosDirectory { get; } = $@"{KnownFolders.GetPath(KnownFolder.Videos)}\";
15+
public static string PathMusicDirectory { get; } = $@"{KnownFolders.GetPath(KnownFolder.Music)}\";
16+
public static string PathDocumentsDirectory { get; } = $@"{KnownFolders.GetPath(KnownFolder.Documents)}\";
17+
public static string PathDesktopDirectory { get; } = $@"{KnownFolders.GetPath(KnownFolder.Desktop)}\";
18+
public static string PathBookmarks { get; } = $@"{PathRoot}bookmarked.json";
2019

2120
/// <summary>
2221
/// Supported media players
2322
/// </summary>
24-
public const string pathVLC = @"C:\Program Files (x86)\VideoLAN\VLC\vlc.exe";
25-
public const string pathMPCCodec64 = @"C:\Program Files(x86)\K-Lite Codec Pack\MPC-HC64\mpc-hc64.exe";
26-
public const string pathMPC64 = @"C:\Program Files\MPC-HC\mpc-hc64.exe";
27-
public const string pathMPC86 = @"C:\Program Files (x86)\MPC-HC\mpc-hc.exe";
28-
public const string pathKMPlayer = @"C:\KMPlayer\KMPlayer.exe";
29-
public const string pathPotPlayer = @"C:\Program Files\DAUM\PotPlayer\PotPlayerMini64.exe";
23+
public const string _pathVLC = @"C:\Program Files (x86)\VideoLAN\VLC\vlc.exe";
24+
public const string _pathMPCCodec64 = @"C:\Program Files(x86)\K-Lite Codec Pack\MPC-HC64\mpc-hc64.exe";
25+
public const string _pathMPC64 = @"C:\Program Files\MPC-HC\mpc-hc64.exe";
26+
public const string _pathMPC86 = @"C:\Program Files (x86)\MPC-HC\mpc-hc.exe";
27+
public const string _pathKMPlayer = @"C:\KMPlayer\KMPlayer.exe";
28+
public const string _pathPotPlayer = @"C:\Program Files\DAUM\PotPlayer\PotPlayerMini64.exe";
3029

3130
/// <summary>
3231
/// Supported PDF viewers
3332
/// </summary>
34-
public const string pathNitroReader = @"C:\Program Files\Nitro\Reader 5\NitroPDFReader.exe";
33+
public const string _pathNitroReader = @"C:\Program Files\Nitro\Reader 5\NitroPDFReader.exe";
3534

3635
/// <summary>
3736
/// Supported download managers
3837
/// </summary>
39-
public const string pathIDM64 = @"C:\Program Files\Internet Download Manager\IDMan.exe";
40-
public const string pathIDM86 = @"C:\Program Files (x86)\Internet Download Manager\IDMan.exe";
41-
public const string pathFDM = @"C:\Program Files\FreeDownloadManager.ORG\Free Download Manager\fdm.exe";
42-
public const string pathIDA = @"C:\Program Files (x86)\IDA\ida.exe";
38+
public const string _pathIDM64 = @"C:\Program Files\Internet Download Manager\IDMan.exe";
39+
public const string _pathIDM86 = @"C:\Program Files (x86)\Internet Download Manager\IDMan.exe";
40+
public const string _pathFDM = @"C:\Program Files\FreeDownloadManager.ORG\Free Download Manager\fdm.exe";
41+
public const string _pathIDA = @"C:\Program Files (x86)\IDA\ida.exe";
4342

4443
/// <summary>
45-
/// Checks for exact file name of a subtitle file that matches the web filename (e.g. File Name: 'Jigsaw.2017.mp4' > Subtitle File Name: 'Jigsaw.2017.srt' will be loaded)
44+
/// Supported FTP clients
4645
/// </summary>
47-
/// <param name="fileURL"></param>
48-
/// <returns></returns>
49-
public static bool IsSubtitlesAvailable(string fileURL)
50-
{
51-
if (File.Exists(pathDownloadsDirectory + Path.GetFileNameWithoutExtension(new Uri(fileURL).LocalPath) + ".srt"))
52-
return true;
53-
else
54-
return false;
55-
}
46+
public const string _pathFileZilla = @"C:\Program Files\FileZilla FTP Client\filezilla.exe";
5647
}
5748
}

FileMasta/Extensions/WebExtensions.cs

Lines changed: 13 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ class WebExtensions
88
/// <summary>
99
/// Gets size of ftp file in bytes
1010
/// </summary>
11-
/// <param name="fileURL">FTP File</param>
11+
/// <param name="fileURL">FTP File URL</param>
1212
/// <returns></returns>
1313
public static long FtpFileSize(string fileURL)
1414
{
@@ -27,7 +27,7 @@ public static long FtpFileSize(string fileURL)
2727
/// <summary>
2828
/// Gets file DateTimestamp of ftp file
2929
/// </summary>
30-
/// <param name="fileURL">FTP File</param>
30+
/// <param name="fileURL">FTP File URL</param>
3131
/// <returns></returns>
3232
public static DateTime FtpFileTimestamp(string fileURL)
3333
{
@@ -47,13 +47,13 @@ public static DateTime FtpFileTimestamp(string fileURL)
4747
/// <summary>
4848
/// Gets web file size in bytes
4949
/// </summary>
50-
/// <param name="FileURL"></param>
50+
/// <param name="fileURL">FTP File URL</param>
5151
/// <returns></returns>
52-
public static int WebFileSize(string FileURL)
52+
public static int WebFileSize(string fileURL)
5353
{
5454
try
5555
{
56-
var request = WebRequest.Create(FileURL);
56+
var request = WebRequest.Create(fileURL);
5757
request.Method = "HEAD";
5858
request.Timeout = 300000;
5959
using (var responese = (HttpWebResponse)request.GetResponse())
@@ -68,13 +68,13 @@ public static int WebFileSize(string FileURL)
6868
/// <summary>
6969
/// Gets web file last modified date
7070
/// </summary>
71-
/// <param name="FileURL"></param>
71+
/// <param name="fileURL">FTP File URL</param>
7272
/// <returns></returns>
73-
public static DateTime WebFileTimestamp(string FileURL)
73+
public static DateTime WebFileTimestamp(string fileURL)
7474
{
7575
try
7676
{
77-
var request = WebRequest.Create(FileURL);
77+
var request = WebRequest.Create(fileURL);
7878
request.Method = "HEAD";
7979
request.Timeout = 300000;
8080
using (var responese = (HttpWebResponse)request.GetResponse())
@@ -87,18 +87,14 @@ public static DateTime WebFileTimestamp(string FileURL)
8787
}
8888

8989
/// <summary>
90-
/// Checks if web file exists on server
90+
/// Checks if URL exists on the server by requesting file size
9191
/// </summary>
92-
/// <param name="URL"></param>
92+
/// <param name="url"></param>
9393
/// <returns></returns>
94-
public static bool URLExists(string URL)
94+
public static bool URLExists(string url)
9595
{
96-
try
97-
{
98-
GetRequest(URL);
99-
return true;
100-
}
101-
catch { return false; }
96+
if (FtpFileSize(url) == 0) { return true; }
97+
else { return false; }
10298
}
10399

104100
/// <summary>

FileMasta/FileMasta.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@
148148
<DependentUpon>DataWindow.cs</DependentUpon>
149149
</Compile>
150150
<Compile Include="Utilities\ExceptionEvents.cs" />
151-
<Compile Include="Worker\BackGroundWorker.cs" />
151+
<Compile Include="Utilities\BackGroundWorker.cs" />
152152
<Compile Include="Controls\SplashScreen.cs">
153153
<SubType>UserControl</SubType>
154154
</Compile>
@@ -176,7 +176,7 @@
176176
<Compile Include="Properties\AssemblyInfo.cs" />
177177
<Compile Include="Extensions\LocalExtensions.cs" />
178178
<Compile Include="GitHub\OpenLink.cs" />
179-
<Compile Include="Bookmarks\UserBookmarks.cs" />
179+
<Compile Include="Files\Bookmarks.cs" />
180180
<Compile Include="Extensions\StringExtensions.cs" />
181181
<Compile Include="Utilities\TextLineRemover.cs" />
182182
<Compile Include="Utilities\Update.cs" />
Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,23 @@
22
using System.Collections.Generic;
33
using System.IO;
44
using FileMasta.Extensions;
5-
using FileMasta.Files;
65
using FileMasta.Models;
76
using FileMasta.Utilities;
87
using Newtonsoft.Json;
98

10-
namespace FileMasta.Bookmarks
9+
namespace FileMasta.Files
1110
{
12-
class UserBookmarks
11+
class Bookmarks
1312
{
1413
/// <summary>
1514
/// Add File URL to Bookmarks
1615
/// </summary>
17-
/// <param name="URL">URL to add</param>
18-
public static void AddFile(string URL)
16+
/// <param name="url">URL to add</param>
17+
public static void AddFile(string url)
1918
{
20-
using (StreamWriter Bookmarked = File.AppendText(LocalExtensions.pathBookmarks))
19+
using (StreamWriter Bookmarked = File.AppendText(LocalExtensions.PathBookmarks))
2120
{
22-
var a = JsonConvert.SerializeObject(new Bookmark(URL));
21+
var a = JsonConvert.SerializeObject(new Bookmark(url));
2322
Bookmarked.WriteLine(a);
2423
Bookmarked.Flush();
2524
}
@@ -28,26 +27,26 @@ public static void AddFile(string URL)
2827
/// <summary>
2928
/// Remove File URL from Bookmarks
3029
/// </summary>
31-
/// <param name="URL">URL to remove</param>
32-
public static void RemoveFile(string URL)
30+
/// <param name="url">URL to remove</param>
31+
public static void RemoveFile(string url)
3332
{
34-
if (File.Exists(LocalExtensions.pathBookmarks))
35-
TextLineRemover.RemoveTextLines(new List<string> { JsonConvert.SerializeObject(new Bookmark(URL)) }, LocalExtensions.pathBookmarks, LocalExtensions.pathBookmarks + ".tmp");
33+
if (File.Exists(LocalExtensions.PathBookmarks))
34+
TextLineRemover.RemoveTextLines(new List<string> { JsonConvert.SerializeObject(new Bookmark(url)) }, LocalExtensions.PathBookmarks, LocalExtensions.PathBookmarks + ".tmp");
3635
}
3736

3837
/// <summary>
3938
/// Checks if json string exists in Bookmarked Files
4039
/// </summary>
41-
/// <param name="URL">URL to check for</param>
40+
/// <param name="url">URL of the File</param>
4241
/// <returns>Whether URL is bookmarked</returns>
43-
public static bool IsBookmarked(string URL)
42+
public static bool IsBookmarked(string url)
4443
{
45-
if (File.Exists(LocalExtensions.pathBookmarks))
46-
using (StreamReader reader = new StreamReader(LocalExtensions.pathBookmarks))
44+
if (File.Exists(LocalExtensions.PathBookmarks))
45+
using (StreamReader reader = new StreamReader(LocalExtensions.PathBookmarks))
4746
while (!reader.EndOfStream)
4847
{
4948
var a = JsonConvert.DeserializeObject<Bookmark>(reader.ReadLine());
50-
if (a.URL == URL)
49+
if (a.URL == url)
5150
return true;
5251
}
5352

@@ -63,8 +62,8 @@ public static List<FtpFile> BookmarkedFiles()
6362
Program.log.Info("Getting users bookmarks files");
6463

6564
var filesBookmarks = new List<FtpFile>();
66-
if (File.Exists(LocalExtensions.pathBookmarks))
67-
using (StreamReader reader = new StreamReader(LocalExtensions.pathBookmarks))
65+
if (File.Exists(LocalExtensions.PathBookmarks))
66+
using (StreamReader reader = new StreamReader(LocalExtensions.PathBookmarks))
6867
while (!reader.EndOfStream)
6968
try
7069
{
@@ -89,8 +88,8 @@ public static void ClearBookmarks()
8988
Program.log.Info("Clearing all bookmarks");
9089

9190
var filesBookmarks = new List<FtpFile>();
92-
if (File.Exists(LocalExtensions.pathBookmarks))
93-
using (StreamWriter stream = File.CreateText(LocalExtensions.pathBookmarks))
91+
if (File.Exists(LocalExtensions.PathBookmarks))
92+
using (StreamWriter stream = File.CreateText(LocalExtensions.PathBookmarks))
9493
stream.Flush();
9594

9695
Program.log.Info("Bookmarks cleared successfully");

FileMasta/Files/Database.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public static void UpdateLocalDatabase()
3838
{
3939
Program.log.Info($"Updating {fileNameFiles}...");
4040
using (var client = new WebClient())
41-
client.DownloadFile(new Uri(dbOpenFiles), $"{LocalExtensions.pathData}{fileNameFiles}");
41+
client.DownloadFile(new Uri(dbOpenFiles), $"{LocalExtensions.PathData}{fileNameFiles}");
4242
Program.log.Info($"{fileNameFiles} updated");
4343
}
4444
}
@@ -50,10 +50,10 @@ public static void UpdateLocalDatabase()
5050
finally
5151
{
5252
// Deserializes database first line containing meta info
53-
MainForm.DbMetaData = JsonConvert.DeserializeObject<Metadata>(File.ReadLines($"{LocalExtensions.pathData}{fileNameFiles}").First());
53+
MainForm.DbMetaData = JsonConvert.DeserializeObject<Metadata>(File.ReadLines($"{LocalExtensions.PathData}{fileNameFiles}").First());
5454

5555
// Store files in the main form, skipping the first line as it contains the db metadata
56-
foreach (var item in File.ReadAllLines($"{LocalExtensions.pathData}{fileNameFiles}").Skip(1))
56+
foreach (var item in File.ReadAllLines($"{LocalExtensions.PathData}{fileNameFiles}").Skip(1))
5757
if (StringExtensions.IsValidJSON(item))
5858
MainForm.DbOpenFiles.Add(JsonConvert.DeserializeObject<FtpFile>(item));
5959
}
@@ -64,7 +64,7 @@ public static void UpdateLocalDatabase()
6464
{
6565
Program.log.Info($"Updating {fileNameServers}...");
6666
using (var client = new WebClient())
67-
client.DownloadFile(new Uri(dbOpenServers), $"{LocalExtensions.pathData}{fileNameServers}");
67+
client.DownloadFile(new Uri(dbOpenServers), $"{LocalExtensions.PathData}{fileNameServers}");
6868
Program.log.Info($"{fileNameServers} updated");
6969
}
7070
}
@@ -75,7 +75,7 @@ public static void UpdateLocalDatabase()
7575
}
7676
finally
7777
{
78-
MainForm.DbOpenServers.AddRange(File.ReadAllLines($"{LocalExtensions.pathData}{fileNameServers}"));
78+
MainForm.DbOpenServers.AddRange(File.ReadAllLines($"{LocalExtensions.PathData}{fileNameServers}"));
7979
}
8080
}
8181

@@ -91,8 +91,8 @@ public static bool IsFileOutOfDate(string webFile, string fileName)
9191
{
9292
Program.log.Info($"Checking if '{fileName}' needs to be updated");
9393

94-
if (File.Exists($"{LocalExtensions.pathData}{fileName}"))
95-
if (WebExtensions.WebFileSize($"{webFile}") == new FileInfo($"{LocalExtensions.pathData}{fileName}").Length)
94+
if (File.Exists($"{LocalExtensions.PathData}{fileName}"))
95+
if (WebExtensions.WebFileSize($"{webFile}") == new FileInfo($"{LocalExtensions.PathData}{fileName}").Length)
9696
return false;
9797
else
9898
return true;

0 commit comments

Comments
 (0)