QTfrontend/chatwidget.cpp
changeset 5294 67278f1cba2c
parent 5259 926958e3e87b
child 5735 08ac2d557392
equal deleted inserted replaced
5247:bf6d4bc531d2 5294:67278f1cba2c
    19 
    19 
    20 #include <QDesktopServices>
    20 #include <QDesktopServices>
    21 #include <QTextBrowser>
    21 #include <QTextBrowser>
    22 #include <QLineEdit>
    22 #include <QLineEdit>
    23 #include <QAction>
    23 #include <QAction>
    24 #include <QApplication>
       
    25 #include <QTextDocument>
    24 #include <QTextDocument>
    26 #include <QDir>
    25 #include <QDir>
    27 #include <QSettings>
    26 #include <QSettings>
    28 #include <QFile>
    27 #include <QFile>
    29 #include <QTextStream>
    28 #include <QTextStream>
    30 #include <QMenu>
    29 #include <QMenu>
    31 #include <QCursor>
    30 #include <QCursor>
    32 #include <QScrollBar>
    31 #include <QScrollBar>
    33 #include <QItemSelectionModel>
    32 #include <QItemSelectionModel>
    34 #include <QLabel>
       
    35 
    33 
    36 #include "hwconsts.h"
    34 #include "hwconsts.h"
    37 #include "SDLs.h"
    35 #include "SDLs.h"
    38 #include "gameuiconfig.h"
    36 #include "gameuiconfig.h"
    39 #include "chatwidget.h"
    37 #include "chatwidget.h"
   163     connect(chatNicks, SIGNAL(itemDoubleClicked(QListWidgetItem *)),
   161     connect(chatNicks, SIGNAL(itemDoubleClicked(QListWidgetItem *)),
   164         this, SLOT(chatNickDoubleClicked(QListWidgetItem *)));
   162         this, SLOT(chatNickDoubleClicked(QListWidgetItem *)));
   165     connect(chatNicks, SIGNAL(currentRowChanged(int)),
   163     connect(chatNicks, SIGNAL(currentRowChanged(int)),
   166         this, SLOT(chatNickSelected(int)));
   164         this, SLOT(chatNickSelected(int)));
   167 
   165 
   168     mainLayout.addWidget(chatNicks, 1, 1, 2, 1);
   166     mainLayout.addWidget(chatNicks, 0, 1, 3, 1);
   169 
       
   170     lblCount = new QLabel(this);
       
   171     mainLayout.addWidget(lblCount, 0, 1);
       
   172     lblCount->setText("0");
       
   173     lblCount->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum);
       
   174 
   167 
   175     acInfo = new QAction(QAction::tr("Info"), chatNicks);
   168     acInfo = new QAction(QAction::tr("Info"), chatNicks);
   176     acInfo->setIcon(QIcon(":/res/info.png"));
   169     acInfo->setIcon(QIcon(":/res/info.png"));
   177     connect(acInfo, SIGNAL(triggered(bool)), this, SLOT(onInfo()));
   170     connect(acInfo, SIGNAL(triggered(bool)), this, SLOT(onInfo()));
   178     acKick = new QAction(QAction::tr("Kick"), chatNicks);
   171     acKick = new QAction(QAction::tr("Kick"), chatNicks);
   396 {
   389 {
   397     QListWidgetItem * item = new ListWidgetNickItem(nick, friendsList.contains(nick, Qt::CaseInsensitive), ignoreList.contains(nick, Qt::CaseInsensitive));
   390     QListWidgetItem * item = new ListWidgetNickItem(nick, friendsList.contains(nick, Qt::CaseInsensitive), ignoreList.contains(nick, Qt::CaseInsensitive));
   398     updateNickItem(item);
   391     updateNickItem(item);
   399     chatNicks->addItem(item);
   392     chatNicks->addItem(item);
   400 
   393 
   401     lblCount->setText(QString::number(chatNicks->count()));
   394     emit nickCountUpdate(chatNicks->count());
   402 
   395 
   403     if(notifyNick && notify && gameSettings->value("frontend/sound", true).toBool()) {
   396     if(notifyNick && notify && gameSettings->value("frontend/sound", true).toBool()) {
   404        Mix_PlayChannel(-1, sound[rand()%4], 0);
   397        Mix_PlayChannel(-1, sound[rand()%4], 0);
   405     }
   398     }
   406 }
   399 }
   409 {
   402 {
   410     QList<QListWidgetItem *> items = chatNicks->findItems(nick, Qt::MatchExactly);
   403     QList<QListWidgetItem *> items = chatNicks->findItems(nick, Qt::MatchExactly);
   411     QListIterator<QListWidgetItem *> it(items);
   404     QListIterator<QListWidgetItem *> it(items);
   412     while(it.hasNext()) chatNicks->takeItem(chatNicks->row(it.next()));
   405     while(it.hasNext()) chatNicks->takeItem(chatNicks->row(it.next()));
   413 
   406 
   414     lblCount->setText(QString::number(chatNicks->count()));
   407     emit nickCountUpdate(chatNicks->count());
   415 }
   408 }
   416 
   409 
   417 void HWChatWidget::clear()
   410 void HWChatWidget::clear()
   418 {
   411 {
   419     chatText->clear();
   412     chatText->clear();