Ignore:
Timestamp:
Aug 9, 2010, 10:33:44 PM (11 years ago)
Author:
kopal
Message:
  • Plugins without Presentation now can not be maximized
  • Enum Settings will be saved/loaded correctly now
  • Change of Settings (which have a PropertyChangedEvent) will cause editor to have "hasChanges"
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrypPlugins/WorkspaceManager/Model/ModelPersistance.cs

    r1790 r1791  
    8282                                    pInfo.SetValue(persistantPlugin.PluginModel.Plugin.Settings, System.Boolean.Parse((String)persistantSetting.Value), null);
    8383                                }
     84                                else if (pInfo.PropertyType.IsEnum)
     85                                {
     86                                    Int32 result = 0;
     87                                    System.Int32.TryParse((String)persistantSetting.Value, out result);
     88                                    object newEnumValue = Enum.ToObject(pInfo.PropertyType, result);
     89                                    pInfo.SetValue(persistantPlugin.PluginModel.Plugin.Settings,newEnumValue,null);                                   
     90                                }
    8491                            }
    8592                        }
     
    96103                pluginModel.Plugin.OnPluginProgressChanged += pluginModel.PluginProgressChanged;
    97104                pluginModel.Plugin.OnPluginStatusChanged += pluginModel.PluginStatusChanged;
     105                pluginModel.Plugin.Settings.PropertyChanged += pluginModel.SettingsPropertyChanged;
    98106            }
    99107               
     
    174182                    {
    175183                        PersistantSetting persistantSetting = new PersistantSetting();
    176                         persistantSetting.Value = "" + pInfo.GetValue(pluginModel.Plugin.Settings, null);
     184                        if (pInfo.PropertyType.IsEnum)
     185                        {
     186                            persistantSetting.Value = "" + pInfo.GetValue(pluginModel.Plugin.Settings, null).GetHashCode();                           
     187                        }
     188                        else
     189                        {
     190                            persistantSetting.Value = "" + pInfo.GetValue(pluginModel.Plugin.Settings, null);
     191                        }
    177192                        persistantSetting.Name = pInfo.Name;
    178193                        persistantSetting.Type = pInfo.PropertyType.FullName;
Note: See TracChangeset for help on using the changeset viewer.