mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-10-29 14:56:42 +00:00
(cherry picked from commits5c79e7106f,57353cdfff,15723adb9a,01a5196a92,ed75563a94,3839a2dcfd,1fd16ba69c,66283943c5,ba8613a179,5b8f4f3e92,35b771b19e,043eb224e2,05fac2f67d)
56 lines
1.3 KiB
C++
56 lines
1.3 KiB
C++
//
|
|
// Created by koncord on 03.05.17.
|
|
//
|
|
|
|
#include "PingHelper.hpp"
|
|
#include "ServerModel.hpp"
|
|
#include <QDebug>
|
|
#include "PingUpdater.hpp"
|
|
|
|
void PingHelper::Add(int row, const AddrPair &addrPair)
|
|
{
|
|
pingUpdater->addServer(row, addrPair);
|
|
if (!pingThread->isRunning())
|
|
pingThread->start();
|
|
}
|
|
|
|
void PingHelper::Reset()
|
|
{
|
|
//if (pingThread->isRunning())
|
|
Stop();
|
|
}
|
|
|
|
void PingHelper::Stop()
|
|
{
|
|
emit pingUpdater->stop();
|
|
}
|
|
|
|
void PingHelper::SetModel(QAbstractTableModel *model)
|
|
{
|
|
this->model = model;
|
|
}
|
|
|
|
void PingHelper::update(int row, unsigned ping)
|
|
{
|
|
model->setData(model->index(row, ServerData::PING), ping);
|
|
}
|
|
|
|
PingHelper &PingHelper::Get()
|
|
{
|
|
static PingHelper helper;
|
|
return helper;
|
|
}
|
|
|
|
PingHelper::PingHelper() : QObject()
|
|
{
|
|
pingThread = new QThread;
|
|
pingUpdater = new PingUpdater;
|
|
pingUpdater->moveToThread(pingThread);
|
|
|
|
connect(pingThread, SIGNAL(started()), pingUpdater, SLOT(process()));
|
|
connect(pingUpdater, SIGNAL(start()), pingThread, SLOT(start()));
|
|
connect(pingUpdater, SIGNAL(finished()), pingThread, SLOT(quit()));
|
|
connect(this, SIGNAL(stop()), pingUpdater, SLOT(stop()));
|
|
//connect(pingUpdater, SIGNAL(finished()), pingUpdater, SLOT(deleteLater()));
|
|
connect(pingUpdater, SIGNAL(updateModel(int, unsigned)), this, SLOT(update(int, unsigned)));
|
|
}
|