Esempio n. 1
0
 private void ButtonAdd_Click(object sender, EventArgs e)
 {
     if (IsSelected)
     {
         SelectedRule.ImporterGuid = (comboImpoetPlugins.SelectedItem as IImportPlugin).Guid;
         listExtensionRules.Items[listExtensionRules.SelectedIndices[0]].SubItems[1].Text =
             Host.ImportPlugins.Find(i => i.Guid == SelectedRule.ImporterGuid)?.Name ?? SelectedRule.ImporterGuid.ToString().ToUpper();
     }
     else
     {
         ExtensionRule rule = new ExtensionRule(GetExt(textExtension.Text), (comboImpoetPlugins.SelectedItem as IImportPlugin).Guid);
         listExtensionRules.Items.Add(new ListViewItem(new string[] { rule.Extension, Host.ImportPlugins.Find(i => i.Guid == rule.ImporterGuid)?.Name ?? rule.ImporterGuid.ToString().ToUpper() })
         {
             Tag = rule
         });
         ExtensionRules.Add(rule);
     }
     textExtension.Text = null;
 }
Esempio n. 2
0
 private void Save(string fileName)
 {
     PropertyInfo[] pil = GetType().GetProperties();
     using StreamWriter sw = new StreamWriter(fileName);
     foreach (PropertyInfo pi in pil)
     {
         if (pi.PropertyType.IsEnum)
         {
             sw.WriteLine($"{pi.Name}\t{(int)pi.GetValue(this, null)}");
         }
         else if (Type.GetTypeCode(pi.PropertyType) != TypeCode.Object)
         {
             sw.WriteLine($"{pi.Name}\t{pi.GetValue(this, null)}");
         }
         else
         {
             if (pi.PropertyType == StatusItems.GetType())
             {
                 foreach (var si in (List <StatusItem>)pi.GetValue(this, null))
                 {
                     sw.WriteLine($"{pi.Name}\t{si}");
                 }
             }
             else if (pi.PropertyType == ExtensionRules.GetType())
             {
                 foreach (var si in (List <ExtensionRule>)pi.GetValue(this, null))
                 {
                     sw.WriteLine($"{pi.Name}\t{si.Extension}\t{si.PlayMethod}");
                 }
             }
             else
             {
                 sw.WriteLine($"{pi.Name}\t{pi.GetValue(this, null)}");
             }
         }
     }
 }
Esempio n. 3
0
 private void ButtonRemove_Click(object sender, EventArgs e)
 {
     ExtensionRules.Remove(SelectedRule);
     listExtensionRules.Items.Remove(listExtensionRules.Items[listExtensionRules.SelectedIndices[0]]);
 }