tangxu
2024-05-08 4bc4fa60bff1c66a105c49710f1ac4aaeea0f863
WinfrmUI/Hydro.WinfrmUI.Viewer/frmMain.cs
@@ -38,8 +38,8 @@
 
  
            UserLookAndFeel.Default.SetSkinStyle("Office 2019 Colorful");
            Icon = DevExpress.Utils.ResourceImageHelper.CreateIconFromResourcesEx("Hydro.WinfrmUI.Viewer.AppIcon.ico", typeof(frmMain).Assembly);
            this.recentLabelItem2.Caption = AssemblyInfo.AssemblyCopyright;
        }
        private void frmMain_Load(object sender, System.EventArgs e)
@@ -368,243 +368,9 @@
        }
 
 
        #region GalleryItemsChecked
        GalleryItem GetColorItemByColor(Color color, BaseGallery gallery)
        {
            foreach (GalleryItemGroup galleryGroup in gallery.Groups)
                foreach (GalleryItem item in galleryGroup.Items)
                    if (item.Caption == color.Name)
                        return item;
            return null;
        }
        GalleryItem GetFontItemByFont(string fontName, BaseGallery gallery)
        {
            foreach (GalleryItemGroup galleryGroup in gallery.Groups)
                foreach (GalleryItem item in galleryGroup.Items)
                    if (item.Caption == fontName)
                        return item;
            return null;
        }
        GalleryItem CurrentFontItem
        {
            get { return fCurrentFontItem; }
            set
            {
                if (fCurrentFontItem == value) return;
                if (fCurrentFontItem != null) fCurrentFontItem.Checked = false;
                fCurrentFontItem = value;
                if (fCurrentFontItem != null)
                {
                    fCurrentFontItem.Checked = true;
                    MakeFontVisible(fCurrentFontItem);
                }
            }
        }
        void MakeFontVisible(GalleryItem item)
        {
            gddFont.Gallery.MakeVisible(fCurrentFontItem);
            rgbiFont.Gallery.MakeVisible(fCurrentFontItem);
        }
        GalleryItem CurrentColorItem
        {
            get { return fCurrentColorItem; }
            set
            {
                if (fCurrentColorItem == value) return;
                if (fCurrentColorItem != null) fCurrentColorItem.Checked = false;
                fCurrentColorItem = value;
                if (fCurrentColorItem != null)
                {
                    fCurrentColorItem.Checked = true;
                    MakeColorVisible(fCurrentColorItem);
                }
            }
        }
        void MakeColorVisible(GalleryItem item)
        {
            gddFontColor.Gallery.MakeVisible(fCurrentColorItem);
            rgbiFontColor.Gallery.MakeVisible(fCurrentColorItem);
        }
        void CurrentFontChanged()
        {
        }
        private void gddFont_Popup(object sender, System.EventArgs e)
        {
        }
        private void gddFontColor_Popup(object sender, System.EventArgs e)
        {
            MakeColorVisible(CurrentColorItem);
        }
        #endregion
        
        #region MostRecentFiles
 
        private void frmMain_FormClosing(object sender, FormClosingEventArgs e)
        {
        }
        public void InitFiles(string fileName, string defaultItem, bool isFile)
        {
            if (!System.IO.File.Exists(fileName))
            {
                StartInitFiles(isFile);
                EndInitFiles(isFile);
                //InsertElement(defaultItem, isFile);
                return;
            }
            System.IO.StreamReader sr = System.IO.File.OpenText(fileName);
            List<string> list = new List<string>();
            for (string s = sr.ReadLine(); s != null; s = sr.ReadLine())
                list.Add(s);
            for (int i = 0; i < list.Count; i++)
            {
                InsertElement(list[i], isFile);
            }
            sr.Close();
            if (!isFile) CreateButtonBrowse();
        }
        int FindFirstUnCheckedIntemIndex(RecentPanelBase recentPanelBase)
        {
            for (int i = 0; i < recentPanelBase.Items.Count; i++)
            {
                RecentPinItem pinItem = recentPanelBase.Items[i] as RecentPinItem;
                if (pinItem == null) continue;
                if (!pinItem.PinButtonChecked) return i;
            }
            return 0;
        }
        void InsertElement(object obj, bool isFile)
        {
            string[] names = obj.ToString().Split(',');
            string _name = names[0];
            bool checkedLabel = false;
            if (names.Length > 1) checkedLabel = names[1].ToLower().Equals("true");
            if (isFile)
            {
                RecentPinItem pinItem = new RecentPinItem() { Caption = GetFileName(_name), Description = _name, PinButtonChecked = checkedLabel };
                recentTabItem1.TabPanel.Items.Add(pinItem);
            }
            else
            {
                RecentPinItem pinItem = new RecentPinItem() { Caption = GetFileName(_name), Description = _name, PinButtonChecked = checkedLabel };
                RecentPinItem pinItem_ = new RecentPinItem() { Caption = GetFileName(_name), Description = _name, PinButtonChecked = checkedLabel };
                recentTabItem2.TabPanel.Items.Add(pinItem);
                recentTabItem3.TabPanel.Items.Add(pinItem_);
            }
        }
        void CreateButtonBrowse()
        {
            RecentHyperlinkItem hyperlinkBrowse = new RecentHyperlinkItem() { Caption = "Browse..."/*, Link = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) */};
            recentTabItem2.TabPanel.Items.Add(hyperlinkBrowse);
            hyperlinkBrowse.ItemClick += hyperlinkBrowse_ItemClick;
            RecentHyperlinkItem hyperlinkBrowse1 = new RecentHyperlinkItem() { Caption = "Browse..."/*, Link = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) */};
            recentTabItem3.TabPanel.Items.Add(hyperlinkBrowse1);
            hyperlinkBrowse1.ItemClick += hyperlinkBrowse_ItemClick;
        }
        void hyperlinkBrowse_ItemClick(object sender, RecentItemEventArgs e)
        {
            SaveAs();
        }
        private void EndInitFiles(bool isFile)
        {
            if (isFile) InitDefaultFiles();
            else InitDefaultFolders();
            if (!isFile) CreateButtonBrowse();
        }
        private void StartInitFiles(bool isFile)
        {
            if (!isFile) InitStartDefaultFolders();
        }
        private void InitStartDefaultFolders()
        {
            RecentPinItem desktop = new RecentPinItem() { Caption = "Desktop", Description = Environment.GetFolderPath(Environment.SpecialFolder.Desktop).ToString(), PinButtonChecked = true, ShowDescription = false };
            RecentPinItem desktop_ = new RecentPinItem() { Caption = "Desktop", Description = Environment.GetFolderPath(Environment.SpecialFolder.Desktop).ToString(), PinButtonChecked = true, ShowDescription = false };
            recentTabItem2.TabPanel.Items.Add(desktop);
            recentTabItem3.TabPanel.Items.Add(desktop_);
            RecentSeparatorItem separator = new RecentSeparatorItem();
            RecentSeparatorItem separator_ = new RecentSeparatorItem();
            recentTabItem2.TabPanel.Items.Add(separator);
            recentTabItem3.TabPanel.Items.Add(separator_);
        }
        private void InitDefaultFolders()
        {
            RecentPinItem item1 = new RecentPinItem() { Caption = "MyDocuments", Description = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments).ToString() };
            RecentPinItem item1_ = new RecentPinItem() { Caption = "MyDocuments", Description = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments).ToString() };
            recentTabItem2.TabPanel.Items.Add(item1);
            recentTabItem3.TabPanel.Items.Add(item1_);
            RecentPinItem item7 = new RecentPinItem() { Caption = "Saved HTML Articles", Description = "D:\\Personal\\Saved HTML Articles" };
            RecentPinItem item7_ = new RecentPinItem() { Caption = "Saved HTML Articles", Description = "D:\\Personal\\Saved HTML Articles" };
            recentTabItem2.TabPanel.Items.Add(item7);
            recentTabItem3.TabPanel.Items.Add(item7_);
            RecentPinItem item3 = new RecentPinItem() { Caption = "Tutorials", Description = "C:\\Program Files x86\\DevExpress 15.2\\Tutorials" };
            RecentPinItem item3_ = new RecentPinItem() { Caption = "Tutorials", Description = "C:\\Program Files x86\\DevExpress 15.2\\Tutorials" };
            recentTabItem2.TabPanel.Items.Add(item3);
            recentTabItem3.TabPanel.Items.Add(item3_);
            RecentPinItem item2 = new RecentPinItem() { Caption = "Products", Description = "C:\\DevExpress\\Products" };
            RecentPinItem item2_ = new RecentPinItem() { Caption = "Products", Description = "C:\\DevExpress\\Products" };
            recentTabItem2.TabPanel.Items.Add(item2);
            recentTabItem3.TabPanel.Items.Add(item2_);
            RecentPinItem item8 = new RecentPinItem() { Caption = "Win Forms", Description = "C:\\DevExpress\\Products\\Win Forms" };
            RecentPinItem item8_ = new RecentPinItem() { Caption = "Win Forms", Description = "C:\\DevExpress\\Products\\Win Forms" };
            recentTabItem2.TabPanel.Items.Add(item8);
            recentTabItem3.TabPanel.Items.Add(item8_);
            RecentPinItem item9 = new RecentPinItem() { Caption = "Controls", Description = "C:\\DevExpress\\Products\\Win Forms\\Controls" };
            RecentPinItem item9_ = new RecentPinItem() { Caption = "Controls", Description = "C:\\DevExpress\\Products\\Win Forms\\Controls" };
            recentTabItem2.TabPanel.Items.Add(item9);
            recentTabItem3.TabPanel.Items.Add(item9_);
        }
        private void InitDefaultFiles()
        {
            RecentPinItem item1 = new RecentPinItem() { Caption = "Windows 10 GuideLines.doc", Description = "D:\\Personal\\Saved HTML Articles" };
            recentTabItem1.TabPanel.Items.Add(item1);
            RecentPinItem item2 = new RecentPinItem() { Caption = "Web Site Usability.doc", Description = "C:\\Users\\Default\\Documents" };
            recentTabItem1.TabPanel.Items.Add(item2);
            RecentPinItem item3 = new RecentPinItem() { Caption = "Getting Started.pdf", Description = "C:\\Program Files x86\\DevExpress 15.2\\Tutorials" };
            recentTabItem1.TabPanel.Items.Add(item3);
            RecentPinItem item4 = new RecentPinItem() { Caption = "Office 2013 features.docx", Description = "C:\\DevExpress\\Products\\Win Forms" };
            recentTabItem1.TabPanel.Items.Add(item4);
            RecentPinItem item5 = new RecentPinItem() { Caption = "WinForms Webinar.pdf", Description = "C:\\DevExpress\\Webinars" };
            recentTabItem1.TabPanel.Items.Add(item5);
        }
        string GetFileName(object obj)
        {
            FileInfo fi = new FileInfo(obj.ToString());
            return fi.Name;
        }
        void recentControlOpen_ItemClick(object sender, RecentItemEventArgs e)
        {
        }
        private void recentControlSave_ItemClick(object sender, RecentItemEventArgs e)
        {
            ribbonControl1.HideApplicationButtonContentControl();
            RecentPinItem recentItem = e.Item as RecentPinItem;
            if (recentTabItem3.TabPanel.Items.Contains(e.Item))
            {
                //if (recentItem != null)
                //    SaveAs(recentItem.Description);
            }
        }
        #endregion
        private void ribbonControl1_ApplicationButtonDoubleClick(object sender, EventArgs e)
        {
            if (ribbonControl1.RibbonStyle == RibbonControlStyle.Office2007)