⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 personalgrouplistcontrol.cs

📁 破解的飞信源代码
💻 CS
📖 第 1 页 / 共 5 页
字号:
            {
                ClientLogger.WriteException(exception);
            }
        }

        private void PersonalGroupManager_MemberInfoChanged(object sender, GroupMembersInfoChangedEventArgs e)
        {
            try
            {
                if (e.Members.get_Count() == 1)
                {
                    this.UpdateMemberInfo(e.Members.get_Item(0), true, true);
                }
                else
                {
                    List<PersonalGroupMember>.Enumerator enumerator = e.Members.GetEnumerator();
                    try
                    {
                        while (enumerator.MoveNext())
                        {
                            PersonalGroupMember member = enumerator.get_Current();
                            this.UpdateMemberInfo(member, false, false);
                        }
                    }
                    finally
                    {
                        enumerator.Dispose();
                    }
                    this.treeGroups.sort_allitems(true);
                }
            }
            catch (Exception exception)
            {
                ClientLogger.WriteException(exception);
            }
        }

        private void PersonalGroupManager_MemberJoined(object sender, PersonalGroupMemberEventArgs e)
        {
            try
            {
                if (this._group == null)
                {
                    this.treeGroups.add_member_sorted(e.Member.OwnerGroup, e.Member, true);
                }
                else if (e.Member.OwnerGroup == this._group)
                {
                    this.treeGroups.add_member_sorted(null, e.Member, true);
                }
            }
            catch (Exception exception)
            {
                ClientLogger.WriteException(exception);
            }
        }

        private void PersonalGroupManager_ReplyResult(object sender, PersonalGroupReplyResultEventArgs e)
        {
            try
            {
                this.treeGroups.update_group(e.Group, false, true);
            }
            catch (Exception exception)
            {
                ClientLogger.WriteException(exception);
            }
        }

        private void PersonalGroups_GroupLoadStatusChanged(object sender, EventArgs e)
        {
            if ((this.Currentuser.PersonalGroups.GroupLoadStatus == PersonalGroupLoadStatus.Loaded) || (this.Currentuser.PersonalGroups.GroupLoadStatus == PersonalGroupLoadStatus.Failed))
            {
                this.treeGroups.clear(false);
                this.AddGroups();
            }
        }

        private void RemovePersonalGroup(PersonalGroup group, bool fpaint)
        {
            try
            {
                this.treeGroups.remove_group(group, fpaint);
                group.MemberLoadStatusChanged -= new EventHandler<GroupLoadStatusChangedEventArgs>(this, (IntPtr) this.group_MemberLoadStatusChanged);
            }
            catch (Exception exception)
            {
                ClientLogger.WriteException(exception);
            }
        }

        internal void SearchCurrentGroup(string key)
        {
            this.treeGroups.remove_allitems(false);
            this.treeGroups.Visible = true;
            if (string.IsNullOrEmpty(key))
            {
                this.AddGroupMembers(this._group);
            }
            else
            {
                ContactCollection matchContacts = this.MatchHelper.GetMatchContacts(this.GroupContacts, key);
                int num = 0;
                matchContacts.ListContacts.Sort();
                using (IEnumerator<Imps.Client.Core.Contact> enumerator = matchContacts.GetEnumerator())
                {
                    while (enumerator.MoveNext())
                    {
                        Imps.Client.Core.Contact contact = enumerator.get_Current();
                        this.treeGroups.add_member(null, contact as PersonalGroupMember, false);
                        num++;
                    }
                }
                if (num == 0)
                {
                    this.treeGroups.Visible = false;
                }
                else
                {
                    this.treeGroups.sort_allitems(true);
                }
            }
        }

        private void treeGroups_DoubleClick(object sender, tree_widget.item_type item)
        {
            try
            {
                if (item is grouptree_member)
                {
                    PersonalGroupMember member = (item as grouptree_member).member;
                    this._framework.PersonalGroupManager.StartMemeberConversation(this._framework.MainWindow, member, ConversationOperation.ImChat);
                }
                else if (item is grouptree_group)
                {
                    PersonalGroup group = (item as grouptree_group).group;
                    if (this.Currentuser.Status == UserAccountStatus.Logon)
                    {
                        this._framework.PersonalGroupManager.StartGroupConversation(this._framework.MainWindow, group, ConversationOperation.ImChat);
                    }
                    else if (this.Currentuser.Status == UserAccountStatus.OfflineLogon)
                    {
                        this._framework.PersonalGroupManager.ShowGroupSetting(this._framework.MainWindow, group, GroupOption.Normal);
                    }
                }
            }
            catch (Exception exception)
            {
                ClientLogger.WriteException(exception);
            }
        }

        private void treeGroups_on_group_click_portrait(object sender, grouptree_group groupNode)
        {
            try
            {
                this._framework.PersonalGroupManager.ShowGroupSetting(this._framework.MainWindow, groupNode.group, GroupOption.Normal);
            }
            catch (Exception exception)
            {
                ClientLogger.WriteException(exception);
            }
        }

        private void treeGroups_on_group_expand_changed(object sender, grouptree_group groupNode, bool fExpanded)
        {
            try
            {
                PersonalGroup group = groupNode.group;
                if (fExpanded && group.UserInfo.EnableViewMembers)
                {
                    if (group.MemberLoadStatus != PersonalGroupLoadStatus.None)
                    {
                        if (!groupNode.MembersLoaded)
                        {
                            groupNode.MembersLoaded = true;
                            this.treeGroups.clear_members(group, false);
                            this.AddGroupMembers(group);
                        }
                    }
                    else
                    {
                        AsyncBizOperation op = new AsyncBizOperation(group);
                        this.Currentuser.PersonalGroupManager.GetGroupMemberList(group, op);
                        groupNode.MembersLoaded = true;
                    }
                }
            }
            catch (Exception exception)
            {
                ClientLogger.WriteException(exception);
            }
        }

        private void treeGroups_on_group_expand_changing(object sender, grouptree_group groupNode, bool fExpanding, CancelEventArgs args)
        {
            if (!groupNode.group.UserInfo.EnableViewMembers || (this.Currentuser.Status != UserAccountStatus.Logon))
            {
                args.Cancel = true;
            }
        }

        private void treeGroups_OnFocusedItemChanged(object sender)
        {
            if ((this.treeGroups.focus_item == null) || tree<tree_widget.item_type>.iterator.is_equal(this.treeGroups.end, this.treeGroups.focus_item))
            {
                this.treeGroups.set_ContextMenuStrip(this.menuBlank);
            }
            else if (this.treeGroups.focus_item.data is grouptree_group)
            {
                this.treeGroups.set_ContextMenuStrip(this.menuGroup);
            }
            else if (this.treeGroups.focus_item.data is grouptree_member)
            {
                this.treeGroups.set_ContextMenuStrip(this.menuMember);
            }
        }

        private void tsAddFriend_Click(object sender, EventArgs e)
        {
            try
            {
                PersonalGroupMember member = (this.treeGroups.focus_item.data as grouptree_member).member;
                this._framework.PersonalGroupManager.AddGroupMemberToFriend(this._framework.MainWindow, member);
            }
            catch (Exception exception)
            {
                ClientLogger.WriteException(exception);
            }
        }

        private void tsBlockMember_Click(object sender, EventArgs e)
        {
            try
            {
                PersonalGroupMember member = (this.treeGroups.focus_item.data as grouptree_member).member;
                this.Currentuser.PersonalGroupManager.AsyncBlockMember(member);
            }
            catch (Exception exception)
            {
                ClientLogger.WriteException(exception);
            }
        }

        private void tsCancelManager_Click(object sender, EventArgs e)
        {
            try
            {
                PersonalGroupMember member = (this.treeGroups.focus_item.data as grouptree_member).member;
                this._framework.PersonalGroupManager.CancelGroupManager(this._framework.MainWindow, member);
            }
            catch (Exception exception)
            {
                ClientLogger.WriteException(exception);
            }
        }

        private void tsCreateGroup_Click(object sender, EventArgs e)
        {
            try
            {
                this._framework.PersonalGroupManager.CreatePersonalGroup(this._framework.MainWindow);
            }
            catch (Exception exception)
            {
                ClientLogger.WriteException(exception);
            }
        }

        private void tsDeleteGroup_Click(object sender, EventArgs e)
        {
            try
            {
                PersonalGroup group = (this.treeGroups.focus_item.data as grouptree_group).group;
                this._framework.PersonalGroupManager.DeleteGroup(group);
            }
            catch (Exception exception)
            {
                ClientLogger.WriteException(exception);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -