From 69799fb81260fd9fd2f911f5daeb2c137f32f307 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 20 May 2020 23:53:39 +0200 Subject: [PATCH] fix selection on chattab --- src/DataStore/ChatDataStore.cpp | 7 +- src/Model/ChatItem.cpp | 2 +- src/chatmodel.cpp | 106 +++--- src/contactrequest.ui | 18 +- src/controller.cpp | 19 +- src/mainwindow.h | 1 + src/requestContactDialog.ui | 627 +++++++++++++++----------------- 7 files changed, 383 insertions(+), 397 deletions(-) diff --git a/src/DataStore/ChatDataStore.cpp b/src/DataStore/ChatDataStore.cpp index 2ede26d..1313103 100644 --- a/src/DataStore/ChatDataStore.cpp +++ b/src/DataStore/ChatDataStore.cpp @@ -52,11 +52,14 @@ std::map ChatDataStore::getAllRawChatItems() std::map ChatDataStore::getAllNewContactRequests() { std::map filteredItems; + for(auto &c: this->data) { if ( (c.second.isOutgoing() == false) && - (c.second.getType() == "cont") + (c.second.getType() == "Cont") && + (c.second.getContact() == "") + ) { @@ -74,7 +77,7 @@ std::map ChatDataStore::getAllOldContactRequests() { if ( (c.second.isOutgoing() == false) && - (c.second.getType() == "cont") && + (c.second.getType() == "Cont") && (p.getPartnerAddress() == c.second.getRequestZaddr()) ) { diff --git a/src/Model/ChatItem.cpp b/src/Model/ChatItem.cpp index dd43785..540c7ba 100644 --- a/src/Model/ChatItem.cpp +++ b/src/Model/ChatItem.cpp @@ -144,7 +144,7 @@ QString ChatItem::toChatLine() } - QString line = QString("") + myDateTime.toString("dd.MM.yyyy hh:mm"); + QString line = QString("") + myDateTime.toString("dd.MM.yyyy hh:mm"); line += QString(lock) + QString(""); line += QString("

") + _memo.toHtmlEscaped() + QString("

"); return line; diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index b669302..450d903 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -26,20 +26,6 @@ ChatModel::ChatModel(std::vector chatItems) this->setItems(chatItems); } -/*QString ChatModel::generateChatItemID(ChatItem item) -{ - QString key = QString::number(item.getTimestamp()) + QString("-"); - key += QString(QCryptographicHash::hash( - QString( - QString::number(item.getTimestamp()) + - item.getAddress() + - item.getContact() + - item.getMemo() - ).toUtf8() - ,QCryptographicHash::Md5).toHex()); - return key; -}*/ - std::map ChatModel::getItems() { return this->chatItems; @@ -81,10 +67,12 @@ void ChatModel::showMessages() { for(auto &c : this->chatItems) { - qDebug() << c.second.toChatLine(); + // qDebug() << c.second.toChatLine(); } } + + void MainWindow::renderContactRequest(){ @@ -95,8 +83,11 @@ void MainWindow::renderContactRequest(){ QStandardItemModel* contactRequest = new QStandardItemModel(); - { - for (auto &c : DataStore::getChatDataStore()->getAllOldContactRequests()) + // auto labels = AddressBook::getInstance()->getAllAddressLabels(); + for (auto &c : DataStore::getChatDataStore()->getAllNewContactRequests()) + + + // if (labels.adress() != c.second.getRequestZaddr()) { QStandardItem* Items = new QStandardItem(c.second.getAddress()); @@ -104,7 +95,17 @@ void MainWindow::renderContactRequest(){ requestContact.requestContact->setModel(contactRequest); requestContact.requestContact->show(); } - } + QStandardItemModel* contactRequestOld = new QStandardItemModel(); + + for (auto &c : DataStore::getChatDataStore()->getAllOldContactRequests()) + { + + QStandardItem* Items = new QStandardItem(c.second.getAddress()); + contactRequestOld->appendRow(Items); + requestContact.requestContactOld->setModel(contactRequestOld); + requestContact.requestContactOld->show(); + } + //} QObject::connect(requestContact.requestContact, &QTableView::clicked, [&] () { @@ -113,7 +114,7 @@ void MainWindow::renderContactRequest(){ QString label_contact = index.data(Qt::DisplayRole).toString(); QStandardItemModel* contactMemo = new QStandardItemModel(); - if ((c.second.isOutgoing() == false) && (label_contact == c.second.getAddress()) && (c.second.getType() == "cont")) + if ((c.second.isOutgoing() == false) && (label_contact == c.second.getAddress()) && (c.second.getType() != "Cont")) { @@ -283,7 +284,8 @@ Tx MainWindow::createTxFromChatPage() { qDebug() << "pushback chattx"; - } } + } + } tx.fee = Settings::getMinerFee(); @@ -440,16 +442,14 @@ void::MainWindow::addContact() { QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); request.cid->setText(cid); - - - - - + QObject::connect(request.sendRequestButton, &QPushButton::clicked, [&] () { - + + QString cid = request.cid->text(); auto addr = request.zaddr->text().trimmed(); + QString getrequest = addr; QString newLabel = request.labelRequest->text().trimmed(); auto myAddr = request.myzaddr->text().trimmed(); @@ -494,27 +494,28 @@ void::MainWindow::addContact() { ); return; + }); + + + // QObject::connect(request.sendRequestButton, &QPushButton::clicked, this, &MainWindow::ContactRequest); dialog.exec(); + rpc->refreshContacts( + ui->listContactWidget + + ); } // Create a Tx for a contact Request Tx MainWindow::createTxForSafeContactRequest() { - - Ui_Dialog request; - QDialog dialog(this); - request.setupUi(&dialog); - Settings::saveRestore(&dialog); - + Tx tx; { - - // For each addr/amt in the Chat tab { CAmount totalAmt; QString amtStr = "0"; @@ -525,29 +526,40 @@ Tx tx; totalAmt = totalAmt + amt; - QString cid = request.cid->text(); - QString myAddr = request.myzaddr->text().trimmed(); - QString type = "cont"; - QString addr = request.zaddr->text().trimmed(); + for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) + + if (ui->contactNameMemo->text().trimmed() == c.getName()) { - QString hmemo= createHeaderMemo(type,cid,myAddr); - QString memo = request.memorequest->toPlainText().trimmed(); + QString cid = c.getCid(); + QString myAddr = c.getMyAddress(); + QString type = "Cont"; + QString addr = c.getPartnerAddress(); + + + QString hmemo= createHeaderMemo(type,cid,myAddr); + QString memo = ui->memoTxtChat->toPlainText().trimmed(); + - tx.toAddrs.push_back(ToFields{addr, amt, memo}); - tx.toAddrs.push_back(ToFields{addr, amt, hmemo}); - + // ui->memoSizeChat->setLenDisplayLabel();// Todo -> activate lendisplay for chat + + tx.toAddrs.push_back(ToFields{addr, amt, hmemo}); + tx.toAddrs.push_back(ToFields{addr, amt, memo}); - qDebug() << "pushback chattx"; - - } + + + qDebug() << "pushback chattx"; + tx.fee = Settings::getMinerFee(); + + } } return tx; qDebug() << "RequestTx created"; } +} void MainWindow::ContactRequest() { @@ -671,4 +683,4 @@ QString MainWindow::doSendRequestTxValidations(Tx tx) { } return ""; -} \ No newline at end of file +} diff --git a/src/contactrequest.ui b/src/contactrequest.ui index 9ce3c22..e099111 100644 --- a/src/contactrequest.ui +++ b/src/contactrequest.ui @@ -6,15 +6,15 @@ 0 0 - 780 - 416 + 777 + 427 Send a contact request - + <html><head/><body><p align="right">Choose a avatar for your contact :</p></body></html> @@ -185,9 +185,6 @@ - - - @@ -234,13 +231,6 @@ - - - - Send Contact - - - @@ -265,7 +255,7 @@ sendRequestButton clicked() Dialog - update() + accept() 536 diff --git a/src/controller.cpp b/src/controller.cpp index 534fffe..db895a1 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -102,6 +102,10 @@ void Controller::setConnection(Connection* c) DataStore::getSietchDataStore()->setData("Sietch" + QString(i), zdust.toUtf8()); }); } + refreshContacts( + ui->listContactWidget + + ); } // Build the RPC JSON Parameters for this tx @@ -797,6 +801,7 @@ void Controller::refreshBalances() CAmount balAvailable = balT + balVerified; model->setAvailableBalance(balAvailable); updateUIBalances(); + }); // 2. Get the UTXOs @@ -881,8 +886,8 @@ void Controller::refreshTransactions() { confirmations, true ); - qDebug()<<"Memo : " <setData(ChatIDGenerator::getInstance()->generateID(item), item); @@ -978,8 +983,8 @@ void Controller::refreshTransactions() { confirmations, false ); - qDebug()<< "Position : " << position; - qDebug()<<"Confirmation :" << confirmations; + // qDebug()<< "Position : " << position; + // qDebug()<<"Confirmation :" << confirmations; DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); } @@ -1005,10 +1010,10 @@ void Controller::refreshTransactions() { // Update model data, which updates the table view transactionsTableModel->replaceData(txdata); chat->renderChatBox(ui, ui->listChat); - refreshContacts( - ui->listContactWidget + // refreshContacts( + // ui->listContactWidget - ); + // ); }); } diff --git a/src/mainwindow.h b/src/mainwindow.h index ea0a3a4..4419fcb 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -50,6 +50,7 @@ public: QString doSendTxValidations(Tx tx); QString doSendChatTxValidations(Tx tx); QString doSendRequestTxValidations(Tx tx); + QString getCid(); void replaceWormholeClient(WormholeClient* newClient); bool isWebsocketListening(); diff --git a/src/requestContactDialog.ui b/src/requestContactDialog.ui index b862cda..d2a3b68 100644 --- a/src/requestContactDialog.ui +++ b/src/requestContactDialog.ui @@ -6,350 +6,325 @@ 0 0 - 1011 - 503 + 1025 + 562 Incoming contact request - - - - 9 - 9 - 256 - 461 - - - - true - - - QAbstractItemView::EditKeyPressed|QAbstractItemView::SelectedClicked - - - false - - - QAbstractItemView::SingleSelection - - - - - - 263 - 9 - 741 - 271 - - - - Qt::ScrollBarAlwaysOff - - - Qt::ScrollBarAlwaysOff - - - QAbstractScrollArea::AdjustToContents - - - QAbstractItemView::NoEditTriggers - - - QListView::Adjust - - - 0 - - - false - - - true - - - - - - 276 - 296 - 101 - 17 - - - - Request from : - - - - - - 393 - 296 - 601 - 25 - - - - - - - 276 - 327 - 30 - 17 - - - - Cid : - - - - - - 393 - 327 - 601 - 25 - - - - - - - 276 - 358 - 71 - 17 - - - - My Zaddr : - - - - - - 393 - 358 - 601 - 25 - - - - - - - 276 - 389 - 68 - 17 - - - - Nickname - - - - - - 393 - 389 - 221 - 25 - - - - - - - 276 - 420 - 228 - 17 - - - - <html><head/><body><p align="right">Choose a avatar for your contact :</p></body></html> - - - - - - 510 - 420 - 106 - 25 - - - - - Stag - - - - :/icons/res/Stag.png - - + + + + + <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Open requests</span></p></body></html> + + - - - Elsa - - - - :/icons/res/Elsa.png - - + + + + <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Memo of the request</span></p></body></html> + + - - - Denio - - - - :/icons/res/Denio.png - - + + + + true + + + QAbstractItemView::EditKeyPressed|QAbstractItemView::SelectedClicked + + + false + + + QAbstractItemView::SingleSelection + + - - - Duke - - - - :/icons/res/Duke.png - - + + + + Qt::ScrollBarAlwaysOff + + + Qt::ScrollBarAlwaysOff + + + QAbstractScrollArea::AdjustToContents + + + QAbstractItemView::NoEditTriggers + + + QListView::Adjust + + + 0 + + + false + + + true + + - - - Yoda - - - - :/icons/res/Yoda.png - - + + + + <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Recently closed requests</span></p></body></html> + + - - - Berg - - - - :/icons/res/Berg.png - - + + + + <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Details of the request</span></p></body></html> + + - - - Sharpee - - - - :/icons/res/Sharpee.png - - + + + + true + + + QAbstractItemView::EditKeyPressed|QAbstractItemView::SelectedClicked + + + false + + + QAbstractItemView::SingleSelection + + - - - Garfield - - - - :/icons/res/Garfield.png - - + + + + Request from : + + - - - Snoopy - - - - :/icons/res/Snoopy.png - - + + - - - Popey - - - - :/icons/res/Popey.png - - + + + + Cid : + + - - - Pinguin - - - - :/icons/res/Pinguin.png - - + + - - - Mickey - - - - :/icons/res/Mickey.png - - + + + + My Zaddr : + + - - - SDLogo - - - - :/icons/res/sdlogo2.png - - + + - - - - - 300 - 470 - 80 - 25 - - - - - 100 - 0 - - - - Cancel - - - false - - - - - - 400 - 470 - 101 - 25 - - - - Add Contact - - + + + + Nickname + + + + + + + + + + <html><head/><body><p align="right">Choose a avatar for your contact :</p></body></html> + + + + + + + + Stag + + + + :/icons/res/Stag.png + + + + + + Elsa + + + + :/icons/res/Elsa.png + + + + + + Denio + + + + :/icons/res/Denio.png + + + + + + Duke + + + + :/icons/res/Duke.png + + + + + + Yoda + + + + :/icons/res/Yoda.png + + + + + + Berg + + + + :/icons/res/Berg.png + + + + + + Sharpee + + + + :/icons/res/Sharpee.png + + + + + + Garfield + + + + :/icons/res/Garfield.png + + + + + + Snoopy + + + + :/icons/res/Snoopy.png + + + + + + Popey + + + + :/icons/res/Popey.png + + + + + + Pinguin + + + + :/icons/res/Pinguin.png + + + + + + Mickey + + + + :/icons/res/Mickey.png + + + + + + SDLogo + + + + :/icons/res/sdlogo2.png + + + + + + + + + + 100 + 0 + + + + Cancel + + + false + + + + + + + Add this new Contact + + + + - + + + cancel + clicked() + requestDialog + reject() + + + 339 + 482 + + + 505 + 251 + + + +