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