KPFloatingPanel.MainForm.AddGroupToMenu C# (CSharp) Method

AddGroupToMenu() private method

private AddGroupToMenu ( ToolStripMenuItem Parent, PwGroup RootGroup ) : void
Parent ToolStripMenuItem
RootGroup PwGroup
return void
        private void AddGroupToMenu(ToolStripMenuItem Parent, PwGroup RootGroup)
        {
            if (!FOptions.foldersFirst)
                AddItemsToMenu(Parent, RootGroup);
            if (!is_searching) {
                DateTime now = DateTime.Now;
                foreach (PwGroup Group in RootGroup.Groups) {
                    ToolStripMenuItem Item = new ToolStripMenuItem();
                    Item.Tag = Group;
                    Item.Text = Group.Name;
                    Item.Name = Group.Name;
                    Item.DropDownOpening += miGroup_DropDownOpening;

                    PwIcon IconIndex = Group.IconId;
                    PwUuid CustomIconID = Group.CustomIconUuid;

                    if (CustomIconID != PwUuid.Zero)
                        Item.Image = Host.Database.GetCustomIcon(CustomIconID);
                    else
                        Item.Image = Host.MainWindow.ClientIcons.Images[(int)IconIndex];
                    if (Item.Image == null)
                        Item.Image = ilIcons.Images[4];

                    if (Group.Expires)
                    {
                        if (Group.ExpiryTime <= now)
                        {
                            Item.Image = ilIcons.Images[7];
                            Item.Font = new Font(Item.Font, Item.Font.Style | FontStyle.Strikeout);
                        }
                        Item.ToolTipText = KPRes.ExpiryTime + ": " + Group.ExpiryTime;
                    }

                    bool bIsRecycleBin = (Host.Database.RecycleBinEnabled && Group.Uuid.EqualsValue(Host.Database.RecycleBinUuid));
                    if (!bIsRecycleBin && Group.Entries.UCount + Group.Groups.UCount > 0) {
                        if (Parent == null)
                            pmPasswords.Items.Add(Item);
                        else
                            Parent.DropDownItems.Add(Item);
                    }

                    if ((Group.Groups.UCount > 0) || (Group.Entries.UCount > 0)) {
                        ToolStripMenuItem Dummy = new ToolStripMenuItem();
                        Dummy.Tag = null;
                        Dummy.Text = "dummy";
                        Dummy.Enabled = false;
                        Item.DropDownItems.Add(Dummy);
                    }
                }

                if (RootGroup.Groups.UCount != 0) {
                    ToolStripSeparator seperator = new ToolStripSeparator();
                    if (Parent == null)
                        pmPasswords.Items.Add(seperator);
                    else
                        Parent.DropDownItems.Add(seperator);
                }
            }
            if (FOptions.foldersFirst)
                AddItemsToMenu(Parent, RootGroup);
        }