private void FillImportMenu()
        {
            this.ToolStripDropDownButton_Import.DropDownItems.Clear();

            var configurations =
                from config in this.defaultEmotes.EmoteConfigurations
                where config.PetFamily.Language == CultureInfo.CurrentUICulture.TwoLetterISOLanguageName
                group config by config.PetFamily.ClassType into classGroup
                select classGroup;

            foreach (var classGroup in configurations)
            {
                ToolStripMenuItem menuItem = new ToolStripMenuItem(Resources.ResourceManager.GetString("ClassName_" + classGroup.Key.ToString()));
                menuItem.Name  = "ToolStripMenuItem_Import_" + classGroup.Key.ToString();
                menuItem.Image = IconFactory.GetClassIcon(classGroup.Key);
                this.ToolStripDropDownButton_Import.DropDownItems.Add(menuItem);

                foreach (EmoteConfiguration config in classGroup)
                {
                    ToolStripMenuItem familyItem = new ToolStripMenuItem(config.Name);

                    familyItem.Name   = "ToolStripMenuItem_Import_" + config.Name.GetHashCode().ToString();
                    familyItem.Image  = IconFactory.GetPetFamilyIcon(config.PetFamily.FamilyType);
                    familyItem.Tag    = config;
                    familyItem.Click += new EventHandler(this.ToolStripMenuItem_Import_Click);

                    menuItem.DropDownItems.Add(familyItem);
                }
            }
        }
        private void FillAddConfigurationMenu(ToolStripItemCollection containerItem, EventHandler eventHandler)
        {
            var families =
                from family in this.defaultEmotes.PetFamilies
                where family.Language == CultureInfo.CurrentUICulture.TwoLetterISOLanguageName
                group family by family.ClassType into classGroup
                select classGroup;

            foreach (var classGroup in families)
            {
                ToolStripMenuItem menuItem = new ToolStripMenuItem(Resources.ResourceManager.GetString("ClassName_" + classGroup.Key.ToString()));
                menuItem.Name  = "ToolStripMenuItem_AddConfiguration_" + classGroup.Key.ToString();
                menuItem.Image = IconFactory.GetClassIcon(classGroup.Key);
                containerItem.Add(menuItem);

                foreach (PetFamily family in classGroup)
                {
                    ToolStripMenuItem familyItem = new ToolStripMenuItem(family.Name);

                    familyItem.Name   = "ToolStripMenuItem_AddConfiguration_" + family.Name.GetHashCode().ToString();
                    familyItem.Image  = IconFactory.GetPetFamilyIcon(family.FamilyType);
                    familyItem.Tag    = family;
                    familyItem.Click += eventHandler;

                    menuItem.DropDownItems.Add(familyItem);
                }
            }
        }
 private void ContextMenuStrip_Configuration_Opening(object sender, System.ComponentModel.CancelEventArgs e)
 {
     if (this.ListView_Configurations.SelectedItems.Count == 1)
     {
         ListViewItem       item   = this.ListView_Configurations.SelectedItems[0];
         EmoteConfiguration config = (EmoteConfiguration)item.Tag;
         this.petFamilyToolStripMenuItem.Image = IconFactory.GetPetFamilyIcon(config.PetFamily.FamilyType);
     }
 }