From 8788931f3666370c3e8fadd6069b2dfa723c0348 Mon Sep 17 00:00:00 2001 From: agilob Date: Sat, 11 Oct 2014 11:48:45 +0100 Subject: [PATCH] number of messages is more reliable then activities --- src/widget/chatareawidget.cpp | 5 +++++ src/widget/chatareawidget.h | 1 + src/widget/form/genericchatform.cpp | 5 +++++ src/widget/form/genericchatform.h | 3 ++- src/widget/widget.cpp | 8 ++------ 5 files changed, 15 insertions(+), 7 deletions(-) diff --git a/src/widget/chatareawidget.cpp b/src/widget/chatareawidget.cpp index 542e3be40..0e5b58eb3 100644 --- a/src/widget/chatareawidget.cpp +++ b/src/widget/chatareawidget.cpp @@ -118,6 +118,11 @@ void ChatAreaWidget::insertMessage(ChatAction *msgAction) messages.append(msgAction); } +int ChatAreaWidget::getNumberOfMessages() +{ + return messages.size(); +} + void ChatAreaWidget::onSliderRangeChanged() { QScrollBar* scroll = verticalScrollBar(); diff --git a/src/widget/chatareawidget.h b/src/widget/chatareawidget.h index d1e2dbe8f..923da19af 100644 --- a/src/widget/chatareawidget.h +++ b/src/widget/chatareawidget.h @@ -33,6 +33,7 @@ public: int nameColWidth() {return nameWidth;} void setNameColWidth(int w); + int getNumberOfMessages(); signals: void onFileTranfertInterract(QString widgetName, QString buttonName); diff --git a/src/widget/form/genericchatform.cpp b/src/widget/form/genericchatform.cpp index 0d31288e1..a42a956dd 100644 --- a/src/widget/form/genericchatform.cpp +++ b/src/widget/form/genericchatform.cpp @@ -127,6 +127,11 @@ GenericChatForm::GenericChatForm(QWidget *parent) : connect(chatWidget, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(onChatContextMenuRequested(QPoint))); } +int GenericChatForm::getNumberOfMessages() +{ + return chatWidget->getNumberOfMessages(); +} + void GenericChatForm::setName(const QString &newName) { nameLabel->setText(newName); diff --git a/src/widget/form/genericchatform.h b/src/widget/form/genericchatform.h index b8c373d23..0baa4f315 100644 --- a/src/widget/form/genericchatform.h +++ b/src/widget/form/genericchatform.h @@ -46,7 +46,8 @@ public: virtual void show(Ui::MainWindow &ui); void addMessage(QString author, QString message, bool isAction = false, QDateTime datetime=QDateTime::currentDateTime()); void addSystemInfoMessage(const QString &message, const QString &type, const QDateTime &datetime=QDateTime::currentDateTime()); - + int getNumberOfMessages(); + signals: void sendMessage(int, QString); void sendAction(int, QString); diff --git a/src/widget/widget.cpp b/src/widget/widget.cpp index a5a5c839a..e41ed7df0 100644 --- a/src/widget/widget.cpp +++ b/src/widget/widget.cpp @@ -550,9 +550,9 @@ void Widget::onFriendStatusChanged(int friendId, Status status) default: fStatus = "online"; break; } - + //won't print the message if there were no messages before - if(f->chatForm->actions().size() != 0 + if(f->chatForm->getNumberOfMessages() != 0 && Settings::getInstance().getStatusChangeNotificationEnabled() == true) f->chatForm->addSystemInfoMessage(f->getName() + " has changed status to " + fStatus, "white"); } @@ -568,10 +568,6 @@ void Widget::onFriendSignIn(int friendId, Status status) f->friendStatus = status; f->widget->updateStatusLight(); - //won't print the message if there were no messages before - if(f->chatForm->actions().size() != 0 - && Settings::getInstance().getSignInNotificationEnabled() == true) - f->chatForm->addSystemInfoMessage(f->getName() + " has became online", "white"); } void Widget::onFriendStatusMessageChanged(int friendId, const QString& message)