void RichTextEditor::onCurrentChanged(int index) { if (! bChanged) return; if (index == 1) richToPlain(); else qteRichText->setHtml(qptePlainText->toPlainText()); bChanged = false; }
void RichTextEditor::on_qteRichText_textChanged() { bModified = true; bChanged = true; updateActions(); if (! g.uiMessageLength) return; richToPlain(); const QString &text = qptePlainText->toPlainText(); bool over = true; unsigned int imagelength = text.length(); if (g.uiMessageLength && imagelength <= g.uiMessageLength) { over = false; } else if (g.uiImageLength && imagelength > g.uiImageLength) { over = true; } else { QString qsOut; QXmlStreamReader qxsr(QString::fromLatin1("<document>%1</document>").arg(text)); QXmlStreamWriter qxsw(&qsOut); while (! qxsr.atEnd()) { switch (qxsr.readNext()) { case QXmlStreamReader::Invalid: return; case QXmlStreamReader::StartElement: { if (qxsr.name() == QLatin1String("img")) { QXmlStreamAttributes attr = qxsr.attributes(); qxsw.writeStartElement(qxsr.namespaceUri().toString(), qxsr.name().toString()); foreach(const QXmlStreamAttribute &a, qxsr.attributes()) if (a.name() != QLatin1String("src")) qxsw.writeAttribute(a); } else { qxsw.writeCurrentToken(qxsr); } } break; default: qxsw.writeCurrentToken(qxsr); break; } }