update// created request objects to store inportant information

This commit is contained in:
Strider
2020-05-21 12:12:32 +02:00
parent 024bb9050a
commit 5ad5d07c1c
5 changed files with 164 additions and 94 deletions

View File

@@ -79,6 +79,7 @@ SOURCES += \
src/Model/ChatItem.cpp \ src/Model/ChatItem.cpp \
src/Model/ContactRequestChatItem.cpp \ src/Model/ContactRequestChatItem.cpp \
src/Model/ContactItem.cpp \ src/Model/ContactItem.cpp \
src/Model/ContactRequest.cpp \
src/Chat/Helper/ChatIDGenerator.cpp \ src/Chat/Helper/ChatIDGenerator.cpp \
src/Chat/Chat.cpp \ src/Chat/Chat.cpp \
src/FileSystem/FileSystem.cpp \ src/FileSystem/FileSystem.cpp \

View File

@@ -0,0 +1,67 @@
// Copyright 2019-2020 The Hush developers
// GPLv3
#include "ContactRequest.h"
ContactRequest::ContactRequest() {}
ContactRequest::ContactRequest(QString sender, QString receiver, QString memo, QString cid)
{
_senderAddress = sender;
_receiverAddress = receiver;
_memo = memo;
_cid = cid;
}
QString ContactRequest::getSenderAddress()
{
return _senderAddress;
}
QString ContactRequest::getReceiverAddress()
{
return _receiverAddress;
}
QString ContactRequest::getMemo()
{
return _memo;
}
QString ContactRequest::getCid()
{
return _cid;
}
void ContactRequest::setSenderAddress(QString address)
{
_senderAddress = address;
}
void ContactRequest::setReceiverAddress(QString address)
{
_receiverAddress = address;
}
void ContactRequest::setMemo(QString memo)
{
_memo = memo;
}
void ContactRequest::setCid(QString cid)
{
_cid = cid;
}
QString ContactRequest::toString()
{
return "sender: " + _senderAddress + " receiver: " + _receiverAddress + " memo: " + _memo + " cid: " + _cid;
}
ContactRequest::~ContactRequest()
{
_senderAddress = "";
_receiverAddress = "";
_memo = "";
_cid = "";
}

View File

@@ -0,0 +1,33 @@
// Copyright 2019-2020 The Hush developers
// GPLv3
#ifndef CONTACTREQUEST_H
#define CONTACTREQUEST_H
#include <QString>
using json = nlohmann::json;
class ContactRequest
{
private:
QString _senderAddress;
QString _receiverAddress;
QString _memo;
QString _cid;
public:
ContactRequest();
ContactRequest(QString sender, QString receiver, QString memo, QString cid);
QString getSenderAddress();
QString getReceiverAddress();
QString getMemo();
QString getCid();
void setSenderAddress(QString address);
void setReceiverAddress(QString contact);
void setMemo(QString memo);
void setCid(QString cid);
QString toString();
~ContactRequest();
};
#endif

View File

@@ -16,6 +16,8 @@
using namespace std; using namespace std;
ContactRequest contactRequest = ContactRequest();
ChatModel::ChatModel(std::map<QString, ChatItem> chatItems) ChatModel::ChatModel(std::map<QString, ChatItem> chatItems)
{ {
this->chatItems = chatItems; this->chatItems = chatItems;
@@ -455,14 +457,12 @@ QString MainWindow::doSendChatTxValidations(Tx tx) {
return ""; return "";
} }
void::MainWindow::addContact() { void::MainWindow::addContact()
{
Ui_Dialog request; Ui_Dialog request;
QDialog dialog(this); QDialog dialog(this);
request.setupUi(&dialog); request.setupUi(&dialog);
Settings::saveRestore(&dialog); Settings::saveRestore(&dialog);
bool sapling = true; bool sapling = true;
rpc->createNewZaddr(sapling, [=] (json reply) { rpc->createNewZaddr(sapling, [=] (json reply) {
QString myAddr = QString::fromStdString(reply.get<json::array_t>()[0]); QString myAddr = QString::fromStdString(reply.get<json::array_t>()[0]);
@@ -476,21 +476,16 @@ void::MainWindow::addContact() {
request.cid->setText(cid); request.cid->setText(cid);
QObject::connect(request.sendRequestButton, &QPushButton::clicked, [&] () { QObject::connect(request.sendRequestButton, &QPushButton::clicked, [&] () {
QString cid = request.cid->text(); QString cid = request.cid->text();
auto addr = request.zaddr->text().trimmed(); QString addr = request.zaddr->text().trimmed();
QString getrequest = addr; QString getrequest = addr;
QString newLabel = request.labelRequest->text().trimmed(); QString newLabel = request.labelRequest->text().trimmed();
auto myAddr = request.myzaddr->text().trimmed(); QString myAddr = request.myzaddr->text().trimmed();
contactRequest.setSenderAddress(myAddr);
// ChatModel->addSendRequest(myAddr, cid, addr); contactRequest.setReceiverAddress(addr);
contactRequest.setMemo(newLabel);
contactRequest.setCid(cid);
QString avatar = QString(":/icons/res/") + request.comboBoxAvatar->currentText() + QString(".png"); QString avatar = QString(":/icons/res/") + request.comboBoxAvatar->currentText() + QString(".png");
if (addr.isEmpty() || newLabel.isEmpty()) if (addr.isEmpty() || newLabel.isEmpty())
{ {
QMessageBox::critical( QMessageBox::critical(
@@ -525,72 +520,45 @@ void::MainWindow::addContact() {
QMessageBox::Ok QMessageBox::Ok
); );
return; return;
}); });
// QObject::connect(request.sendRequestButton, &QPushButton::clicked, this, &MainWindow::ContactRequest);
dialog.exec(); dialog.exec();
rpc->refreshContacts( rpc->refreshContacts(ui->listContactWidget);
ui->listContactWidget
);
} }
// Create a Tx for a contact Request // Create a Tx for a contact Request
Tx MainWindow::createTxForSafeContactRequest() { Tx MainWindow::createTxForSafeContactRequest()
Tx tx;
{ {
Tx tx;
{
CAmount totalAmt; CAmount totalAmt;
QString amtStr = "0"; QString amtStr = "0";
CAmount amt; CAmount amt;
amt = CAmount::fromDecimalString("0"); amt = CAmount::fromDecimalString("0");
totalAmt = totalAmt + amt; totalAmt = totalAmt + amt;
for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) for(auto &c : AddressBook::getInstance()->getAllAddressLabels())
{
if (ui->contactNameMemo->text().trimmed() == c.getName()) { if (ui->contactNameMemo->text().trimmed() == c.getName())
{
QString cid = c.getCid(); QString cid = c.getCid();
QString myAddr = c.getMyAddress(); QString myAddr = c.getMyAddress();
QString type = "Cont"; QString type = "Cont";
QString addr = c.getPartnerAddress(); QString addr = c.getPartnerAddress();
qDebug() << contactRequest.toString();
QString hmemo= createHeaderMemo(type,cid,myAddr); QString hmemo= createHeaderMemo(type,cid,myAddr);
QString memo = ui->memoTxtChat->toPlainText().trimmed(); QString memo = ui->memoTxtChat->toPlainText().trimmed();
// ui->memoSizeChat->setLenDisplayLabel();// Todo -> activate lendisplay for chat // ui->memoSizeChat->setLenDisplayLabel();// Todo -> activate lendisplay for chat
tx.toAddrs.push_back(ToFields{addr, amt, hmemo}); tx.toAddrs.push_back(ToFields{addr, amt, hmemo});
tx.toAddrs.push_back(ToFields{addr, amt, memo}); tx.toAddrs.push_back(ToFields{addr, amt, memo});
qDebug() << "pushback chattx"; qDebug() << "pushback chattx";
tx.fee = Settings::getMinerFee(); tx.fee = Settings::getMinerFee();
} }
} }
return tx; return tx;
qDebug() << "RequestTx created"; qDebug() << "RequestTx created";
}
} }
void MainWindow::ContactRequest() { void MainWindow::ContactRequest() {

View File

@@ -16,6 +16,7 @@
#include "settings.h" #include "settings.h"
#include "camount.h" #include "camount.h"
#include "Model/ChatItem.h" #include "Model/ChatItem.h"
#include "Model/ContactRequest.h"
#include "Chat/Helper/ChatDelegator.h" #include "Chat/Helper/ChatDelegator.h"
#include "Chat/Helper/ChatIDGenerator.h" #include "Chat/Helper/ChatIDGenerator.h"