예제 #1
0
 private void ReOrderSecrets()
 {
     secretsSection.Elements.Sort(delegate(Element e1, Element e2) {
         ImageButtonStringElement se1 = e1 as ImageButtonStringElement;
         ImageButtonStringElement se2 = e2 as ImageButtonStringElement;
         if ((se1 != null) && (se2 != null))
         {
             Secret s1 = se1.Data as Secret;
             Secret s2 = se2.Data as Secret;
             if ((s1 != null) && (s2 != null))
             {
                 return((s1.LastModified.CompareTo(s2.LastModified)) * -1);
             }
         }
         return(-1);
     });
     rootDVC.ReloadComplete();
 }
예제 #2
0
        private ImageButtonStringElement CreateImageButtonStringElement(Secret secret)
        {
            var secretElement = new ImageButtonStringElement(secret.Phrase, secret, "Images/remove.png",
                                                             delegate {
                DisplaySecretDetail(secret);
            },
                                                             delegate {
                AppDelegate.HistoryData.Secrets.Remove(secret);
                Element found = null;
                foreach (var element in secretsSection.Elements)
                {
                    if (element.Caption == secret.Phrase)
                    {
                        found = element;
                        break;
                    }
                }

                if (found != null)
                {
                    secretsSection.Remove(found);
                    if (secretsSection.Count == 0)
                    {
                        (secretsSection.Parent as RootElement).RemoveAt(1);
                    }
                }
            }
                                                             );

            secretElement.Value = " ";
            secret.WatchEvent  += (s) => {
                InvokeOnMainThread(() => {
                    int peers           = s.ListenersCount;
                    secretElement.Value = peers > 0 ? peers + " device" + (peers > 1 ? "s" : "") : " ";
                    rootDVC.ReloadData();
                }
                                   );
            };

            return(secretElement);
        }