Hide some of the bufferviews by default in order to not confuse new users too much.
[quassel.git] / src / qtui / chatwidget.cpp
index 68d63da..e488f03 100644 (file)
@@ -1,11 +1,11 @@
 /***************************************************************************
- *   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        *
@@ -20,9 +20,9 @@
 
 #include "util.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);
@@ -45,13 +45,15 @@ ChatWidget::ChatWidget(QWidget *parent) : QAbstractScrollArea(parent) {
   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.toInt()), tsDef).toInt();
+  senderWidth = s.value(QString("%1/SenderColumnWidth").arg(bufferId.toInt()), senderDef).toInt();
   computePositions();
   adjustScrollBar();
   verticalScrollBar()->setValue(verticalScrollBar()->maximum());
@@ -72,6 +74,11 @@ ChatWidget::~ChatWidget() {
   //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.toInt()), tsWidth);
+  s.setValue(QString("%1/SenderColumnWidth").arg(bufferId.toInt()), senderWidth);
 }
 
 QSize ChatWidget::sizeHint() const {
@@ -534,8 +541,8 @@ QString ChatWidget::selectionToString() {
   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;
   }