/*************************************************************************/ /* Keyboard Shortcuts */ /*************************************************************************/ protected override bool ProcessCmdKey(ref Message msg, Keys keyData) { switch (keyData) { // Focus on Search Box case Keys.Control | Keys.F: textBoxSearchQuery.Focus(); return(true); // Show Shortcuts Window case Keys.Control | Keys.OemQuestion: FrmKeyboardShortcuts.ShowDialog(this); return(true); // Close File Details if open, and close web explorer tab if open case Keys.Escape: if (FrmFileDetails != null) { FrmFileDetails.Dispose(); } return(true); // Close application case Keys.Control | Keys.W: Application.Exit(); return(true); } return(base.ProcessCmdKey(ref msg, keyData)); }
/*************************************************************************/ /* Keyboard Shortcuts */ /*************************************************************************/ protected override bool ProcessCmdKey(ref Message msg, Keys keyData) { switch (keyData) { // Focus on Search Box case Keys.Control | Keys.F: if (CurrentTab == tabHome) { textBoxSearchHome.Focus(); } else { tab.SelectedTab = tabSearch; } textBoxSearchFiles.Focus(); return(true); // Show Shortcuts Window case Keys.Control | Keys.OemQuestion: FrmKeyboardShortcuts.ShowDialog(this); return(true); // Navigate Tabs case Keys.Control | Keys.Right: if (tab.SelectedIndex != tab.TabPages.Count) { tab.SelectedIndex++; } return(true); case Keys.Control | Keys.Left: if (tab.SelectedIndex != 0) { tab.SelectedIndex--; } return(true); // Close File Details if open, and close web explorer tab if open case Keys.Escape: if (FrmFileDetails != null) { tab.SelectedTab = CurrentTab; FrmFileDetails.Dispose(); } if (tab.SelectedTab == tabDiscover && tabsDiscover.SelectedTab == tabDiscoverListings) { tabsDiscover.SelectedTab = tabDiscoverHosts; } return(true); // Close application case Keys.Control | Keys.W: Application.Exit(); return(true); } return(base.ProcessCmdKey(ref msg, keyData)); }
/// <summary> /// Show details/info for a WebFile /// </summary> /// <param name="File">WebFile object</param> /// <param name="createNewInstance">Whether to create a new instance</param> public void ShowFileDetails(WebFile File, DataGridView parentDataGrid, bool isLocal = false, bool createNewInstance = true) { Program.log.Info("Showing file details dialog : " + File.URL); if (createNewInstance) { FrmFileDetails = new FileDetailsWindow(); } FrmFileDetails.IsLocalFile = isLocal; FrmFileDetails.ParentDataGrid = parentDataGrid; FrmFileDetails.CurrentFile = File; FrmFileDetails.LabelFileName.Text = File.Name; FrmFileDetails.LabelValueName.Text = File.Name; FrmFileDetails.LabelValueRefferer.Text = File.Host; FrmFileDetails.LabelValueType.Text = File.Type; FrmFileDetails.InfoFileURL.Text = Uri.UnescapeDataString(File.URL); // Builds parts of the URL into a better presented string, simply replaces '/' with '>' and no filename var url = new Uri(File.URL); var directories = new StringBuilder(); if (!File.URL.StartsWith(@"C:\")) { directories.Append(File.Host); } else { FrmFileDetails.LabelValueRefferer.Text = "Local"; } // Appends the Host at the start if not Local, else it will be named 'Local' foreach (string path in url.LocalPath.Split('/', '\\')) { if (!Path.HasExtension(path)) { directories.Append(path + "> "); } } FrmFileDetails.LabelValueDirectory.Text = directories.ToString(); FrmFileDetails.LabelValueSize.Text = StringExtensions.BytesToPrefix(File.Size); FrmFileDetails.LabelValueAge.Text = StringExtensions.TimeSpanAge(File.DateUploaded); if (!createNewInstance) { FrmFileDetails.CheckFileEvents(); } else { FrmFileDetails.ShowDialog(this); } Program.log.Info("Successfully loaded file details dialog"); }
/// <summary> /// Show details/info for a WebFile /// </summary> /// <param name="File">WebFile object</param> /// <param name="createNewInstance">Whether to create a new instance</param> public void ShowFileDetails(WebFile File, bool createNewInstance = true) { Program.log.Info("Showing file details dialog : " + File.URL); if (createNewInstance) { FrmFileDetails = new FileDetails(); } FrmFileDetails.currentFile = File; FrmFileDetails.infoFileName.Text = File.Name; FrmFileDetails.infoName.Text = File.Name; FrmFileDetails.infoReferrer.Text = File.Host; FrmFileDetails.infoType.Text = File.Type; FrmFileDetails.infoFileURL.Text = Uri.UnescapeDataString(File.URL); // Builds parts of the URL into a better presented string, simply replaces '/' with '>' and no filename var url = new Uri(File.URL); var directories = new StringBuilder(); if (!File.URL.StartsWith(LocalExtensions.userDownloadsDirectory)) { directories.Append(File.Host); } else { FrmFileDetails.infoReferrer.Text = "Local"; } // Appends the Host at the start if not Local, else it will be named 'Local' foreach (string path in url.LocalPath.Split('/', '\\')) { if (!Path.HasExtension(path)) { directories.Append(path + "> "); } } FrmFileDetails.infoDirectory.Text = directories.ToString(); FrmFileDetails.infoSize.Text = TextExtensions.BytesToString(File.Size); FrmFileDetails.infoAge.Text = TextExtensions.GetTimeAgo(File.DateUploaded); FrmFileDetails.Dock = DockStyle.Fill; if (!createNewInstance) { FrmFileDetails.CheckFileEvents(); } if (createNewInstance) { tabBlank.Controls.Clear(); tabBlank.Controls.Add(FrmFileDetails); } tab.SelectedTab = tabBlank; Program.log.Info("Successfully loaded file details dialog"); }
/*************************************************************************/ /* Keyboard Shortcuts */ /*************************************************************************/ protected override bool ProcessCmdKey(ref Message msg, Keys keyData) { switch (keyData) { case Keys.Control | Keys.W: Application.Exit(); return(true); case Keys.Control | Keys.F: if (CurrentTab == tabHome) { textBoxSearchHome.Focus(); } else if (CurrentTab == tabSearch) { textBoxSearchFiles.Focus(); } return(true); case Keys.Escape: if (FrmFileDetails != null) { tab.SelectedTab = CurrentTab; FrmFileDetails.Dispose(); } return(true); case Keys.Control | Keys.OemQuestion: FrmKeyboardShortcuts.ShowDialog(this); return(true); // Navigate Tabs case Keys.Control | Keys.T: if (tab.SelectedIndex != tab.TabPages.Count - 2) { tab.SelectedIndex++; } return(true); case Keys.Control | Keys.R: if (tab.SelectedIndex != 0) { tab.SelectedIndex--; } return(true); } return(base.ProcessCmdKey(ref msg, keyData)); }
/// <summary> /// Show file details for a WebFile /// </summary> /// <param name="file">WebFile object</param> /// <param name="createNewInstance">Whether to create a new instance</param> public void ShowFileDetails(WebFile file, bool createNewInstance = true) { Program.log.Info("Showing file details dialog : " + file.URL); if (createNewInstance) { FrmFileDetails = new FileDetails(); } FrmFileDetails.currentFile = file; FrmFileDetails.infoFileName.Text = file.Name; FrmFileDetails.infoName.Text = file.Name; FrmFileDetails.infoReferrer.Text = file.Host; FrmFileDetails.infoType.Text = file.Type; FrmFileDetails.infoFileURL.Text = Uri.UnescapeDataString(file.URL); // Build all parts of the URL into a better presented string var url = new Uri(file.URL); var directories = new StringBuilder(file.Host); foreach (string path in url.LocalPath.Split('/')) { if (!Path.HasExtension(path)) { directories.Append(path + "> "); } } FrmFileDetails.infoDirectory.Text = directories.ToString(); FrmFileDetails.infoSize.Text = TextExtensions.BytesToString(file.Size); FrmFileDetails.infoAge.Text = TextExtensions.GetTimeAgo(file.DateUploaded); FrmFileDetails.Dock = DockStyle.Fill; if (!createNewInstance) { FrmFileDetails.CheckFileEvents(); } if (createNewInstance) { tabBlank.Controls.Clear(); tabBlank.Controls.Add(FrmFileDetails); } tab.SelectedTab = tabBlank; Program.log.Info("Successfully loaded file details dialog"); }