Example #1
0
        private void AddUserToGroup(SpecialTimeLine t, bool Exclusive)
        {
            FingerUI.StatusItem selectedItem = (FingerUI.StatusItem)statList.SelectedItem;
            if (selectedItem == null) { return ; }
            if (selectedItem.Tweet.user == null) { return; }

            string Message = "";
            switch (Exclusive)
            {
                case true:
                    Message="This will move "+selectedItem.Tweet.user.screen_name+
                    " out of the Friends timeline and into the " + t.name +
                    " group.\n\nAre you sure you want to proceed?";
                    break;
                case false:
                    Message = "This will copy " + selectedItem.Tweet.user.screen_name +
                    " into the " + t.name + " group and still show them in the Friends timeline.\n\n" + 
                    "Are you sure you want to proceed?";

                    break;

            }
            if (MessageBox.Show(Message, "Group " + selectedItem.Tweet.user.screen_name, MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes)
            {
                t.AddItem(selectedItem.Tweet.user.id, selectedItem.Tweet.user.screen_name, Exclusive);
                SpecialTimeLines.Save();
            }
            if(Exclusive)
            {
                Cursor.Current = Cursors.WaitCursor;
                ReloadTimeLine();
                Cursor.Current = Cursors.Default;
            }
        }
Example #2
0
        private void AddGroupSelectMenuItem(SpecialTimeLine t)
        {
            FingerUI.delMenuClicked showItemClicked = delegate()
            {
                ShowUserGroup(t);
            };

            GroupsMenuItem.Visible = true;
            GroupSettingsMenuItem.Visible = true;
            FingerUI.SideMenuItem item = new FingerUI.SideMenuItem(showItemClicked, t.name, statList.LeftMenu, t.ListName);
            GroupsMenuItem.SubMenuItems.Add(item);
        }
Example #3
0
        private void CreateNewGroup(bool Exclusive)
        {
            FingerUI.StatusItem selectedItem = (FingerUI.StatusItem)statList.SelectedItem;
            if (selectedItem == null) { return; }
            if (selectedItem.Tweet.user == null) { return; }

            using (DefineGroup d = new DefineGroup())
            {
                if (d.ShowDialog() == DialogResult.OK)
                {
                    SpecialTimeLine t = new SpecialTimeLine();
                    t.name = d.GroupName;

                    SpecialTimeLines.Add(t);

                    AddGroupSelectMenuItem(t);

                    AddAddUserToGroupMenuItem(t);

                    AddUserToGroup(t, Exclusive);
                }
            }
        }
Example #4
0
        private void ShowUserGroup(SpecialTimeLine t)
        {
            UpdateHistoryPosition();
            currentGroup = t;
            ChangeCursor(Cursors.WaitCursor);
            HistoryItem i = new HistoryItem();
            i.Action = Yedda.Twitter.ActionType.Search;
            i.Argument = t.name;
            History.Push(i);

            SwitchToList(t.ListName);
            this.statList.ClearVisible();
            AddStatusesToList(Manager.GetGroupedTimeLine(t));
            
            ChangeCursor(Cursors.Default);
        }
 public static void AddSpecialTimeLineNotifications(SpecialTimeLine line)
 {
     if (!Notifications.ContainsKey(line.name))
     {
         NotificationInfoClass c = new NotificationInfoClass
         {
             Name = "PockeTwit: " + line.name,
             Group = line,
             GUID = line.name,
             Type = TimelineManagement.TimeLineType.Friends
         };
         Notifications.Add(c.GUID, c);
         LoadAllRegistries();
     }
 }
Example #6
0
        private void GetConversation(HistoryItem history)
        {
            currentGroup = null;
            UpdateHistoryPosition();
            HistoryItem i = new HistoryItem();
            Library.status lastStatus;
            Yedda.Twitter Conn;

            if (history == null)
            {
                if (statList.SelectedItem == null) { return; }
                FingerUI.StatusItem selectedItem = (FingerUI.StatusItem)statList.SelectedItem;
                if (string.IsNullOrEmpty(selectedItem.Tweet.in_reply_to_status_id)) { return; }
                Conn = GetMatchingConnection(selectedItem.Tweet.Account);
                lastStatus = selectedItem.Tweet;

                i.Account = selectedItem.Tweet.Account;
                i.Action = Yedda.Twitter.ActionType.Conversation;
                i.Argument = lastStatus.id;
            }
            else
            {
                i = history;
                Conn = GetMatchingConnection(history.Account);
                try
                {
                    lastStatus = Library.status.DeserializeSingle(Conn.ShowSingleStatus(i.Argument), i.Account);
                }
                catch
                {
                    return;
                }
            }
            ChangeCursor(Cursors.WaitCursor);

            //List<Library.status> Conversation = GetConversationFROMTHEFUTURE(lastStatus);
            List<Library.status> Conversation = new List<PockeTwit.Library.status>();
            History.Push(i);

            while (!string.IsNullOrEmpty(lastStatus.in_reply_to_status_id))
            {
                Conversation.Add(lastStatus);
                try
                {
                    lastStatus = Library.status.DeserializeSingle(Conn.ShowSingleStatus(lastStatus.in_reply_to_status_id), Conn.AccountInfo);
                }
                catch
                {
                    lastStatus = null;
                    break;
                }
            }
            if (lastStatus != null)
            {
                Conversation.Add(lastStatus);
            }
            statList.SwitchTolist("Conversation");
            statList.ClearVisible();
            AddStatusesToList(Conversation.ToArray());
            ChangeCursor(Cursors.Default);
        }
Example #7
0
 private void ShowFriendsTimeLine()
 {
     currentGroup = null;
     ChangeCursor(Cursors.WaitCursor);
     bool Redraw = statList.CurrentList() != "Friends_TimeLine";
     SwitchToList("Friends_TimeLine");
     History.Clear();
     HistoryItem i = new HistoryItem();
     i.Action = Yedda.Twitter.ActionType.Friends_Timeline;
     History.Push(i);
     statList.SetSelectedMenu(RefreshFriendsTimeLineMenuItem);
     AddStatusesToList(Manager.GetFriendsImmediately());
     ChangeCursor(Cursors.Default);
 }
Example #8
0
        public static void Remove(SpecialTimeLine oldLine)
        {
            lock (_Items)
            {
                if(_Items.ContainsKey(oldLine.name))
                {
                    _Items.Remove(oldLine.name);
                    NotificationHandler.RemoveSpecialTimeLineNotifications(oldLine);
                }
            }
            using (SQLiteConnection conn = LocalStorage.DataBaseUtility.GetConnection())
            {
                conn.Open();
                using (SQLiteTransaction t = conn.BeginTransaction())
                {
                    using (SQLiteCommand comm = new SQLiteCommand(conn))
                    {
                        comm.CommandText = "DELETE FROM usersInGroups WHERE groupname=@groupname;";
                        comm.Parameters.Add(new SQLiteParameter("@groupname", oldLine.name));
                        comm.ExecuteNonQuery();

                        comm.CommandText = "DELETE FROM groups WHERE groupname=@groupname;";
                        comm.ExecuteNonQuery();
                    }
                    t.Commit();
                }
            }
        }
Example #9
0
 private void ShowFavorites()
 {
     currentGroup = null;
     ChangeCursor(Cursors.WaitCursor);
     
     SwitchToList("Favorites_TimeLine");
     HistoryItem i = new HistoryItem();
     i.Action = Yedda.Twitter.ActionType.Favorites;
     History.Push(i);
     statList.SetSelectedMenu(ViewFavoritesMenuItem);
     AddStatusesToList(Manager.GetFavorites());
     ChangeCursor(Cursors.Default);
 }
Example #10
0
 private void ShowPublicTimeLine()
 {
     currentGroup = null;
     ChangeCursor(Cursors.WaitCursor);
     
     SwitchToList("Public_TimeLine");
     HistoryItem i = new HistoryItem();
     i.Action = Yedda.Twitter.ActionType.Public_Timeline;
     History.Push(i);
     statList.SetSelectedMenu(PublicMenuItem);
     AddStatusesToList(Manager.GetPublicTimeLine());
     ChangeCursor(Cursors.Default);
 }
 public Library.status[] GetGroupedTimeLine(SpecialTimeLine t)
 {
     return LocalStorage.DataBaseUtility.GetList(TimeLineType.Friends, ClientSettings.MaxTweets, t.GetConstraints()).ToArray();
 }
Example #12
0
 private bool AddUserToGroup(SpecialTimeLine t, bool Exclusive)
 {
     return AddUserToGroup(t, Exclusive, true);
 }
Example #13
0
        private void CreateNewGroup(bool Exclusive)
        {
            FingerUI.StatusItem selectedItem = (FingerUI.StatusItem)statList.SelectedItem;
            if (selectedItem == null) { return; }
            if (selectedItem.Tweet.user == null) { return; }

            using (DefineGroup d = new DefineGroup())
            {
                if (d.ShowDialog() == DialogResult.OK)
                {
                    SpecialTimeLine t = new SpecialTimeLine();
                    t.name = d.GroupName;

                    if(AddUserToGroup(t, Exclusive, false))
                    {
                        SpecialTimeLines.Add(t);

                        AddGroupSelectMenuItem(t);

                        AddAddUserToGroupMenuItem(t);
                        SpecialTimeLines.Save();
                        if(Exclusive)
                        {
                            Cursor.Current = Cursors.WaitCursor;
                            ReloadTimeLine();
                            Cursor.Current = Cursors.Default;
                        }
                    }
                }
            }
        }
Example #14
0
        private void AddAddUserToGroupMenuItem(SpecialTimeLine t)
        {
            FingerUI.delMenuClicked copyItemClicked = () => AddUserToGroup(t, false);

            FingerUI.delMenuClicked moveItemClicked = () => AddUserToGroup(t, true);

            FingerUI.SideMenuItem copyitem = new FingerUI.SideMenuItem(copyItemClicked, t.name, statList.RightMenu);
            FingerUI.SideMenuItem moveitem = new FingerUI.SideMenuItem(moveItemClicked, t.name, statList.RightMenu);
            MoveToGroupMenuItem.SubMenuItems.Add(moveitem);
            CopyToGroupMenuItem.SubMenuItems.Add(copyitem);

        }
Example #15
0
 private void ShowMessagesTimeLine()
 {
     currentGroup = null;
     ChangeCursor(Cursors.WaitCursor);
     SwitchToList("Messages_TimeLine");
     History.Clear();
     HistoryItem i = new HistoryItem();
     i.Action = Yedda.Twitter.ActionType.Replies;
     History.Push(i);
     statList.SetSelectedMenu(RefreshMessagesMenuItem);
     AddStatusesToList(Manager.GetMessagesImmediately());
     ChangeCursor(Cursors.Default);
 }
Example #16
0
 public static void Add(SpecialTimeLine newLine)
 {
     lock (_Items)
     {
         if (!_Items.ContainsKey(newLine.name))
         {
             _Items.Add(newLine.name, newLine);
             NotificationHandler.AddSpecialTimeLineNotifications(newLine);
         }
     }
 }
Example #17
0
        private void ShowUserTimeLine()
        {
            currentGroup = null;
            UpdateHistoryPosition();
            ChangeCursor(Cursors.WaitCursor);
            FingerUI.StatusItem statItem = (FingerUI.StatusItem)statList.SelectedItem;
            if (statItem == null) { return; }
            ShowUserID = statItem.Tweet.user.screen_name;
            CurrentlySelectedAccount = statItem.Tweet.Account;
            Yedda.Twitter Conn = GetMatchingConnection(CurrentlySelectedAccount);
            SwitchToList("@User_TimeLine");
            HistoryItem i = new HistoryItem();
            i.Action = Yedda.Twitter.ActionType.User_Timeline;
            i.Account = CurrentlySelectedAccount;
            i.Argument = ShowUserID;
            History.Push(i);
            AddStatusesToList(Manager.GetUserTimeLine(Conn, ShowUserID));
            ChangeCursor(Cursors.Default);

            return;
        }
Example #18
0
 public static void Load()
 {
     
     using (SQLiteConnection conn = LocalStorage.DataBaseUtility.GetConnection())
     {
         conn.Open();
         using (SQLiteCommand comm = new SQLiteCommand(conn))
         {
             comm.CommandText = "SELECT groupname, userid, exclusive, users.screenname FROM usersInGroups INNER JOIN users ON usersInGroups.userid = users.id";
             using (SQLiteDataReader r = comm.ExecuteReader())
             {
                 while (r.Read())
                 {
                     string groupName = r.GetString(0);
                     string userID = r.GetString(1);
                     bool exclusive = r.GetBoolean(2);
                     string screenName = r.GetString(3);
                     SpecialTimeLine thisLine = new SpecialTimeLine();
                     if (_Items.ContainsKey(groupName))
                     {
                         thisLine = _Items[groupName];
                     }
                     else
                     {
                         thisLine.name = groupName;
                         Add(thisLine);
                     }
                     thisLine.AddItem(userID,screenName, exclusive);
                 }
             }
         }
     }
 }
 public static void RemoveSpecialTimeLineNotifications(SpecialTimeLine line)
 {
     if (Notifications.ContainsKey(line.name))
     {
         Notifications.Remove(line.name);
         try
         {
             Registry.CurrentUser.DeleteSubKeyTree("\\ControlPanel\\Notifications\\" + line.name);
         }
         catch{}
         LoadAllRegistries();
     }
 }