Exemple #1
0
        /*************************************************************************/
        /* 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));
        }
Exemple #2
0
        /*************************************************************************/
        /* 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));
        }
Exemple #3
0
        /// <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");
        }
Exemple #4
0
        /// <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");
        }
Exemple #5
0
        /*************************************************************************/
        /* 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));
        }
Exemple #6
0
        /// <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");
        }