highlightcolor can now be configured
[quassel.git] / src / qtui / chatline-old.cpp
index 2c9cb0d..c1cd7d2 100644 (file)
 #include "network.h"
 #include "qtui.h"
 
+#include "qtuisettings.h"
+
 //! Construct a ChatLineOld object from a message.
 /**
  * \param m   The message to be layouted and rendered
  */
 ChatLineOld::ChatLineOld(Message m) {
   hght = 0;
-  //networkName = m.buffer.network();
-  //bufferName = m.buffer.buffer();
+
   msg = m;
   selectionMode = None;
   isHighlight = false;
@@ -50,9 +51,17 @@ void ChatLineOld::formatMsg(Message msg) {
   precomputeLine();
 }
 
+QList<ChatLineOld::FormatRange> ChatLineOld::calcFormatRanges(const UiStyle::StyledText &fs) {
+  QTextLayout::FormatRange additional;
+  additional.start = additional.length = 0;
+  return calcFormatRanges(fs, additional);
+}
+
 // This function is almost obsolete, since with the new style engine, we already get a list of formats...
 // We don't know yet if we keep this implementation of ChatLineOld, so I won't bother making this actually nice.
-QList<ChatLineOld::FormatRange> ChatLineOld::calcFormatRanges(UiStyle::StyledText fs, QTextLayout::FormatRange additional) {
+QList<ChatLineOld::FormatRange> ChatLineOld::calcFormatRanges(const UiStyle::StyledText &_fs,
+     const QTextLayout::FormatRange &additional) {
+  UiStyle::StyledText fs = _fs;
   QList<FormatRange> ranges;
 
   if(additional.length > 0) {
@@ -76,6 +85,7 @@ QList<ChatLineOld::FormatRange> ChatLineOld::calcFormatRanges(UiStyle::StyledTex
       }
     }
   }
+
   foreach(QTextLayout::FormatRange f, fs.formats) {
     if(f.length <= 0) continue;
     FormatRange range;
@@ -308,8 +318,10 @@ void ChatLineOld::draw(QPainter *p, const QPointF &pos) {
     p->drawRect(QRectF(pos, QSizeF(tsWidth + QtUi::style()->sepTsSender() + senderWidth + QtUi::style()->sepSenderText() + textWidth, height())));
   } else {
     if(isHighlight) {
+      QtUiSettings s("QtUi/Colors");
+      QColor highlightColor = s.value("highlightColor", QVariant(QColor("lightcoral"))).value<QColor>();
       p->setPen(Qt::NoPen);
-      p->setBrush(QColor("lightcoral") /*pal.brush(QPalette::AlternateBase) */);
+      p->setBrush(highlightColor /*pal.brush(QPalette::AlternateBase) */);
       p->drawRect(QRectF(pos, QSizeF(tsWidth + QtUi::style()->sepTsSender() + senderWidth + QtUi::style()->sepSenderText() + textWidth, height())));
     }
     if(selectionMode == Partial) {