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; } }
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); }
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); } } }
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(); } }
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); }
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); }
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(); } } }
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); }
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(); }
private bool AddUserToGroup(SpecialTimeLine t, bool Exclusive) { return AddUserToGroup(t, Exclusive, true); }
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; } } } } }
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); }
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); }
public static void Add(SpecialTimeLine newLine) { lock (_Items) { if (!_Items.ContainsKey(newLine.name)) { _Items.Add(newLine.name, newLine); NotificationHandler.AddSpecialTimeLineNotifications(newLine); } } }
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; }
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(); } }