Beispiel #1
0
        private void MenuFileOpenRecent_DropDownOpening(object sender, System.EventArgs e)
        {
            AppWorkspace.MostRecentFiles.LoadMruList();
            MostRecentFile[] filesReverse = AppWorkspace.MostRecentFiles.GetFileList();
            MostRecentFile[] files        = new MostRecentFile[filesReverse.Length];
            int i;

            for (i = 0; i < filesReverse.Length; ++i)
            {
                files[files.Length - i - 1] = filesReverse[i];
            }

            foreach (ToolStripItem mi in menuFileOpenRecent.DropDownItems)
            {
                mi.Click -= new EventHandler(MenuFileOpenRecentFile_Click);
            }

            menuFileOpenRecent.DropDownItems.Clear();

            i = 0;

            foreach (MostRecentFile mrf in files)
            {
                string menuName;

                if (i < 9)
                {
                    menuName = "&";
                }
                else
                {
                    menuName = "";
                }

                menuName += (1 + i).ToString() + " " + Path.GetFileName(mrf.FileName);
                ToolStripMenuItem mi = new ToolStripMenuItem(menuName);
                mi.Click       += new EventHandler(MenuFileOpenRecentFile_Click);
                mi.ImageScaling = ToolStripItemImageScaling.None;
                mi.Image        = (Image)mrf.Thumb.Clone();
                menuFileOpenRecent.DropDownItems.Add(mi);
                ++i;
            }

            if (menuFileOpenRecent.DropDownItems.Count == 0)
            {
                ToolStripMenuItem none = new ToolStripMenuItem(PdnResources.GetString("Menu.File.OpenRecent.None"));
                none.Enabled = false;
                menuFileOpenRecent.DropDownItems.Add(none);
            }
            else
            {
                ToolStripSeparator separator = new ToolStripSeparator();
                menuFileOpenRecent.DropDownItems.Add(separator);

                ToolStripMenuItem clearList = new ToolStripMenuItem();
                clearList.Text = PdnResources.GetString("Menu.File.OpenRecent.ClearThisList");
                menuFileOpenRecent.DropDownItems.Add(clearList);
                Image deleteIcon = PdnResources.GetImageResource("Icons.MenuEditEraseSelectionIcon.png").Reference;
                clearList.ImageTransparentColor = Utility.TransparentKey;
                clearList.ImageAlign            = ContentAlignment.MiddleCenter;
                clearList.ImageScaling          = ToolStripItemImageScaling.None;
                int    iconSize = AppWorkspace.MostRecentFiles.IconSize;
                Bitmap bitmap   = new Bitmap(iconSize + 2, iconSize + 2);

                using (Graphics g = Graphics.FromImage(bitmap))
                {
                    g.Clear(clearList.ImageTransparentColor);

                    Point offset = new Point((bitmap.Width - deleteIcon.Width) / 2,
                                             (bitmap.Height - deleteIcon.Height) / 2);

                    g.CompositingMode = CompositingMode.SourceCopy;
                    g.DrawImage(deleteIcon, offset.X, offset.Y, deleteIcon.Width, deleteIcon.Height);
                }

                clearList.Image  = bitmap;
                clearList.Click += new EventHandler(ClearList_Click);
            }
        }
Beispiel #2
0
        private void MenuFileOpenRecent_DropDownOpening(object sender, System.EventArgs e)
        {
            AppWorkspace.MostRecentFiles.LoadMruList();
            MostRecentFile[] filesReverse = AppWorkspace.MostRecentFiles.GetFileList();
            MostRecentFile[] files = new MostRecentFile[filesReverse.Length];
            int i;

            for (i = 0; i < filesReverse.Length; ++i)
            {
                files[files.Length - i - 1] = filesReverse[i];
            }

            foreach (ToolStripItem mi in menuFileOpenRecent.DropDownItems)
            {
                mi.Click -= new EventHandler(MenuFileOpenRecentFile_Click);
            }

            menuFileOpenRecent.DropDownItems.Clear();

            i = 0;

            foreach (MostRecentFile mrf in files)
            {
                string menuName;

                if (i < 9)
                {
                    menuName = "&";
                }
                else
                {
                    menuName = "";
                }

                menuName += (1 + i).ToString() + " " + Path.GetFileName(mrf.FileName);
                ToolStripMenuItem mi = new ToolStripMenuItem(menuName);
                mi.Click += new EventHandler(MenuFileOpenRecentFile_Click);
                mi.ImageScaling = ToolStripItemImageScaling.None;
                mi.Image = (Image)mrf.Thumb.Clone();
                menuFileOpenRecent.DropDownItems.Add(mi);
                ++i;
            }

            if (menuFileOpenRecent.DropDownItems.Count == 0)
            {
                ToolStripMenuItem none = new ToolStripMenuItem(PdnResources.GetString("Menu.File.OpenRecent.None"));
                none.Enabled = false;
                menuFileOpenRecent.DropDownItems.Add(none);
            }
            else
            {
                ToolStripSeparator separator = new ToolStripSeparator();
                menuFileOpenRecent.DropDownItems.Add(separator);

                ToolStripMenuItem clearList = new ToolStripMenuItem();
                clearList.Text = PdnResources.GetString("Menu.File.OpenRecent.ClearThisList");
                menuFileOpenRecent.DropDownItems.Add(clearList);
                Image deleteIcon = PdnResources.GetImageResource("Icons.MenuEditEraseSelectionIcon.png").Reference;
                clearList.ImageTransparentColor = Utility.TransparentKey;
                clearList.ImageAlign = ContentAlignment.MiddleCenter;
                clearList.ImageScaling = ToolStripItemImageScaling.None;
                int iconSize = AppWorkspace.MostRecentFiles.IconSize;
                Bitmap bitmap = new Bitmap(iconSize + 2, iconSize + 2);

                using (Graphics g = Graphics.FromImage(bitmap))
                {
                    g.Clear(clearList.ImageTransparentColor);

                    Point offset = new Point((bitmap.Width - deleteIcon.Width) / 2,
                        (bitmap.Height - deleteIcon.Height) / 2);

                    g.CompositingMode = CompositingMode.SourceCopy;
                    g.DrawImage(deleteIcon, offset.X, offset.Y, deleteIcon.Width, deleteIcon.Height);
                }

                clearList.Image = bitmap;
                clearList.Click += new EventHandler(ClearList_Click);
            }
        }
Beispiel #3
0
        private void OnMenuFileOpenRecentDropDownOpening(object sender, EventArgs e)
        {
            int num;

            MostRecentFilesService.Instance.LoadMruList();
            MostRecentFile[] fileList   = MostRecentFilesService.Instance.GetFileList();
            MostRecentFile[] fileArray2 = new MostRecentFile[fileList.Length];
            for (num = 0; num < fileList.Length; num++)
            {
                fileArray2[(fileArray2.Length - num) - 1] = fileList[num];
            }
            foreach (ToolStripItem item in this.menuFileOpenRecent.DropDownItems)
            {
                item.Click -= new EventHandler(this.OnMenuFileOpenRecentFileClick);
            }
            this.menuFileOpenRecent.DropDownItems.Clear();
            num = 0;
            foreach (MostRecentFile file in fileArray2)
            {
                string str;
                if (num < 9)
                {
                    str = "&";
                }
                else
                {
                    str = "";
                }
                int num3 = 1 + num;
                ToolStripMenuItem item2 = new ToolStripMenuItem(str + num3.ToString() + " " + Path.GetFileName(file.Path));
                item2.Click       += new EventHandler(this.OnMenuFileOpenRecentFileClick);
                item2.ImageScaling = ToolStripItemImageScaling.None;
                item2.Image        = (Image)file.Thumb.Clone();
                this.menuFileOpenRecent.DropDownItems.Add(item2);
                num++;
            }
            if (this.menuFileOpenRecent.DropDownItems.Count == 0)
            {
                ToolStripMenuItem item3 = new ToolStripMenuItem(PdnResources.GetString("Menu.File.OpenRecent.None"))
                {
                    Enabled = false
                };
                this.menuFileOpenRecent.DropDownItems.Add(item3);
            }
            else
            {
                ToolStripSeparator separator = new ToolStripSeparator();
                this.menuFileOpenRecent.DropDownItems.Add(separator);
                ToolStripMenuItem item4 = new ToolStripMenuItem {
                    Text = PdnResources.GetString("Menu.File.OpenRecent.ClearThisList")
                };
                this.menuFileOpenRecent.DropDownItems.Add(item4);
                Image reference = PdnResources.GetImageResource("Icons.MenuEditEraseSelectionIcon.png").Reference;
                item4.ImageAlign   = ContentAlignment.MiddleCenter;
                item4.ImageScaling = ToolStripItemImageScaling.None;
                int    iconSize = MostRecentFilesService.Instance.IconSize;
                Bitmap image    = new Bitmap(iconSize + 2, iconSize + 2, PixelFormat.Format32bppArgb);
                using (Graphics graphics = Graphics.FromImage(image))
                {
                    graphics.CompositingMode = CompositingMode.SourceCopy;
                    graphics.Clear(Color.Transparent);
                    Point point = new Point((image.Width - reference.Width) / 2, (image.Height - reference.Height) / 2);
                    graphics.DrawImage(reference, point.X, point.Y, reference.Width, reference.Height);
                }
                item4.Image  = image;
                item4.Click += new EventHandler(this.OnClearListClick);
            }
        }