diff --git a/src/Chat/Chat.cpp b/src/Chat/Chat.cpp index c2719ee..7038fe1 100644 --- a/src/Chat/Chat.cpp +++ b/src/Chat/Chat.cpp @@ -17,7 +17,7 @@ void Chat::renderChatBox(Ui::MainWindow *ui, QListView *view) //////Render only Memos for selected contacts. Do not render empty Memos //// Render only memos where cid=cid if ( - (c.second.getContact() == ui->contactNameMemo->text().trimmed()) && + (p.getName() == ui->contactNameMemo->text().trimmed()) && (p.getPartnerAddress() == c.second.getAddress()) && (c.second.isOutgoing() == true)) { @@ -33,7 +33,7 @@ void Chat::renderChatBox(Ui::MainWindow *ui, QListView *view) } if ( - (c.second.getContact() == ui->contactNameMemo->text().trimmed()) && + (p.getName() == ui->contactNameMemo->text().trimmed()) && (p.getMyAddress() == c.second.getAddress()) && (c.second.isOutgoing() == false)) diff --git a/src/addressbook.cpp b/src/addressbook.cpp index d00c3ae..d17726c 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -156,7 +156,7 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) ab.addr_chat->setText(myAddr); }); model.updateUi(); //todo fix updating gui after adding - rpc->refresh(true); + //rpc->refresh(true); // If there is a target then make it the addr for the "Add to" button if (target != nullptr && Settings::isValidAddress(target->text())) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 67dd432..1e72714 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -86,77 +86,7 @@ void ChatModel::showMessages() } } - -void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView &view) -{ - /*for(auto &c : this->chatItems) - { - //view.getItems().add(QString("[Timestamp] : lorem ipsum ....")); - }*/ - qDebug() << "not implemented yet"; - //todo render items to view -} - -void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) -{ - - - QStandardItemModel* chat = new QStandardItemModel(); - // ui->lcdNumber->setStyleSheet("background-color: red"); - // ui->lcdNumber->setPalette(Qt::red); - // ui->lcdNumber->display("1"); - - - - - for (auto &p : AddressBook::getInstance()->getAllAddressLabels()) - for (auto &c : DataStore::getChatDataStore()->getAllMemos()) - { - //////Render only Memos for selected contacts. Do not render empty Memos //// Render only memos where cid=cid - - - if ( - (c.second.getContact() == ui->contactNameMemo->text().trimmed()) && - (p.getPartnerAddress() == c.second.getAddress()) && - (c.second.isOutgoing() == true) - ) - { - - QStandardItem* Items = new QStandardItem(c.second.toChatLine()); - Items->setData("Outgoing", Qt::UserRole +1); - chat->appendRow(Items); - ui->listChat->setModel(chat); - - } - else{ - ui->listChat->setModel(chat); - - } - - if ( - (c.second.getContact() == ui->contactNameMemo->text().trimmed()) && - (p.getMyAddress() == c.second.getAddress()) && - (c.second.isOutgoing() == false) - ) - - { - - QStandardItem* Items1 = new QStandardItem(c.second.toChatLine()); - Items1->setData("Incoming", Qt::UserRole +1); - chat->appendRow(Items1); - ui->listChat->setModel(chat); - - } - else{ - - ui->listChat->setModel(chat); - } - - } - - -} - + void MainWindow::renderContactRequest(){ Ui_requestDialog requestContact; diff --git a/src/chatmodel.h b/src/chatmodel.h index b54c5ae..04493b8 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -30,18 +30,13 @@ class ChatModel ChatModel() {}; ChatModel(std::map chatItems); ChatModel(std::vector chatItems); - //QString generateChatItemID(ChatItem item); std::map getItems(); void setItems(std::map items); QString zaddr(); void setItems(std::vector items); - void renderChatBox(Ui::MainWindow* ui, QListView &view); - void renderChatBox(Ui::MainWindow* ui, QListView *view); - // void renderContactRequest(); void triggerRequest(); void showMessages(); void clear(); - //void renderContactRequest(Ui::MainWindow* ui, QListView *view); void addMessage(ChatItem item); void addMessage(QString timestamp, ChatItem item); void addCid(QString tx, QString cid); diff --git a/src/controller.cpp b/src/controller.cpp index 730e906..47a1a1e 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -855,8 +855,7 @@ void Controller::refreshTransactions() { for (auto o: it["outgoing_metadata"].get()) { QString address; - - + address = QString::fromStdString(o["address"]); // Sent items are -ve @@ -867,22 +866,13 @@ void Controller::refreshTransactions() { QString memo; if (!o["memo"].is_null()) { memo = QString::fromStdString(o["memo"]); - } - QString cid; - QString contact; - - for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) - { - if (address == c.getPartnerAddress()){ - contact = c.getName(); - }else{ contact = "";} - + QString cid; ChatItem item = ChatItem( datetime, address, - contact, + QString(""), memo, QString(""), QString(""), @@ -890,6 +880,7 @@ void Controller::refreshTransactions() { txid, true ); + qDebug()<<"Memo : " <setData(ChatIDGenerator::getInstance()->generateID(item), item); @@ -898,7 +889,7 @@ void Controller::refreshTransactions() { items.push_back(TransactionItemDetail{address, amount, memo}); total_amount = total_amount + amount; } - + { QList addresses; for (auto item : items) { @@ -932,7 +923,6 @@ void Controller::refreshTransactions() { memo }); - TransactionItem tx{ "Receive", datetime, address, txid,confirmations, items }; @@ -941,12 +931,14 @@ void Controller::refreshTransactions() { QString type; QString cid; - // int position; + int position; QString requestZaddr; + if (!it["memo"].is_null()) { + if (memo.startsWith("{")) { - QJsonDocument headermemo = QJsonDocument::fromJson(memo.toUtf8()); + QJsonDocument headermemo = QJsonDocument::fromJson(memo.toUtf8()); cid = headermemo["cid"].toString(); type = headermemo["t"].toString(); @@ -955,43 +947,27 @@ void Controller::refreshTransactions() { chatModel->addCid(txid, cid); chatModel->addrequestZaddr(txid, requestZaddr); - } - + } + if (chatModel->getCidByTx(txid) != QString("0xdeadbeef")){ cid = chatModel->getCidByTx(txid); - } - else{ - - cid = ""; + }else{ + cid = ""; } if (chatModel->getrequestZaddrByTx(txid) != QString("0xdeadbeef")){ requestZaddr = chatModel->getrequestZaddrByTx(txid); - - } - - else{ + }else{ requestZaddr = ""; } - - QString contact; - for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) - { - - if (address == c.getMyAddress()){ - contact = c.getName(); - - }else{ contact = "";} - - // position = it["position"].get(); - + position = it["position"].get(); ChatItem item = ChatItem( datetime, address, - contact, + QString(""), memo, requestZaddr, type, @@ -999,6 +975,7 @@ void Controller::refreshTransactions() { txid, false ); + qDebug()<< "Position : " << position; DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); }