Ejemplo n.º 1
0
        public Status(JsonNode jnNode) : base(jnNode)
        {
            m_jnNode       = jnNode;
            m_lsReplyNames = new List <string>();

            if (m_jnNode.ContainsKey("text") && m_jnNode["text"].IsString())
            {
                JsonNode          jnEntities = Entities();
                List <JsonObject> ljoUrls    = null;

                if (jnEntities != null && jnEntities.ContainsKey("urls") && jnEntities["urls"].IsList())
                {
                    ljoUrls = jnEntities["urls"].ToList();
                }

                m_stStatusText = StatusText.FromString(RemoveRT(m_jnNode["text"].ToString()), ljoUrls);
                m_bIsReply     = (m_stStatusText.Words.Count > 1) && (m_stStatusText.Words[0].Type == StatusTextElement.StatusTextElementType.ScreenName);
                m_bIsRetweet   = (m_jnNode.ContainsKey("retweeted_status")) || (m_stStatusText.Words.Count > 0) && (m_stStatusText.Words[0].Text.Trim() == "RT");

                for (int i = 0; i < m_stStatusText.Words.Count; i++)
                {
                    if (m_stStatusText.Words[i].Type == StatusTextElement.StatusTextElementType.ScreenName)
                    {
                        m_lsReplyNames.Add(m_stStatusText.Words[i].Text);
                    }
                    else
                    {
                        break;
                    }
                }
            }
        }
Ejemplo n.º 2
0
        private void UpdateText(string sNewText)
        {
            if (!m_bAlreadyUpdating)
            {
                m_bAlreadyUpdating = true;

                int iStart = rtbTextBox.SelectionStart;
                m_stStatusText            = StatusText.FromString(sNewText);
                rtbTextBox.Rtf            = m_stStatusText.ToRTF(m_fntFont);
                rtbTextBox.SelectionStart = iStart;

                m_bAlreadyUpdating = false;
            }
        }