fix for incoming requests
This commit is contained in:
@@ -60,7 +60,9 @@ std::map<QString, ChatItem> ChatDataStore::getAllNewContactRequests()
|
|||||||
if (
|
if (
|
||||||
(c.second.isOutgoing() == false) &&
|
(c.second.isOutgoing() == false) &&
|
||||||
(c.second.getType() == "Cont") &&
|
(c.second.getType() == "Cont") &&
|
||||||
(c.second.isContact() == false)
|
(c.second.isContact() == false) &&
|
||||||
|
(c.second.getMemo().startsWith("{"))
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
||||||
{
|
{
|
||||||
@@ -73,13 +75,14 @@ std::map<QString, ChatItem> ChatDataStore::getAllNewContactRequests()
|
|||||||
std::map<QString, ChatItem> ChatDataStore::getAllOldContactRequests()
|
std::map<QString, ChatItem> ChatDataStore::getAllOldContactRequests()
|
||||||
{
|
{
|
||||||
std::map<QString, ChatItem> filteredItems;
|
std::map<QString, ChatItem> filteredItems;
|
||||||
for(auto &p : AddressBook::getInstance()->getAllAddressLabels())
|
|
||||||
for(auto &c: this->data)
|
for(auto &c: this->data)
|
||||||
{
|
{
|
||||||
if (
|
if (
|
||||||
(c.second.isOutgoing() == false) &&
|
(c.second.isOutgoing() == false) &&
|
||||||
(c.second.getType() == "Cont") &&
|
(c.second.getType() == "Cont") &&
|
||||||
(p.getPartnerAddress() == c.second.getRequestZaddr())
|
(c.second.isContact() == true) &&
|
||||||
|
(c.second.getMemo().startsWith("{"))
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
filteredItems[c.first] = c.second;
|
filteredItems[c.first] = c.second;
|
||||||
|
|||||||
@@ -180,7 +180,7 @@ QString ChatItem::toChatLine()
|
|||||||
|
|
||||||
QString line = QString("<small>") + myDateTime.toString("yyyy-MM-dd hh:mm");
|
QString line = QString("<small>") + myDateTime.toString("yyyy-MM-dd hh:mm");
|
||||||
line += QString(lock) + QString("</small>");
|
line += QString(lock) + QString("</small>");
|
||||||
line += QString("<p>") + _memo.toHtmlEscaped() + QString("</p>");
|
line +=QString("<p>") + _memo.toHtmlEscaped() + QString("</p>");
|
||||||
return line;
|
return line;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -108,7 +108,9 @@ QVariant AddressBookModel::data(const QModelIndex &index, int role) const
|
|||||||
case 2: return labels.at(index.row()).getPartnerAddress();
|
case 2: return labels.at(index.row()).getPartnerAddress();
|
||||||
case 3: return labels.at(index.row()).getMyAddress();
|
case 3: return labels.at(index.row()).getMyAddress();
|
||||||
case 4: return labels.at(index.row()).getCid();
|
case 4: return labels.at(index.row()).getCid();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return QVariant();
|
return QVariant();
|
||||||
@@ -405,9 +407,11 @@ void AddressBook::readFromStorage()
|
|||||||
//qDebug() << "2:" << stuff[i][2];
|
//qDebug() << "2:" << stuff[i][2];
|
||||||
ContactItem contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3],stuff[i][4]);
|
ContactItem contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3],stuff[i][4]);
|
||||||
//qDebug() << "contact=" << contact.toQTString();
|
//qDebug() << "contact=" << contact.toQTString();
|
||||||
|
// main->addLabel(stuff[i][2], stuff[i][1]);
|
||||||
allLabels.push_back(contact);
|
allLabels.push_back(contact);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// qDebug() << "Read " << version << " Hush contacts from disk...";
|
// qDebug() << "Read " << version << " Hush contacts from disk...";
|
||||||
file.close();
|
file.close();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,8 +24,6 @@ public:
|
|||||||
QVariant data(const QModelIndex &index, int role) const;
|
QVariant data(const QModelIndex &index, int role) const;
|
||||||
QVariant headerData(int section, Qt::Orientation orientation, int role) const;
|
QVariant headerData(int section, Qt::Orientation orientation, int role) const;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void loadData();
|
void loadData();
|
||||||
void saveData();
|
void saveData();
|
||||||
|
|||||||
@@ -119,44 +119,41 @@ void MainWindow::renderContactRequest(){
|
|||||||
|
|
||||||
for (auto &c : DataStore::getChatDataStore()->getAllNewContactRequests())
|
for (auto &c : DataStore::getChatDataStore()->getAllNewContactRequests())
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
||||||
QStandardItem* Items = new QStandardItem(QString("Unknown Sender"));
|
QStandardItem* Items = new QStandardItem(QString(c.second.getRequestZaddr()));
|
||||||
contactRequest->appendRow(Items);
|
contactRequest->appendRow(Items);
|
||||||
requestContact.requestContact->setModel(contactRequest);
|
requestContact.requestContact->setModel(contactRequest);
|
||||||
|
|
||||||
Items->setData(QIcon(addnewAddrIcon),Qt::DecorationRole);
|
Items->setData(QIcon(addnewAddrIcon),Qt::DecorationRole);
|
||||||
requestContact.requestContact->setIconSize(QSize(40,50));
|
requestContact.requestContact->setIconSize(QSize(40,50));
|
||||||
requestContact.requestContact->setUniformItemSizes(true);
|
requestContact.requestContact->setUniformItemSizes(true);
|
||||||
requestContact.requestContact->show();
|
requestContact.requestContact->show();
|
||||||
requestContact.zaddrnew->setVisible(false);
|
requestContact.zaddrnew->setVisible(false);
|
||||||
requestContact.zaddrnew->setText(c.second.getAddress());
|
requestContact.zaddrnew->setText(c.second.getRequestZaddr());
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
QStandardItemModel* contactRequestOld = new QStandardItemModel();
|
QStandardItemModel* contactRequestOld = new QStandardItemModel();
|
||||||
|
|
||||||
for (auto &p : AddressBook::getInstance()->getAllAddressLabels())
|
|
||||||
for (auto &c : DataStore::getChatDataStore()->getAllOldContactRequests())
|
for (auto &c : DataStore::getChatDataStore()->getAllOldContactRequests())
|
||||||
{
|
{
|
||||||
if (p.getPartnerAddress() == c.second.getRequestZaddr())
|
QStandardItem* Items = new QStandardItem(c.second.getContact());
|
||||||
{
|
|
||||||
QStandardItem* Items = new QStandardItem(p.getName());
|
|
||||||
contactRequestOld->appendRow(Items);
|
contactRequestOld->appendRow(Items);
|
||||||
requestContact.requestContactOld->setModel(contactRequestOld);
|
requestContact.requestContactOld->setModel(contactRequestOld);
|
||||||
requestContact.zaddrold->setVisible(false);
|
requestContact.zaddrold->setVisible(false);
|
||||||
requestContact.zaddrold->setText(c.second.getAddress());
|
requestContact.zaddrold->setText(c.second.getRequestZaddr());
|
||||||
requestContact.requestContactOld->show();
|
|
||||||
}else{}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
QObject::connect(requestContact.requestContact, &QTableView::clicked, [&] () {
|
QObject::connect(requestContact.requestContact, &QTableView::clicked, [&] () {
|
||||||
|
|
||||||
for (auto &c : DataStore::getChatDataStore()->getAllRawChatItems()){
|
for (auto &c : DataStore::getChatDataStore()->getAllRawChatItems()){
|
||||||
QModelIndex index = requestContact.requestContact->currentIndex();
|
QModelIndex index = requestContact.requestContact->currentIndex();
|
||||||
QString label_contact = index.data(Qt::DisplayRole).toString();
|
QString label_contact = index.data(Qt::DisplayRole).toString();
|
||||||
QStandardItemModel* contactMemo = new QStandardItemModel();
|
QStandardItemModel* contactMemo = new QStandardItemModel();
|
||||||
@@ -164,7 +161,7 @@ void MainWindow::renderContactRequest(){
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
if ((c.second.isOutgoing() == false) && (requestContact.zaddrnew->text() == c.second.getAddress()) && (c.second.getType() != "Cont"))
|
if ((c.second.isOutgoing() == false) && (label_contact == c.second.getContact()))
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -177,7 +174,10 @@ void MainWindow::renderContactRequest(){
|
|||||||
requestContact.requestCID->setVisible(false);
|
requestContact.requestCID->setVisible(false);
|
||||||
requestContact.requestZaddr->setText(c.second.getRequestZaddr());
|
requestContact.requestZaddr->setText(c.second.getRequestZaddr());
|
||||||
requestContact.requestMyAddr->setText(c.second.getAddress());
|
requestContact.requestMyAddr->setText(c.second.getAddress());
|
||||||
}else{}
|
|
||||||
|
}else{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -192,7 +192,7 @@ void MainWindow::renderContactRequest(){
|
|||||||
QString label_contactold = index.data(Qt::DisplayRole).toString();
|
QString label_contactold = index.data(Qt::DisplayRole).toString();
|
||||||
QStandardItemModel* contactMemo = new QStandardItemModel();
|
QStandardItemModel* contactMemo = new QStandardItemModel();
|
||||||
|
|
||||||
if ((c.second.isOutgoing() == false) && (requestContact.zaddrold->text() == c.second.getAddress()) && (c.second.getType() != "Cont"))
|
if ((c.second.isOutgoing() == false) && (label_contactold == c.second.getContact()))
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -205,7 +205,10 @@ void MainWindow::renderContactRequest(){
|
|||||||
requestContact.requestCID->setVisible(false);
|
requestContact.requestCID->setVisible(false);
|
||||||
requestContact.requestZaddr->setText(c.second.getRequestZaddr());
|
requestContact.requestZaddr->setText(c.second.getRequestZaddr());
|
||||||
requestContact.requestMyAddr->setText(c.second.getAddress());
|
requestContact.requestMyAddr->setText(c.second.getAddress());
|
||||||
}else{}
|
|
||||||
|
}else{
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,25 @@
|
|||||||
#include "settings.h"
|
#include "settings.h"
|
||||||
#include "controller.h"
|
#include "controller.h"
|
||||||
|
|
||||||
|
void ContactModel::addLabel(QString addr, QString label)
|
||||||
|
{
|
||||||
|
this->AddressMap[addr] = label;
|
||||||
|
}
|
||||||
|
|
||||||
|
QString ContactModel::getContactbyAddress(QString addr)
|
||||||
|
{
|
||||||
|
for(auto& pair : this->AddressMap)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if(this->AddressMap.count(addr) > 0)
|
||||||
|
{
|
||||||
|
return this->AddressMap[addr];
|
||||||
|
}
|
||||||
|
|
||||||
|
return QString("0xdeadbeef");
|
||||||
|
}
|
||||||
|
|
||||||
void ContactModel::renderContactList(QListView* view)
|
void ContactModel::renderContactList(QListView* view)
|
||||||
{
|
{
|
||||||
@@ -19,22 +37,20 @@ void ContactModel::renderContactList(QListView* view)
|
|||||||
|
|
||||||
for(auto &c : AddressBook::getInstance()->getAllAddressLabels())
|
for(auto &c : AddressBook::getInstance()->getAllAddressLabels())
|
||||||
{
|
{
|
||||||
|
QString avatar = c.getAvatar();
|
||||||
|
|
||||||
|
QStandardItem* Items1 = new QStandardItem(c.getName());
|
||||||
|
Items1->setData(QIcon(avatar),Qt::DecorationRole);
|
||||||
|
|
||||||
QString avatar = c.getAvatar();
|
contact->appendRow(Items1);
|
||||||
|
view->setModel(contact);
|
||||||
QStandardItem* Items1 = new QStandardItem(c.getName());
|
view->setIconSize(QSize(60,70));
|
||||||
Items1->setData(QIcon(avatar),Qt::DecorationRole);
|
view->setUniformItemSizes(true);
|
||||||
|
view->setDragDropMode(QAbstractItemView::DropOnly);
|
||||||
contact->appendRow(Items1);
|
view->show();
|
||||||
view->setModel(contact);
|
QString addr = c.getPartnerAddress();
|
||||||
view->setIconSize(QSize(60,70));
|
QString label = c.getName();
|
||||||
view->setUniformItemSizes(true);
|
this->addLabel(addr, label);
|
||||||
view->setDragDropMode(QAbstractItemView::DropOnly);
|
|
||||||
view->show();
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -12,10 +12,16 @@ class ContactModel
|
|||||||
|
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
MainWindow* main;
|
||||||
|
std::map<QString, QString> AddressMap;
|
||||||
|
|
||||||
|
QString getContactbyAddress(QString addr);
|
||||||
|
void addLabel(QString addr, QString label);
|
||||||
|
|
||||||
ContactModel() {}
|
ContactModel() {}
|
||||||
void renderContactList(QListView* view);
|
void renderContactList(QListView* view);
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
@@ -1132,29 +1132,9 @@ void Controller::refreshTransactions() {
|
|||||||
QString headerbytes;
|
QString headerbytes;
|
||||||
QString cid;
|
QString cid;
|
||||||
QString requestZaddr;
|
QString requestZaddr;
|
||||||
|
QString contactname;
|
||||||
bool isContact;
|
bool isContact;
|
||||||
|
|
||||||
|
|
||||||
for (auto &p : AddressBook::getInstance()->getAllAddressLabels())
|
|
||||||
{
|
|
||||||
|
|
||||||
if (p.getPartnerAddress() == requestZaddr)
|
|
||||||
{
|
|
||||||
|
|
||||||
chatModel->addAddressbylabel(address, requestZaddr);
|
|
||||||
} else{}
|
|
||||||
|
|
||||||
}
|
|
||||||
if (chatModel->Addressbylabel(address) != QString("0xdeadbeef")){
|
|
||||||
|
|
||||||
isContact = true;
|
|
||||||
|
|
||||||
}else{
|
|
||||||
|
|
||||||
isContact = false;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!it["memo"].is_null()) {
|
if (!it["memo"].is_null()) {
|
||||||
|
|
||||||
if (memo.startsWith("{")) {
|
if (memo.startsWith("{")) {
|
||||||
@@ -1177,7 +1157,6 @@ void Controller::refreshTransactions() {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (chatModel->getCidByTx(txid) != QString("0xdeadbeef")){
|
if (chatModel->getCidByTx(txid) != QString("0xdeadbeef")){
|
||||||
|
|
||||||
cid = chatModel->getCidByTx(txid);
|
cid = chatModel->getCidByTx(txid);
|
||||||
@@ -1212,7 +1191,20 @@ void Controller::refreshTransactions() {
|
|||||||
publickey = "";
|
publickey = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (contactModel->getContactbyAddress(requestZaddr) != QString("0xdeadbeef")){
|
||||||
|
|
||||||
|
isContact = true;
|
||||||
|
contactname = contactModel->getContactbyAddress(requestZaddr);
|
||||||
|
|
||||||
|
}else{
|
||||||
|
|
||||||
|
isContact = false;
|
||||||
|
contactname = "";
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
qDebug()<<"Name :" << contactname;
|
||||||
|
|
||||||
bool isNotarized;
|
bool isNotarized;
|
||||||
|
|
||||||
@@ -1336,7 +1328,7 @@ void Controller::refreshTransactions() {
|
|||||||
ChatItem item = ChatItem(
|
ChatItem item = ChatItem(
|
||||||
datetime,
|
datetime,
|
||||||
address,
|
address,
|
||||||
QString(""),
|
contactname,
|
||||||
memodecrypt,
|
memodecrypt,
|
||||||
requestZaddr,
|
requestZaddr,
|
||||||
type,
|
type,
|
||||||
@@ -1349,8 +1341,6 @@ void Controller::refreshTransactions() {
|
|||||||
);
|
);
|
||||||
DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item);
|
DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1360,7 +1350,7 @@ void Controller::refreshTransactions() {
|
|||||||
ChatItem item = ChatItem(
|
ChatItem item = ChatItem(
|
||||||
datetime,
|
datetime,
|
||||||
address,
|
address,
|
||||||
QString(""),
|
contactname,
|
||||||
memo,
|
memo,
|
||||||
requestZaddr,
|
requestZaddr,
|
||||||
type,
|
type,
|
||||||
@@ -1372,7 +1362,9 @@ void Controller::refreshTransactions() {
|
|||||||
isContact
|
isContact
|
||||||
);
|
);
|
||||||
DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item);
|
DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item);
|
||||||
|
qDebug()<<"requestZaddrt? :"<<requestZaddr;
|
||||||
|
qDebug()<<"Ist Kontakt? :"<<isContact;
|
||||||
|
qDebug()<<"Memo :"<<memo;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1079,6 +1079,7 @@ QString MainWindow::getPubkeyByAddress(QString requestZaddr)
|
|||||||
return QString("0xdeadbeef");
|
return QString("0xdeadbeef");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void MainWindow::exportAllKeys() {
|
void MainWindow::exportAllKeys() {
|
||||||
exportKeys("");
|
exportKeys("");
|
||||||
}
|
}
|
||||||
@@ -1385,8 +1386,8 @@ void MainWindow::setupchatTab() {
|
|||||||
QModelIndex index = ui->listChat->currentIndex();
|
QModelIndex index = ui->listChat->currentIndex();
|
||||||
QString memo_chat = index.data(Qt::DisplayRole).toString();
|
QString memo_chat = index.data(Qt::DisplayRole).toString();
|
||||||
QClipboard *clipboard = QGuiApplication::clipboard();
|
QClipboard *clipboard = QGuiApplication::clipboard();
|
||||||
int startPos = memo_chat.indexOf("<p>") + 3;
|
int startPos = memo_chat.indexOf("<pre>") + 3;
|
||||||
int endPos = memo_chat.indexOf("</p>");
|
int endPos = memo_chat.indexOf("</pre>");
|
||||||
int length = endPos - startPos;
|
int length = endPos - startPos;
|
||||||
QString copymemo = memo_chat.mid(startPos, length);
|
QString copymemo = memo_chat.mid(startPos, length);
|
||||||
|
|
||||||
@@ -1400,8 +1401,8 @@ void MainWindow::setupchatTab() {
|
|||||||
QString memo_chat = index.data(Qt::DisplayRole).toString();
|
QString memo_chat = index.data(Qt::DisplayRole).toString();
|
||||||
QClipboard *clipboard = QGuiApplication::clipboard();
|
QClipboard *clipboard = QGuiApplication::clipboard();
|
||||||
|
|
||||||
int startPos = memo_chat.indexOf("<p>") + 3;
|
int startPos = memo_chat.indexOf("<pre>") + 3;
|
||||||
int endPos = memo_chat.indexOf("</p>");
|
int endPos = memo_chat.indexOf("</pre>");
|
||||||
int length = endPos - startPos;
|
int length = endPos - startPos;
|
||||||
QString copymemo = memo_chat.mid(startPos, length);
|
QString copymemo = memo_chat.mid(startPos, length);
|
||||||
int startPosT = memo_chat.indexOf("<small>") + 7;
|
int startPosT = memo_chat.indexOf("<small>") + 7;
|
||||||
@@ -1438,8 +1439,8 @@ void MainWindow::setupchatTab() {
|
|||||||
QModelIndex index = ui->listChat->currentIndex();
|
QModelIndex index = ui->listChat->currentIndex();
|
||||||
QString memo_chat = index.data(Qt::DisplayRole).toString();
|
QString memo_chat = index.data(Qt::DisplayRole).toString();
|
||||||
|
|
||||||
int startPos = memo_chat.indexOf("<p>") + 3;
|
int startPos = memo_chat.indexOf("<pre>") + 3;
|
||||||
int endPos = memo_chat.indexOf("</p>");
|
int endPos = memo_chat.indexOf("</pre>");
|
||||||
int length = endPos - startPos;
|
int length = endPos - startPos;
|
||||||
QString copymemo = memo_chat.mid(startPos, length);
|
QString copymemo = memo_chat.mid(startPos, length);
|
||||||
int startPosT = memo_chat.indexOf("<small>") + 7;
|
int startPosT = memo_chat.indexOf("<small>") + 7;
|
||||||
|
|||||||
@@ -59,6 +59,7 @@ public:
|
|||||||
void addPubkey(QString requestZaddr, QString pubkey);
|
void addPubkey(QString requestZaddr, QString pubkey);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void replaceWormholeClient(WormholeClient* newClient);
|
void replaceWormholeClient(WormholeClient* newClient);
|
||||||
bool isWebsocketListening();
|
bool isWebsocketListening();
|
||||||
void createWebsocket(QString wormholecode);
|
void createWebsocket(QString wormholecode);
|
||||||
|
|||||||
Reference in New Issue
Block a user