Пример #1
0
    /// <summary>
    /// Translate the skin string, create the skin string if not found.
    /// </summary>
    /// <param name="line"></param>
    /// <param name="kind"></param>
    /// <returns></returns>
    public static int TranslateSkinString(string line, Kind kind)
    {
      Dictionary<int, SkinString>.Enumerator enumer = _skinStringSettings.GetEnumerator();
      while (enumer.MoveNext())
      {
        SkinString skin = enumer.Current.Value;
        if (skin.Name == line)
        {
          return enumer.Current.Key;
        }
      }

      SkinString newString = new SkinString();
      newString.Name = line;
      newString.Value = line;
      newString.Kind = kind;

      // Create the setting as a property if not already present.
      if (!GUIPropertyManager.PropertyIsDefined(newString.Name))
      {
        GUIPropertyManager.SetProperty(newString.Name, newString.Value);
      }
      else
      {
        newString.Value = GUIPropertyManager.GetProperty(newString.Name);
      }

      int key = _skinStringSettings.Count;
      _skinStringSettings[key] = newString;

      return key;
    }
Пример #2
0
        private static void LoadStringSettings()
        {
            using (Settings xmlReader = new SKSettings())
            {
                IDictionary <string, string> allStringSettings = xmlReader.GetSection <string>("stringsettings");

                if (allStringSettings == null)
                {
                    return;
                }

                lock (_skinStringSettings)
                {
                    var enumerator = allStringSettings.GetEnumerator();
                    if (enumerator != null)
                    {
                        while (enumerator.MoveNext())
                        {
                            // Create the new string setting.
                            SkinString newString = new SkinString();
                            newString.Name  = enumerator.Current.Key;
                            newString.Value = enumerator.Current.Value;
                            newString.Kind  = Kind.PERSISTENT;

                            // Add the setting to the dictionary.
                            int key = _skinStringSettings.Count;
                            _skinStringSettings[key] = newString;

                            // Create the setting as a property.
                            GUIPropertyManager.SetProperty(newString.Name, newString.Value);
                        }
                    }
                }
            }
        }
Пример #3
0
        /// <summary>
        /// Retrieve a skin string using the specified key.
        /// </summary>
        /// <param name="key"></param>
        /// <returns></returns>
        public static string GetSkinString(int key)
        {
            SkinString skin = null;

            if (_skinStringSettings.TryGetValue(key, out skin))
            {
                return(skin.Value);
            }
            return("");
        }
Пример #4
0
        /// <summary>
        /// Set all the skin strings to empty.  Does not save to disk; call Save() afterward.
        /// </summary>
        public static void ResetAllSkinString()
        {
            Dictionary <int, SkinString> .Enumerator enumer = _skinStringSettings.GetEnumerator();
            while (enumer.MoveNext())
            {
                SkinString skin = enumer.Current.Value;
                skin.Value = "";

                // Save the setting as a property if specified as such.
                GUIPropertyManager.SetProperty(skin.Name, skin.Value);
            }
        }
Пример #5
0
        /// <summary>
        /// Set a skin string using the specified key.  Saves changes to disk immediatley.
        /// </summary>
        /// <param name="key"></param>
        /// <param name="newValue"></param>
        public static void SetSkinString(int key, string newValue)
        {
            SkinString skin = null;

            if (_skinStringSettings.TryGetValue(key, out skin))
            {
                skin.Value = newValue;
                _skinStringSettings[key] = skin;

                // Save the setting as a property.
                GUIPropertyManager.SetProperty(skin.Name, skin.Value);

                // Save change to disk immediately.
                Save();
            }
        }
Пример #6
0
 public static int TranslateSkinString(string line)
 {
   Dictionary<int, SkinString>.Enumerator enumer = _skinStringSettings.GetEnumerator();
   while (enumer.MoveNext())
   {
     SkinString skin = enumer.Current.Value;
     if (skin.Name == line)
     {
       return enumer.Current.Key;
     }
   }
   SkinString newString = new SkinString();
   newString.Name = line;
   newString.Value = line;
   int key = _skinStringSettings.Count;
   _skinStringSettings[key] = newString;
   return key;
 }
Пример #7
0
        /// <summary>
        /// Translate the skin string, create the skin string if not found.
        /// </summary>
        /// <param name="line"></param>
        /// <param name="kind"></param>
        /// <returns></returns>
        public static int TranslateSkinString(string line, Kind kind)
        {
            lock (_skinStringSettings)
            {
                foreach (int iKey in _skinStringSettings.Keys.ToList())
                {
                    SkinString skin = _skinStringSettings[iKey];
                    if (skin.Name == line)
                    {
                        if (skin.Kind == Kind.TRANSIENT && kind == Kind.PERSISTENT)
                        {
                            skin.Kind = kind;
                            _skinStringSettings[iKey] = skin;
                        }
                        return(iKey);
                    }
                }
            }

            SkinString newString = new SkinString();

            newString.Name  = line;
            newString.Value = line;
            newString.Kind  = kind;

            // Create the setting as a property if not already present.
            if (!GUIPropertyManager.PropertyIsDefined(newString.Name))
            {
                GUIPropertyManager.SetProperty(newString.Name, newString.Value);
            }
            else
            {
                newString.Value = GUIPropertyManager.GetProperty(newString.Name);
            }

            int key;

            lock (_skinStringSettings) //Lock the dictionary, it might be getting saved at the moment
            {
                key = _skinStringSettings.Count;
                _skinStringSettings[key] = newString;
            }
            return(key);
        }
        public static int TranslateSkinString(string line)
        {
            Dictionary <int, SkinString> .Enumerator enumer = _skinStringSettings.GetEnumerator();
            while (enumer.MoveNext())
            {
                SkinString skin = enumer.Current.Value;
                if (skin.Name == line)
                {
                    return(enumer.Current.Key);
                }
            }
            SkinString newString = new SkinString();

            newString.Name  = line;
            newString.Value = line;
            int key = _skinStringSettings.Count;

            _skinStringSettings[key] = newString;
            return(key);
        }
        /// <summary>
        /// Translate the skin string, create the skin string if not found.
        /// </summary>
        /// <param name="line"></param>
        /// <param name="kind"></param>
        /// <returns></returns>
        public static int TranslateSkinString(string line, Kind kind)
        {
            Dictionary <int, SkinString> .Enumerator enumer = _skinStringSettings.GetEnumerator();
            while (enumer.MoveNext())
            {
                SkinString skin = enumer.Current.Value;
                if (skin.Name == line)
                {
                    return(enumer.Current.Key);
                }
            }

            SkinString newString = new SkinString();

            newString.Name  = line;
            newString.Value = line;
            newString.Kind  = kind;

            // Create the setting as a property if not already present.
            if (!GUIPropertyManager.PropertyIsDefined(newString.Name))
            {
                GUIPropertyManager.SetProperty(newString.Name, newString.Value);
            }
            else
            {
                newString.Value = GUIPropertyManager.GetProperty(newString.Name);
            }

            int key;

            lock (_skinStringSettings) //Lock the dictionary, it might be getting saved at the moment
            {
                key = _skinStringSettings.Count;
                _skinStringSettings[key] = newString;
            }
            return(key);
        }
Пример #10
0
    private static void LoadStringSettings()
    {
      using (Settings xmlReader = new SKSettings())
      {
        IDictionary<string, string> allStringSettings = xmlReader.GetSection<string>("stringsettings");

        if (allStringSettings == null)
        {
          return;
        }

        lock (_skinStringSettings)
        {
          var enumerator = allStringSettings.GetEnumerator();
          if (enumerator != null)
          {
            while (enumerator.MoveNext())
            {
              // Create the new string setting.
              SkinString newString = new SkinString();
              newString.Name = enumerator.Current.Key;
              newString.Value = enumerator.Current.Value;
              newString.Kind = Kind.PERSISTENT;

              // Add the setting to the dictionary.
              int key = _skinStringSettings.Count;
              _skinStringSettings[key] = newString;

              // Create the setting as a property.
              GUIPropertyManager.SetProperty(newString.Name, newString.Value);
            }
          }
        }
      }
    }