Implement pairing via GUI

This commit is contained in:
Cameron Gutman
2018-07-05 23:12:55 -07:00
parent 1b1ad86271
commit 6687936e2f
9 changed files with 155 additions and 33 deletions

View File

@@ -1,5 +1,4 @@
#include "computermodel.h"
#include "backend/nvpairingmanager.h"
ComputerModel::ComputerModel(QObject* object)
: QAbstractListModel(object) {}
@@ -9,6 +8,8 @@ void ComputerModel::initialize(ComputerManager* computerManager)
m_ComputerManager = computerManager;
connect(m_ComputerManager, &ComputerManager::computerStateChanged,
this, &ComputerModel::handleComputerStateChanged);
connect(m_ComputerManager, &ComputerManager::pairingCompleted,
this, &ComputerModel::handlePairingCompleted);
m_Computers = m_ComputerManager->getComputers();
}
@@ -92,6 +93,18 @@ void ComputerModel::deleteComputer(int computerIndex)
endRemoveRows();
}
void ComputerModel::pairComputer(int computerIndex, QString pin)
{
Q_ASSERT(computerIndex < m_Computers.count());
m_ComputerManager->pairHost(m_Computers[computerIndex], pin);
}
void ComputerModel::handlePairingCompleted(NvComputer*, QString error)
{
emit pairingCompleted(error.isNull() ? QVariant() : error);
}
void ComputerModel::handleComputerStateChanged(NvComputer* computer)
{
// If this is an existing computer, we can report the data changed