Changeset 8379


Ignore:
Timestamp:
Sep 23, 2019, 6:01:22 PM (2 years ago)
Author:
Sven Rech
Message:

WorkspaceManager: Fixed hiding of empty settings groups.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrypPlugins/WorkspaceManager/View/Visuals/SettingsVisual.xaml.cs

    r8376 r8379  
    202202        private void HandleTaskPaneAttributeChanges(IEnumerable<TaskPaneAttribteContainer> attributeChanges)
    203203        {
    204             if (!attributeChanges.Any())
     204            var attributeChangesDict = attributeChanges.ToDictionary(att => att.Property, att => att);
     205            if (!attributeChangesDict.Any())
    205206            {
    206207                return;
     
    210211            {
    211212                entgrou.groupPanel[entgrou.entryList.IndexOf(cel)].Visibility = Visibility.Visible;
    212                 Boolean allinvisble = true;
     213                var allInGroupInvisible = true;
    213214
    214215                foreach (ControlEntry ce in cel)
    215216                {
    216                     foreach (TaskPaneAttribteContainer tpac in attributeChanges)
    217                     {
    218                         if (ce.tpa.PropertyName == tpac.Property)
    219                         {
    220                             ce.element.Visibility = tpac.Visibility;
    221                             ce.caption.Visibility = tpac.Visibility;
    222                         }
    223                         if (ce.element.Visibility == Visibility.Visible)
    224                         {
    225                             allinvisble = false;
    226                         }
    227                     }
    228 
    229                 }
    230                 if (allinvisble)
     217                    if (attributeChangesDict.TryGetValue(ce.tpa.PropertyName, out var tpac))
     218                    {
     219                        ce.element.Visibility = tpac.Visibility;
     220                        ce.caption.Visibility = tpac.Visibility;
     221                    }
     222                    if (ce.element.Visibility == Visibility.Visible)
     223                    {
     224                        allInGroupInvisible = false;
     225                    }
     226                }
     227
     228                if (allInGroupInvisible)
    231229                {
    232230                    entgrou.groupPanel[entgrou.entryList.IndexOf(cel)].Visibility = Visibility.Collapsed;
Note: See TracChangeset for help on using the changeset viewer.