private BlendAccountFetch(BlendedAccount account)
 {
     tail       = account.tail;
     fetchables = new Fetchable <Data> [account.IDs.Length];
     for (int i = 0; i < fetchables.Length; i++)
     {
         fetchables[i] = GetFetchable(account.IDs[i]);
     }
 }
Example #2
0
        private void ConfirmButton_Clicked(object sender, EventArgs e)
        {
            var count = 0;

            foreach (var item in CheckableAccountListView.Items)
            {
                if (item.IsChecked)
                {
                    count++;
                }
            }
            if (count < 2)
            {
                Application.Current.MainPage.DisplayAlert("오류", "계정을 병합하기 위해서는 두개 이상의 계정을 선택해야 합니다", "확인");
                return;
            }

            if (target == null)
            {
                if (!VerifyName())
                {
                    return;
                }

                target = new BlendedAccount(App.Tail)
                {
                    Name = NameEditor.Text
                };

                App.Tail.Blend.RegisterBlendedAccount(target);
            }
            target.IDs = new long[count];
            int i = 0;

            foreach (var item in CheckableAccountListView.Items)
            {
                if (item.IsChecked)
                {
                    target.IDs[i++] = item.Account.ID;
                }
            }

            App.Tail.Blend.Save();

            foreach (var page in App.Navigation.NavigationStack)
            {
                if (page is BlendListPage)
                {
                    (page as BlendListPage).Reload();
                    break;
                }
            }

            App.Navigation.RemovePage(this);
        }
        private void Load()
        {
            if (!File.Exists(savePath))
            {
                return;
            }

            var json = JObject.Parse(File.ReadAllText(savePath));

            selectedBlendName = json["selectedBlendName"].ToString();

            foreach (var blendJson in json["blendeds"].ToObject <JArray>())
            {
                blendeds.Add(BlendedAccount.Load(owner, blendJson.ToObject <JObject>()));
            }
        }
Example #4
0
        public BlendEditPage(string editTarget = null)
        {
            InitializeComponent();

            if (editTarget != null)
            {
                target             = App.Tail.Blend.GetBlendedAccount(editTarget);
                ConfirmButton.Text = "수정하기";
            }
            else
            {
                ConfirmButton.Text = "만들기";
            }

            CheckableAccountListView.Footer = null;

            foreach (var accountGroup in App.Tail.Account.ReadOnlyAccountGroups)
            {
                CheckableAccountListView.Items.Add(new CheckableAccount(accountGroup));
            }
        }
 public void UnregisterBlendedAccount(BlendedAccount blendedAccount)
 {
     blendeds.RemoveAll((data) => { return(data.Name == blendedAccount.Name); });
     Save();
 }
 public void RegisterBlendedAccount(BlendedAccount blendedAccount)
 {
     blendeds.Add(blendedAccount);
     Save();
 }
 protected override List <Status> GetBlendedData(List <Status>[] datas)
 {
     return(BlendedAccount.BlendStatus(datas));
 }
 public Mentionline(BlendedAccount account) : base(account)
 {
 }
 public Timeline(BlendedAccount account) : base(account)
 {
 }
 protected override List <Notification> GetBlendedData(List <Notification>[] datas)
 {
     return(BlendedAccount.BlendNotification(datas));
 }
 public Notifications(BlendedAccount account) : base(account)
 {
 }