Esempio n. 1
0
        public string GenerateNewFilename(ImageFileNameFormat format)
        {
            //const int FILENAME_MAX_LENGTH = 254;
            string[] parts    = URL.Split('/');
            string   lastPart = (parts.Length > 0) ? parts.Last() : URL;

            string extension = Path.GetExtension(URL); // Contains period (.).

            string result;

            switch (format)
            {
            case ImageFileNameFormat.ID:
                result = lastPart;
                break;

            case ImageFileNameFormat.OriginalFilename:
                result = UploadedFilename + extension;
                break;

            case ImageFileNameFormat.IDAndOriginalFilename:
            default:
                result = Path.GetFileNameWithoutExtension(URL) + " - " + UploadedFilename + extension;
                break;
            }

            if (format == ImageFileNameFormat.ID)
            {
                result = lastPart;
            }
            else if (format == ImageFileNameFormat.OriginalFilename)
            {
                result = UploadedFilename + extension;
            }
            else if (format == ImageFileNameFormat.IDAndOriginalFilename)
            {
                result = Path.GetFileNameWithoutExtension(URL) + " - " + UploadedFilename + extension;
            }
            else //ImageFileFormat == OriginalFilenameAndID
            {
                result = UploadedFilename + " - " + Path.GetFileNameWithoutExtension(URL) + extension;
            }

            //if (result.Length > FILENAME_MAX_LENGTH)
            //{
            //    result = result.Substring(0, FILENAME_MAX_LENGTH - extension.Length) + extension;
            //}

            //Program.Log($"Filename generated: {result}. Length: {result.Length}");

            return(result);
        }
Esempio n. 2
0
        /// <summary>
        /// Save settings to disk.
        /// </summary>
        /// <param name="path">Path to where the application downloads</param>
        /// <param name="time">Thrad refresh timer in seconds</param>
        /// <param name="loadHTML">Save HTML or not</param>
        /// <param name="saveOnclose">Save URLs or not</param>
        /// <param name="minimizeToTray">Minimize to tray or not</param>
        /// <param name="closeWarn">Warn before closing or not</param>
        public static void SaveSettings(
            string path,
            int time,
            ImageFileNameFormat imageFileNameFormat,
            ThreadFolderNameFormat threadFolderNameFormat,
            bool loadHTML,
            bool saveOnclose,
            bool minimizeToTray,
            bool closeWarn,
            bool startWithWindows,
            bool startWithWindowsMinimized,
            bool addThreadSubjectToFolder,
            bool addUrlFromClipboardWhenTextboxEmpty,
            bool checkForUpdatesOnStart)
        {
            Properties.Settings.Default.SavePath                            = path;
            Properties.Settings.Default.ScanTimer                           = time;
            Properties.Settings.Default.ImageFilenameFormat                 = (byte)imageFileNameFormat;
            Properties.Settings.Default.ThreadFolderNameFormat              = (byte)threadFolderNameFormat;
            Properties.Settings.Default.SaveHTML                            = loadHTML;
            Properties.Settings.Default.SaveListsOnClose                    = saveOnclose;
            Properties.Settings.Default.MinimizeToTray                      = minimizeToTray;
            Properties.Settings.Default.WarnOnClose                         = closeWarn;
            Properties.Settings.Default.StartWithWindowsMinimized           = startWithWindowsMinimized;
            Properties.Settings.Default.AddThreadSubjectToFolder            = addThreadSubjectToFolder;
            Properties.Settings.Default.AddUrlFromClipboardWhenTextboxEmpty = addUrlFromClipboardWhenTextboxEmpty;
            Properties.Settings.Default.CheckForUpdatesOnStart              = checkForUpdatesOnStart;

            Properties.Settings.Default.Save();

            RegistryKey registryKey = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);

            if (startWithWindows)
            {
                registryKey.SetValue(PROGRAM_NAME, '"' + Application.ExecutablePath + '"' + (minimizeToTray && startWithWindowsMinimized ? $" {Program.TRAY_CMDLINE_ARG}" : ""));
            }
            else if (registryKey.GetValue(PROGRAM_NAME) != null)
            {
                registryKey.DeleteValue(PROGRAM_NAME);
            }
        }