private void lstBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (lstBox.SelectedIndex != index)
            {
                index = lstBox.SelectedIndex;

                ExportChat chat = (ExportChat)lstBox.SelectedItem;

                if (chat != null && chat.Messages != null)
                {
                    lstMessages.DataSource    = null;
                    lstMessages.DataSource    = chat.Messages;
                    lstMessages.DisplayMember = "Display";
                }
            }
        }
        public void LoadChats()
        {
            int count = Skype.Chats.Count;
            int i     = 0;

            //Iterate chats
            foreach (SKYPE4COMLib.IChat chat in Skype.Chats)
            {
                if (_closing)
                {
                    return;
                }

                i++;

                if (chat.Messages.Count > 0)
                {
                    LabelText = string.Format("[chat {0} of {1}] [{2}] {3} [messages {4}]", i, count, chat.Timestamp.ToString(), chat.DialogPartner, chat.Messages.Count);

                    // get chat members
                    ExportMemberCollection memberCollection = new ExportMemberCollection();

                    foreach (SKYPE4COMLib.IUser chatMember in chat.Members)
                    {
                        if (_closing)
                        {
                            return;
                        }

                        ExportMember member = new ExportMember();
                        member.Name        = chatMember.Handle;
                        member.DisplayName = chatMember.FullName;

                        if (!memberCollection.MemberExists(member.Name))
                        {
                            memberCollection.Add(member);
                        }
                    }

                    ExportChat exportChat = ExportCM.Configuration.Chats.GetChat(memberCollection);

                    if (exportChat == null)
                    {
                        exportChat = new ExportChat();

                        ExportCM.Configuration.Chats.Add(exportChat);

                        MainText = "[+] " + memberCollection.ToString();

                        exportChat.Name    = memberCollection.ToString();
                        exportChat.Members = memberCollection;
                    }
                    else
                    {
                        MainText = "[ ] " + memberCollection.ToString();
                    }

                    foreach (SKYPE4COMLib.IChatMessage chatMessage in chat.Messages)
                    {
                        if (_closing)
                        {
                            return;
                        }

                        ExportMessage exportMessage = new ExportMessage();
                        exportMessage.Id   = chatMessage.Id.ToString();
                        exportMessage.From = chatMessage.FromHandle;

                        exportMessage.Timestamp = chatMessage.Timestamp.ToString();
                        exportMessage.Body      = chatMessage.Body;

                        //LabelText = string.Format("[{0}:{1}] [{2} -> {3}]: {4}", exportMessage.Id, exportMessage.Timestamp, exportMessage.From, exportMessage.To, exportMessage.Body);

                        if (!string.IsNullOrEmpty(chatMessage.EditedBy))
                        {
                            exportMessage.EditBy = chatMessage.EditedBy;
                        }

                        exportMessage.MessageType = chatMessage.Type.ToString();

                        if (!exportChat.Messages.MessageExists(exportMessage))
                        {
                            exportChat.Messages.Add(exportMessage);
                        }

                        // -----
                        //break;
                    }
                }
            }

            LabelText = "";
        }