/// <summary>
 /// Creating a new instance of the FrmSkinsEditor.
 /// </summary>
 /// <param name="host">The interface to talk let this plugin talk to NoteFly.</param>
 public FrmSkinsEditor(IPlugin.IPluginHost host)
 {
     this.host = host;
     this.skinaction = skineditormode.browseskins;
     this.InitializeComponent();
     this.SetSkin(this.host.GetSettingInt("ManagenotesSkinnr"));
     this.notePreview1.Host = this.host;
     this.LoadAllSkinNames();
 }
 /// <summary>
 /// Set the mode of the editor.
 /// </summary>
 /// <param name="newmode">The new mode of the skinseditor.</param>
 private void setEditorMode(skineditormode newmode)
 {
     this.skinaction = newmode;
     switch (newmode)
     {
         case skineditormode.browseskins:
             this.btnEditSkin.Text = "&edit skin";
             this.btnNewSkin.Text = "&new skin";
             this.btnNewSkin.Enabled = true;
             this.btnEditSkin.Enabled = true;
             this.btnDeleteSkin.Enabled = true;
             this.SetFieldsEnabled(false);
             if (this.lbxSkins.SelectedIndex >= 0)
             {
                 this.skin = SkinFactory.GetSkin(this.host, this.lbxSkins.SelectedIndex);
                 this.SetFieldsCurrentSkin();
             }
             break;
         case skineditormode.editskin:
             this.btnEditSkin.Text = "cancel &edit skin";
             this.btnNewSkin.Text = "&new skin";
             this.btnEditSkin.Enabled = true;
             this.btnNewSkin.Enabled = false;
             this.btnDeleteSkin.Enabled = false;
             this.editskinnr = this.lbxSkins.SelectedIndex;
             this.skin = SkinFactory.GetSkin(this.host, this.editskinnr);
             this.SetFieldsEnabled(true);
             this.SetFieldsCurrentSkin();
             break;
         case skineditormode.newskin:
             this.btnEditSkin.Text = "&edit skin";
             this.btnNewSkin.Text = "cancel &new skin";
             this.btnNewSkin.Enabled = true;
             this.btnEditSkin.Enabled = false;
             this.btnDeleteSkin.Enabled = false;
             this.ClearFields();
             this.skin = SkinFactory.CreateDefaultNewSkin();
             this.SetFieldsEnabled(true);
             break;
     }
 }
        /// <summary>
        /// Delete a skin.
        /// </summary>
        /// <param name="sender">Sender object</param>
        /// <param name="e">Event arguments</param>
        private void btnDeleteSkin_Click(object sender, EventArgs e)
        {
            int skinnr = this.lbxSkins.SelectedIndex;
            if (skinnr >= 0)
            {
                if (this.lbxSkins.Items.Count > 1)
                {
                    this.btnDeleteSkin.Enabled = true;
                    string skinname = this.host.GetSkinName(skinnr);
                    DialogResult res = MessageBox.Show("Do you want to delete the " + skinname + " skin?", "delete skin", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                    if (res == DialogResult.Yes)
                    {
                        this.skinaction = skineditormode.browseskins;
                        if (SkinsFilehandling.WriteSkinsFileDeleteSkin(this.host, skinnr))
                        {
                            this.lbxSkins.Items.RemoveAt(skinnr);
                        }
                        else
                        {
                            this.host.LogPluginError("Could not delete skin.");
                        }

                        this.host.ReloadAllSkins();
                        this.ClearFields();
                    }

                    if (this.lbxSkins.Items.Count <= 1)
                    {
                        this.btnDeleteSkin.Enabled = false;
                    }
                }
                else
                {
                    this.btnDeleteSkin.Enabled = false;
                }
            }
        }