/***************************************************************************
- * Copyright (C) 2005-07 by The Quassel Team *
+ * Copyright (C) 2005-08 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
+ * (at your option) version 3. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
***************************************************************************/
#include "util.h"
-#include "style.h"
#include "chatwidget.h"
-#include "chatline.h"
-
+#include "chatline-old.h"
+#include "qtui.h"
+#include "uisettings.h"
ChatWidget::ChatWidget(QWidget *parent) : QAbstractScrollArea(parent) {
//setAutoFillBackground(false);
connect(verticalScrollBar(), SIGNAL(valueChanged(int)), this, SLOT(scrollBarValChanged(int)));
}
-void ChatWidget::init(QString netname, QString bufname) {
- networkName = netname;
- bufferName = bufname;
+void ChatWidget::init(BufferId id) {
+ bufferId = id;
setBackgroundRole(QPalette::Base);
setFont(QFont("Fixed"));
- tsWidth = 90;
- senderWidth = 100;
+ UiSettings s;
+ QVariant tsDef = s.value("DefaultTimestampColumnWidth", 90);
+ QVariant senderDef = s.value("DefaultSenderColumnWidth", 100);
+ tsWidth = s.value(QString("%1/TimestampColumnWidth").arg(bufferId), tsDef).toInt();
+ senderWidth = s.value(QString("%1/SenderColumnWidth").arg(bufferId), senderDef).toInt();
computePositions();
adjustScrollBar();
verticalScrollBar()->setValue(verticalScrollBar()->maximum());
//foreach(ChatLine *l, lines) {
// delete l;
//}
+ UiSettings s;
+ s.setValue("DefaultTimestampColumnWidth", tsWidth); // FIXME stupid dirty quicky
+ s.setValue("DefaultSenderColumnWidth", senderWidth);
+ s.setValue(QString("%1/TimestampColumnWidth").arg(bufferId), tsWidth);
+ s.setValue(QString("%1/SenderColumnWidth").arg(bufferId), senderWidth);
}
QSize ChatWidget::sizeHint() const {
//!\brief Computes the different x position vars for given tsWidth and senderWidth.
void ChatWidget::computePositions() {
- senderX = tsWidth + Style::sepTsSender();
- textX = senderX + senderWidth + Style::sepSenderText();
- tsGrabPos = tsWidth + (int)Style::sepTsSender()/2;
- senderGrabPos = senderX + senderWidth + (int)Style::sepSenderText()/2;
+ senderX = tsWidth + QtUi::style()->sepTsSender();
+ textX = senderX + senderWidth + QtUi::style()->sepSenderText();
+ tsGrabPos = tsWidth + (int)QtUi::style()->sepTsSender()/2;
+ senderGrabPos = senderX + senderWidth + (int)QtUi::style()->sepSenderText()/2;
textWidth = viewport()->size().width() - textX;
}
break;
}
// Pass 2: Some mouse modes need work after being set...
- if(mouseMode == DragTsSep && x < size().width() - Style::sepSenderText() - senderWidth - 10) {
+ if(mouseMode == DragTsSep && x < size().width() - QtUi::style()->sepSenderText() - senderWidth - 10) {
// Drag first column separator
- int foo = Style::sepTsSender()/2;
+ int foo = QtUi::style()->sepTsSender()/2;
tsWidth = qMax(x, foo) - foo;
computePositions();
layout();
} else if(mouseMode == DragTextSep && x < size().width() - 10) {
// Drag second column separator
- int foo = tsWidth + Style::sepTsSender() + Style::sepSenderText()/2;
+ int foo = tsWidth + QtUi::style()->sepTsSender() + QtUi::style()->sepSenderText()/2;
senderWidth = qMax(x, foo) - foo;
computePositions();
layout();
if(selectionMode == LinesSelected) {
QString result;
for(int l = selectionStart; l <= selectionEnd; l++) {
- result += QString("[%1] %2 %3\n").arg(lines[l]->timeStamp().toLocalTime().toString("hh:mm:ss"))
- .arg(lines[l]->sender()).arg(lines[l]->text());
+ result += QString("[%1] %2 %3\n").arg(lines[l]->timestamp().toLocalTime().toString("hh:mm:ss"))
+ . arg(lines[l]->sender()).arg(lines[l]->text());
}
return result;
}