- if (style.contains("color:#")) { // we have either foreground or background color or both
- int posColors = 0;
- QString mircFgColor, mircBgColor;
- while ((posColors = regexColors.indexIn(style, posColors)) != -1) {
- QString colorType = regexColors.cap(1);
- QString color = regexColors.cap(2);
-
- if (colorType == "color")
- mircFgColor = _mircColorMap.key(color);
-
- if (colorType == "background-color")
- mircBgColor = _mircColorMap.key(color);
-
- posColors += regexColors.matchedLength();
- }
- if (!mircBgColor.isEmpty())
- content.prepend("," + mircBgColor);
+ if (bold) {
+ bold = false;
+ mircText.append('\x02');
+ }
+ mircText.append('\n');
+ }
+ else {
+ if (!bold && cursor.charFormat().font().bold()) {
+ bold = true;
+ mircText.append('\x02');
+ }
+ if (!italic && cursor.charFormat().fontItalic()) {
+ italic = true;
+ mircText.append('\x1d');
+ }
+ if (!underline && cursor.charFormat().fontUnderline()) {
+ underline = true;
+ mircText.append('\x1f');
+ }
+ if (!color && (cursor.charFormat().foreground().isOpaque() || cursor.charFormat().background().isOpaque())) {
+ color = true;
+ mircText.append('\x03');
+ mircFgColor = _mircColorMap.key(cursor.charFormat().foreground().color().name());
+ mircBgColor = _mircColorMap.key(cursor.charFormat().background().color().name());