Exemplo n.º 1
0
        // Try to load an iamge from the cache
        // Takes in a programPath (shortcut) and processes it to the proper file name
        public Image loadImageCache(ProgramShortcut shortcutObject)
        {
            String programPath = shortcutObject.FilePath;

            if (System.IO.File.Exists(programPath) || Directory.Exists(programPath) || shortcutObject.isWindowsApp)
            {
                try
                {
                    // Try to construct the path like if it existed
                    // If it does, directly load it into memory and return it
                    // If not then it would throw an exception in which the below code would catch it
                    String cacheImagePath = generateCachePath(shortcutObject, programPath);

                    using (MemoryStream ms = new MemoryStream(System.IO.File.ReadAllBytes(cacheImagePath)))
                        return(Image.FromStream(ms));
                }
                catch (Exception)
                {
                    /*
                     * // Try to recreate the cache icon image and catch and missing file/icon situations that may arise
                     *
                     * // Checks if the original file even exists to make sure to not do any extra operations
                     *
                     * // Same processing as above in cacheIcons()
                     * String path = Path.Combine(Paths.ConfigPath, this.Name, "Icons", Path.GetFileNameWithoutExtension(programPath) + (Directory.Exists(programPath) ? "_FolderObjTSKGRoup.png" : ".png"));
                     *
                     * Image finalImage;
                     *
                     * if (Path.GetExtension(programPath).ToLower() == ".lnk")
                     * {
                     *  finalImage = Forms.frmGroup.handleLnkExt(programPath);
                     * }
                     * else if (Directory.Exists(programPath))
                     * {
                     *  finalImage = handleFolder.GetFolderIcon(programPath).ToBitmap();
                     * } else
                     * {
                     *  finalImage = Icon.ExtractAssociatedIcon(programPath).ToBitmap();
                     * }
                     *
                     *
                     * // Above all sets finalIamge to the bitmap that was generated from the icons
                     * // Save the icon after it has been fetched by previous code
                     * finalImage.Save(path);
                     *
                     * // Return the said image
                     * return finalImage;
                     */
                    return(global::backgroundClient.Properties.Resources.Error);
                }
            }
            else
            {
                return(global::backgroundClient.Properties.Resources.Error);
            }
        }
Exemplo n.º 2
0
        public String generateCachePath(ProgramShortcut shortcutObject, String programPath)
        {
            /*
             * return @Path.GetDirectoryName(Application.ExecutablePath) +
             *          @"\config\" + this.Name + @"\Icons\" + ((shortcutObject.isWindowsApp) ? specialCharRegex.Replace(programPath, string.Empty) :
             *          @Path.GetFileNameWithoutExtension(programPath)) + (Directory.Exists(programPath) ? "_FolderObjTSKGRoup.png" : ".png");
             */

            return(Path.Combine(Paths.ConfigPath, this.Name, "Icons",
                                ((shortcutObject.isWindowsApp) ? specialCharRegex.Replace(programPath, string.Empty) :
                                 @Path.GetFileNameWithoutExtension(programPath)) + (Directory.Exists(programPath) ? "_FolderObjTSKGRoup.jpg" : ".png")));
        }