Example #1
0
        private void SetFontStaticFontFamilies(NamedFontFamily value, FontFamilyControlData fontdata)
        {
            if (value != null && fontdata != null)
            {
                var matchFont = fontdata.FontFamilies.Where(f => f.Name == value.Name && f.IsRecent).FirstOrDefault();
                if (matchFont != null)
                {
                    var index = fontdata.FontFamilies.IndexOf(matchFont);
                    if (index != 0)
                    {
                        fontdata.FontFamilies.Move(index, 0);
                        this.PerformRecent(fontdata);
                        this.SaveRecentFont();
                    }
                }
                else
                {
                    if (fontdata.FontFamilies.Count(f => f.IsRecent) >= 5)
                    {
                        fontdata.FontFamilies.RemoveAt(4);
                    }

                    fontdata.FontFamilies.Insert(0, new NamedFontFamily {
                        Name = value.Name, IsRecent = true, FontFamily = value.FontFamily
                    });
                    this.PerformRecent(fontdata);
                    this.SaveRecentFont();
                }
            }
        }
Example #2
0
 public void SetSelectedFamily(NamedFontFamily namedFontFamily)
 {
     if (_selectedFamily != namedFontFamily)
     {
         if (!_isSettingFamily && _selectedFamily != null)
         {
             _isSettingFamily = true;
             this.SetFontStaticFontFamilies(namedFontFamily, this);
             _isSettingFamily = false;
         }
         _selectedFamily = namedFontFamily;
         FirePropertyChanged("SelectedFamily");
     }
 }