Ejemplo n.º 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:
                MenuHelpKeyboardShortcuts.PerformClick();
                return(true);

            // Close File Details if open
            case Keys.Escape:
                if (FormFileDetails != null)
                {
                    FormFileDetails.Dispose();
                }
                return(true);

            // Close application
            case Keys.Control | Keys.W:
                Application.Exit();
                return(true);
            }
            return(base.ProcessCmdKey(ref msg, keyData));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Show details/info for a WebFile
        /// </summary>
        /// <param name="File">WebFile object</param>
        /// <param name="parentDataGrid">Parent data grid to scroll</param>
        /// <param name="createNewInstance">Whether to create a new instance</param>
        public void ShowFileDetails(FtpFile File, DataGridView parentDataGrid, bool createNewInstance = true)
        {
            Program.Log.Info("Loading file details : " + File.URL);

            if (createNewInstance)
            {
                FormFileDetails = new FileDetailsWindow();
            }

            FormFileDetails.FileExtension  = Path.GetExtension(File.URL).Replace(".", "").ToUpper();
            FormFileDetails.ParentDataGrid = parentDataGrid;
            FormFileDetails.CurrentFile    = File;

            FormFileDetails.LabelFileName.Text      = File.Name;
            FormFileDetails.LabelValueName.Text     = File.Name;
            FormFileDetails.LabelValueSize.Text     = StringExtensions.BytesToPrefix(File.Size);
            FormFileDetails.LabelValueRefferer.Text = new Uri(File.URL).Host;

            // 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();

            directories.Append(new Uri(File.URL).Host);
            foreach (var path in url.LocalPath.Split('/', '\\'))
            {
                if (!Path.HasExtension(path))
                {
                    directories.Append(path + "> ");
                }
            }
            FormFileDetails.LabelValueDirectory.Text = directories.ToString();

            FormFileDetails.LabelValueExtension.Text = Path.GetExtension(File.URL).Replace(".", "").ToUpper();
            FormFileDetails.LabelValueAge.Text       = StringExtensions.TimeSpanAge(File.DateModified);
            FormFileDetails.InfoFileURL.Text         = Uri.UnescapeDataString(File.URL);

            if (!createNewInstance)
            {
                FormFileDetails.CheckFileEvents();
            }
            else
            {
                FormFileDetails.ShowDialog(this);
            }

            FormFileDetails.Text = File.Name + " - File Details";
            Program.Log.Info("Completed file details");
        }