Fix some strings
[quassel.git] / src / qtui / chatscene.cpp
index 87dfae5..358eb12 100644 (file)
@@ -81,9 +81,9 @@ ChatScene::ChatScene(QAbstractItemModel *model, const QString &idString, qreal w
   setHandleXLimits();
 
   connect(model, SIGNAL(rowsInserted(const QModelIndex &, int, int)),
-         this, SLOT(rowsInserted(const QModelIndex &, int, int)));
+          this, SLOT(rowsInserted(const QModelIndex &, int, int)));
   connect(model, SIGNAL(rowsAboutToBeRemoved(const QModelIndex &, int, int)),
-         this, SLOT(rowsAboutToBeRemoved(const QModelIndex &, int, int)));
+          this, SLOT(rowsAboutToBeRemoved(const QModelIndex &, int, int)));
 
   if(model->rowCount() > 0)
     rowsInserted(QModelIndex(), 0, model->rowCount() - 1);
@@ -91,7 +91,8 @@ ChatScene::ChatScene(QAbstractItemModel *model, const QString &idString, qreal w
 #ifdef HAVE_WEBKIT
   webPreview.delayTimer.setSingleShot(true);
   connect(&webPreview.delayTimer, SIGNAL(timeout()), this, SLOT(showWebPreviewEvent()));
-  webPreview.deleteTimer.setInterval(600000);
+  //webPreview.deleteTimer.setInterval(600000);
+  webPreview.deleteTimer.setInterval(10000);
   connect(&webPreview.deleteTimer, SIGNAL(timeout()), this, SLOT(deleteWebPreviewEvent()));
 #endif
 
@@ -103,9 +104,25 @@ ChatScene::~ChatScene() {
 
 void ChatScene::rowsInserted(const QModelIndex &index, int start, int end) {
   Q_UNUSED(index);
-//   QModelIndex sidx = model()->index(start, 0);
-//   QModelIndex eidx = model()->index(end, 0);
-//   qDebug() << "rowsInserted" << start << end << "-" << sidx.data(MessageModel::MsgIdRole).value<MsgId>() << eidx.data(MessageModel::MsgIdRole).value<MsgId>();
+
+
+//   QModelIndex sidx = model()->index(start, 2);
+//   QModelIndex eidx = model()->index(end, 2);
+//   qDebug() << "rowsInserted:";
+//   if(start > 0) {
+//     QModelIndex ssidx = model()->index(start - 1, 2);
+//     qDebug() << "Start--:" << start - 1 << ssidx.data(MessageModel::MsgIdRole).value<MsgId>()
+//          << ssidx.data(Qt::DisplayRole).toString();
+//   }
+//   qDebug() << "Start:" << start << sidx.data(MessageModel::MsgIdRole).value<MsgId>()
+//        << sidx.data(Qt::DisplayRole).toString();
+//   qDebug() << "End:" << end << eidx.data(MessageModel::MsgIdRole).value<MsgId>()
+//        << eidx.data(Qt::DisplayRole).toString();
+//   if(end + 1 < model()->rowCount()) {
+//     QModelIndex eeidx = model()->index(end + 1, 2);
+//     qDebug() << "End++:" << end + 1 << eeidx.data(MessageModel::MsgIdRole).value<MsgId>()
+//          << eeidx.data(Qt::DisplayRole).toString();
+//   }
 
   qreal h = 0;
   qreal y = 0;
@@ -129,9 +146,9 @@ void ChatScene::rowsInserted(const QModelIndex &index, int start, int end) {
   if(atTop) {
     for(int i = end; i >= start; i--) {
       ChatLine *line = new ChatLine(i, model(),
-                                   width,
-                                   timestampWidth, senderWidth, contentsWidth,
-                                   senderPos, contentsPos);
+                                    width,
+                                    timestampWidth, senderWidth, contentsWidth,
+                                    senderPos, contentsPos);
       h += line->height();
       line->setPos(0, y-h);
       _lines.insert(start, line);
@@ -140,9 +157,9 @@ void ChatScene::rowsInserted(const QModelIndex &index, int start, int end) {
   } else {
     for(int i = start; i <= end; i++) {
       ChatLine *line = new ChatLine(i, model(),
-                                   width,
-                                   timestampWidth, senderWidth, contentsWidth,
-                                   senderPos, contentsPos);
+                                    width,
+                                    timestampWidth, senderWidth, contentsWidth,
+                                    senderPos, contentsPos);
       line->setPos(0, y+h);
       h += line->height();
       _lines.insert(i, line);
@@ -220,7 +237,7 @@ void ChatScene::rowsInserted(const QModelIndex &index, int start, int end) {
     if(start < _firstLineRow) {
       int prevFirstLineRow = _firstLineRow + (end - start + 1);
       for(int i = end + 1; i < prevFirstLineRow; i++) {
-       _lines.at(i)->show();
+        _lines.at(i)->show();
       }
     }
     // force new search for first proper line
@@ -496,9 +513,19 @@ void ChatScene::updateSelection(const QPointF &pos) {
   }
 }
 
+bool ChatScene::isScrollingAllowed() const {
+  if(_isSelecting)
+    return false;
+
+  // TODO: Handle clicks and single-item selections too
+
+  return true;
+}
+
 void ChatScene::mouseMoveEvent(QGraphicsSceneMouseEvent *event) {
   if(_isSelecting && event->buttons() == Qt::LeftButton) {
     updateSelection(event->scenePos());
+    emit mouseMoveWhileSelecting(event->scenePos());
     event->accept();
   } else {
     QGraphicsScene::mouseMoveEvent(event);
@@ -593,7 +620,7 @@ void ChatScene::updateSceneRect(qreal width) {
     while(_firstLineRow < numRows) {
       firstLineIdx = model()->index(_firstLineRow, 0);
       if((Message::Type)(model()->data(firstLineIdx, MessageModel::TypeRole).toInt()) != Message::DayChange)
-       break;
+        break;
       _lines.at(_firstLineRow)->hide();
       _firstLineRow++;
     }