void Editor::setHighlightColor( ColorType type, QColor color ) { d->highlightColors[ type ] = color; setSelectionAttributes( 1, highlightColor( Editor::MatchedPar ), false ); setSelectionAttributes( 2, highlightColor( Editor::MatchedPar ), false ); d->highlighter->rehighlight(); }
void MsgViewBase::addMessage(Message *msg) { unsigned n = paragraphs() - 1; append(messageText(msg)); if (!CorePlugin::m_plugin->getOwnColors()) setBackground(n); if (!m_selectStr.isEmpty()){ bool bStart = false; for (; n < (unsigned)paragraphs(); n++){ QString s = text(n); if (s.find(MSG_HREF) >= 0){ bStart = true; continue; } if (bStart) break; } if (n < (unsigned)paragraphs()){ int savePara; int saveIndex; getCursorPosition(&savePara, &saveIndex); int para = n; int index = 0; while (find(m_selectStr, false, false, true, ¶, &index)){ setSelection(para, index, para, index + m_selectStr.length(), ++m_nSelection); setSelectionAttributes(m_nSelection, colorGroup().highlight(), true); index += m_selectStr.length(); } setCursorPosition(savePara, saveIndex); } } sync(); }
void MsgViewBase::sync(unsigned n) { if (!m_selectStr.isEmpty()){ bool bStart = false; for (; n < (unsigned)paragraphs(); n++){ QString s = text(n); if (s.find(MSG_ANCHOR) >= 0){ bStart = true; continue; } if (bStart) break; } if (n < (unsigned)paragraphs()){ int savePara; int saveIndex; getCursorPosition(&savePara, &saveIndex); int para = n; int index = 0; while (find(m_selectStr, false, false, true, ¶, &index)){ setSelection(para, index, para, index + m_selectStr.length(), ++m_nSelection); setSelectionAttributes(m_nSelection, colorGroup().highlight(), true); index += m_selectStr.length(); } setCursorPosition(savePara, saveIndex); repaintChanged(); } } TextShow::sync(); }