public void AddStream(Models.Stream stream, bool local, Panel toPanel) { StreamInfo ctrlInfo = new StreamInfo { infoFileURL = stream.URL, }; if (stream.Size != "-") { ctrlInfo.infoSize.Text = UtilityTools.bytesToString(Convert.ToInt32(stream.Size)); } else { ctrlInfo.infoSize.Text = stream.Size; } if (stream.DateUploaded != "-") { ctrlInfo.infoAge.Text = UtilityTools.getTimeAgo(Convert.ToDateTime(stream.DateUploaded)); } else { ctrlInfo.infoAge.Text = stream.DateUploaded; } ctrlInfo.infoName.Text = stream.Name; toPanel.Controls.Add(ctrlInfo); }
public void showFiles(List <string> dataFiles) { BackGroundWorker.RunWorkAsync <List <string> >(() => searchFiles(dataFiles), (data) => { if (tabFiles.InvokeRequired) { loadFilesCallBack b = new loadFilesCallBack(showFiles); Invoke(b, new object[] { dataFiles }); } else { ComponentResourceManager resources = new ComponentResourceManager(typeof(MainForm)); cmboBoxFilesSort.SelectedIndex = 0; dataGridFiles.Rows.Clear(); cmboBoxFilesHost.Items.Clear(); cmboBoxFilesHost.Items.Add(resources.GetString("cmboBoxFilesHost.Items")); stopWatch.Start(); foreach (string jsonData in data) { var dataJson = JsonConvert.DeserializeObject <Models.WebFile>(jsonData); string formattedDate = dataJson.DateAdded; if (dataJson.DateAdded != "-") { formattedDate = UtilityTools.getTimeAgo(Convert.ToDateTime(dataJson.DateAdded)); } string formattedSize = dataJson.Size; if (dataJson.Size != "-") { formattedSize = UtilityTools.bytesToString(Convert.ToInt64(dataJson.Size)); } dataGridFiles.Rows.Add(dataJson.Type, dataJson.Title, formattedSize, formattedDate, dataJson.Host, dataJson.URL); if (!(cmboBoxFilesHost.Items.Contains(dataJson.Host))) { cmboBoxFilesHost.Items.Add(dataJson.Host); } } stopWatch.Stop(); TimeSpan ts = stopWatch.Elapsed; lblFilesResultsInfo.Text = UtilityTools.getFormattedNumber(dataGridFiles.Rows.Count.ToString()) + " / " + UtilityTools.getFormattedNumber(dataFiles.Count.ToString()) + " Files (" + String.Format("{0:0.000}", ts.TotalSeconds) + " Seconds)"; stopWatch.Reset(); tab.SelectedTab = currentTab; cmboBoxFilesHost.DropDownWidth = UtilityTools.DropDownWidth(cmboBoxFilesHost); imgSpinner.Visible = false; } }); }
private void ctrlStreamInfo_Load(object sender, EventArgs e) { BackColor = Color.Transparent; VLCToolStripMenuItem.Visible = File.Exists(frmOpenTheatre.pathVLC); MPCToolStripMenuItem.Visible = File.Exists(frmOpenTheatre.pathMPCCodec64) || File.Exists(frmOpenTheatre.pathMPC64) || File.Exists(frmOpenTheatre.pathMPC86); if (Properties.Settings.Default.Bookmarks.Contains(infoFileURL)) { imgAddToBookmarks.Image = Properties.Resources.bookmark_remove; } else { imgAddToBookmarks.Image = Properties.Resources.bookmark_plus; } try { WebRequest req = WebRequest.Create(infoFileURL); req.Method = "HEAD"; req.Timeout = 1500; using (HttpWebResponse fileResponse = (HttpWebResponse)req.GetResponse()) { DateTime fileModifiedTime = fileResponse.LastModified; if (fileModifiedTime != null) { infoFileDateAdded.Text = UtilityTools.getTimeAgo(fileModifiedTime); } else { infoFileDateAdded.Text = "n/a"; } int ContentLength; if (int.TryParse(fileResponse.Headers.Get("Content-Length"), out ContentLength)) { infoFileSize.Text = UtilityTools.ToFileSize(Convert.ToDouble(ContentLength)); } else { infoFileSize.Text = "n/a"; } } } catch { infoFileSize.Text = "n/a"; infoFileDateAdded.Text = "n/a"; } }
public void showSelectedFiles(string[] files) { BackGroundWorker.RunWorkAsync <List <string> >(() => searchFiles(files), (data) => { if (tabFiles.InvokeRequired) { loadFilesCallBack b = new loadFilesCallBack(showSelectedFiles); Invoke(b, new object[] { files }); } else { ComponentResourceManager resources = new ComponentResourceManager(typeof(frmOpenTheatre)); cmboBoxFilesSort.SelectedIndex = 0; dataGridFiles.Rows.Clear(); cmboBoxFilesHost.Items.Clear(); cmboBoxFilesHost.Items.Add(resources.GetString("cmboBoxFilesHost.Items")); cmboBoxFilesFormat.Items.Clear(); cmboBoxFilesFormat.Items.Add(resources.GetString("cmboBoxFilesFormat.Items")); foreach (string jsonData in data) { var dataJson = DatabaseFilesEntity.FromJson(jsonData); string dateAdded = dataJson.DateAdded; if (dataJson.DateAdded != "-") { dateAdded = UtilityTools.getTimeAgo(Convert.ToDateTime(dataJson.DateAdded)); } dataGridFiles.Rows.Add(dataJson.Type, dataJson.Title, dataJson.Size, dateAdded, dataJson.Host, dataJson.URL); if (!(cmboBoxFilesFormat.Items.Contains(dataJson.Type))) { cmboBoxFilesFormat.Items.Add(dataJson.Type); } if (!(cmboBoxFilesHost.Items.Contains(dataJson.Host))) { cmboBoxFilesHost.Items.Add(dataJson.Host); } } cmboBoxFilesHost.DropDownWidth = DropDownWidth(cmboBoxFilesHost); imgSpinner.Visible = false; } }); }
private void ctrlFileDetails_Load(object sender, EventArgs e) { VLCToolStripMenuItem.Visible = File.Exists(MainForm.pathVLC); MPCToolStripMenuItem.Visible = File.Exists(MainForm.pathMPCCodec64) || File.Exists(MainForm.pathMPC64) || File.Exists(MainForm.pathMPC86); if (videoFileTypes.Contains(infoType.Text.ToUpper()) || audioFileTypes.Contains(infoType.Text.ToUpper())) { btnPlayMedia.Visible = true; } if (infoAge.Text == "-") { try { infoAge.Text = UtilityTools.getTimeAgo(Convert.ToDateTime(UtilityTools.getLastModifiedTime(infoFileURL.Text))); } catch { infoAge.Text = "-"; } } if (infoSize.Text == "-") { btnRequestFileSize.Visible = true; } if (infoFileSubtitles == null) { if (UtilityTools.isExistingSubtitlesFile(infoFileURL.Text) == true) { infoFileSubtitles = MainForm.userDownloadsDirectory + Path.GetFileNameWithoutExtension(infoFileURL.Text) + ".srt"; } } if (UtilityTools.isSaved(UtilityTools.fileToJson(infoFileURL.Text, infoName.Text, infoType.Text, infoReferrer.Text))) { btnSaveFile.Image = WebCrunch.Properties.Resources.bookmark_remove; } else { btnSaveFile.Image = WebCrunch.Properties.Resources.bookmark_plus; } }
private void ctrlStreamInfo_Load(object sender, EventArgs e) { BackColor = Color.Transparent; VLCToolStripMenuItem.Visible = File.Exists(frmOpenTheatre.pathVLC); MPCToolStripMenuItem.Visible = File.Exists(frmOpenTheatre.pathMPCCodec64) || File.Exists(frmOpenTheatre.pathMPC64) || File.Exists(frmOpenTheatre.pathMPC86); if (Properties.Settings.Default.dataBookmarks.Contains(infoFileURL)) { imgAddToBookmarks.Image = Properties.Resources.bookmark_remove; } else { imgAddToBookmarks.Image = Properties.Resources.bookmark_plus; } if (frmOpenTheatre.currentDownloads.Contains(infoFileURL)) { imgDownload.Image = Properties.Resources.cloud_sync; } else if (File.Exists(Properties.Settings.Default.downloadsDirectory + Path.GetFileName(new Uri(infoFileURL).LocalPath)) && infoFileSize.Text == UtilityTools.ToFileSize(Convert.ToDouble(new FileInfo(Properties.Settings.Default.downloadsDirectory + Path.GetFileName(new Uri(infoFileURL).LocalPath)).Length))) { imgDownload.Image = Properties.Resources.cloud_done; } if (isTorrent == true) { imgReportBroken.Visible = false; imgWatch.Visible = false; imgMagnet.Visible = true; } if (isLocal == false) { try { WebRequest req = WebRequest.Create(infoFileURL); req.Method = "HEAD"; req.Timeout = 1500; using (HttpWebResponse fileResponse = (HttpWebResponse)req.GetResponse()) { DateTime fileModifiedTime = fileResponse.LastModified; if (fileModifiedTime != null) { infoFileAge.Text = UtilityTools.getTimeAgo(fileModifiedTime); } else { infoFileAge.Text = "n/a"; } int ContentLength; if (int.TryParse(fileResponse.Headers.Get("Content-Length"), out ContentLength)) { infoFileSize.Text = UtilityTools.ToFileSize(Convert.ToDouble(ContentLength)); } else { infoFileSize.Text = "n/a"; } } } catch { infoFileSize.Text = "n/a"; infoFileAge.Text = "n/a"; } } else { infoFileHost.Text = frmOpenTheatre.rm.GetString("local"); infoFileSize.Text = UtilityTools.ToFileSize(new FileInfo(infoFileURL).Length); infoFileAge.Text = UtilityTools.getTimeAgo(File.GetLastWriteTime(infoFileURL)); imgDownload.Visible = false; imgReportBroken.Visible = false; imgShare.Visible = false; imgCopyURL.Visible = false; } // Checks for exact file name of a subtitle file that matches the one being loaded (e.g. Media File Name: 'Jigsaw.2017.mp4' > Subtitle File Name: 'Jigsaw.2017.srt' will be loaded) if (infoFileSubtitles == null) { if (UtilityTools.isExistingSubtitlesFile(infoFileURL) == true) { infoFileSubtitles = Properties.Settings.Default.downloadsDirectory + Path.GetFileNameWithoutExtension(infoFileURL) + ".srt"; } } }