diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 7ca3090..7b656f7 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -97,21 +97,39 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView &view) void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) { - // QStandardItemModel mymodel; - // QStandardItem* Items = new QStandardItem(myString); - QStandardItemModel* myModel = new QStandardItemModel(); - for(auto &c : this->chatItems) + + + QStandardItemModel* myModel = new QStandardItemModel(); + + + for (auto &c : this->chatItems) + for (auto &p : AddressBook::getInstance()->getAllAddressLabels()) { + + + //////Render only Memos for selected contacts. Do not render empty Memos //// Render only memos where cid=cid - /// if ( - (ui->ContactZaddr->text().trimmed() == c.second.getAddress()) && - (c.second.getMemo().startsWith("{") == false) && - (c.second.getMemo().isEmpty() == false) + (ui->contactNameMemo->text().trimmed() == c.second.getContact()) && + (c.second.getMemo().startsWith("{") == false) && + (c.second.getMemo().isEmpty() == false) && + (p.getPartnerAddress() == c.second.getAddress()) + ) - { + { + // for (auto &p : AddressBook::getInstance()->getAllAddressLabels()) + + + // { + // if ((ui->checkBox->isChecked() == true) && (p.getCid() != c.second.getCid())) + + // { + + // } + + QStandardItem* Items = new QStandardItem(c.second.toChatLine()); Items->setData("Incoming", Qt::UserRole +1); myModel->appendRow(Items); @@ -120,14 +138,14 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) ui->listChat->setMinimumSize(200,350); ui->listChat->setItemDelegate(new ListViewDelegate()); ui->listChat->show(); - } - - + } + if ( - (ui->MyZaddr->text().trimmed() == c.second.getAddress()) && + (ui->contactNameMemo->text().trimmed() == c.second.getContact()) && (c.second.getMemo().startsWith("{") == false) && - (c.second.getMemo().isEmpty() == false) + (c.second.getMemo().isEmpty() == false) && + (p.getMyAddress() == c.second.getAddress()) ) { @@ -141,22 +159,9 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) ui->listChat->setMinimumSize(200,350); ui->listChat->setItemDelegate(new ListViewDelegate()); ui->listChat->show(); - } - - - /////////////////////////Render only when CID=CID? - - // for(auto &p : AddressBook::getInstance()->getAllAddressLabels()) - // { - // if ((ui->checkBox->isChecked() == true) && (p.getCid() != c.second.getCid())) - // { - - - //} - // - - + } + } @@ -223,7 +228,7 @@ Tx MainWindow::createTxFromChatPage() { for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) - if (ui->ContactZaddr->text().trimmed() == c.getPartnerAddress()) { + if (ui->contactNameMemo->text().trimmed() == c.getName()) { QString cid = c.getCid(); QString myAddr = c.getMyAddress(); @@ -233,6 +238,7 @@ Tx MainWindow::createTxFromChatPage() { QString hmemo= createHeaderMemo(type,cid,myAddr); QString memo = ui->memoTxtChat->toPlainText().trimmed(); + // ui->memoSizeChat->setLenDisplayLabel();// Todo -> activate lendisplay for chat tx.toAddrs.push_back(ToFields{addr, amt, hmemo}) ; @@ -261,7 +267,7 @@ void MainWindow::sendChatButton() { // Memos can only be used with zAddrs. So check that first // for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) - if (ui->ContactZaddr->text().trimmed().isEmpty() || ui->memoTxtChat->toPlainText().trimmed().isEmpty()) { + if (ui->contactNameMemo->text().trimmed().isEmpty() || ui->memoTxtChat->toPlainText().trimmed().isEmpty()) { // auto addr = ""; // if (! Settings::isZAddress(AddressBook::addressFromAddressLabel(addr->text()))) { @@ -397,7 +403,7 @@ Tx MainWindow::createTxForSafeContactRequest() { for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) - if (ui->ContactZaddr->text().trimmed() == c.getName()) { + if (ui->contactNameMemo->text().trimmed() == c.getName()) { // QString cid = c.getCid(); // This has to be a new cid for the contact // QString myAddr = c.getMyAddress(); // this should be a new HushChat zaddr @@ -426,9 +432,6 @@ Tx MainWindow::createTxForSafeContactRequest() { //////////////////De-activated for now/////////////////// void MainWindow::safeContactRequest() { - - - ////////////////////////////Todo: Check if its a zaddr////////// // Create a Tx from the values on the send tab. Note that this Tx object diff --git a/src/controller.cpp b/src/controller.cpp index 50db859..7db0ff0 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -881,24 +881,34 @@ void Controller::refreshTransactions() { memo = QString::fromStdString(o["memo"]); QString cid; + QString contact; + for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) - if ((ui->ContactZaddr->text().trimmed() == c.getPartnerAddress()) || (ui->MyZaddr->text().trimmed() == c.getMyAddress())) { + { + if (ui->contactNameMemo->text().trimmed() == c.getName()) { cid = c.getCid(); - }else {cid = "";} + }else {cid = "";} + + if (address == c.getPartnerAddress()){ + contact = c.getName(); + }else{ contact = "";} + ChatItem item = ChatItem( datetime, address, - QString(""), + contact, memo, cid, // we have to set the cid here, its included in our Addressbook for this contact txid, true // is an outgoing message ); chatModel->addMessage(item); - } - + + } + + } items.push_back(TransactionItemDetail{address, amount, memo}); total_amount = total_amount + amount; @@ -912,7 +922,6 @@ void Controller::refreshTransactions() { }else{ - addresses.push_back(item.address); } } @@ -957,19 +966,34 @@ void Controller::refreshTransactions() { else cid = ""; } - + + QString contact; + for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) + // for (auto &p : this->chatItems) + { + + if (address == c.getMyAddress()){ + contact = c.getName(); + qDebug()<< "Addressbuch Addresse: " << c.getMyAddress(); + qDebug()<< "Addresse: " << address; + + }else{ contact = "ELSE";} + ChatItem item = ChatItem( datetime, address, - QString(""), + contact, memo, cid, // we have to set the cid here, its included in the headermemo txid, false ); - // qDebug()<< "Message CID: " << cid; - chatModel->addMessage(item); + // qDebug()<< "KontaktName: " << contact; + + // qDebug()<< "Addressbuch Addresse: " << c.getMyAddress(); + chatModel->addMessage(item); +} } } diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 254798f..0d1e984 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -39,8 +39,12 @@ MainWindow::MainWindow(QWidget *parent) : ui->setupUi(this); - ui->checkBox->setChecked(true); + // ui->checkBox->setChecked(true); logger = new Logger(this, QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)).filePath("silentdragonlite-wallet.log")); + ui->memoTxtChat->setAutoFillBackground(false); + // ui->memoTxtChat->setStyleSheet(QString::fromUtf8("background-color: rgb(224, 224, 224);")); + ui->memoTxtChat->setPlaceholderText("Send Message"); + ui->memoTxtChat->setTextColor(Qt::white); // Status Bar setupStatusBar(); @@ -994,109 +998,22 @@ void MainWindow::setupchatTab() { QObject::connect(ui->listContactWidget, &QTableView::clicked, [=] () { - QStandardItemModel mymodel; - - // for(auto &c : this->chatItems) - //{ - //////Render only Memos for selected contacts. Do not render empty Memos //// Render only memos where cid=cid - - /// - // if ( - // (ui->ContactZaddr->text().trimmed() == c.second.getAddress()) && - // (c.second.getMemo().startsWith("{") == false) && - // (c.second.getMemo().isEmpty() == false) - // ) - // { - // if (c.second.getMemo.find()) - - //view->addItem(line); - - // QStandardItem *item1 = new QStandardItem(c.second.toChatLine()); - // item1->setData("Incoming", Qt::UserRole + 1); - // model.appendRow(item1); - - QStandardItem *item1 = new QStandardItem("Kacke Hier"); - item1->setData("Incoming", Qt::UserRole +1); - mymodel.appendRow(item1); - qDebug()<text(); - - - QStandardItem *item2 = new QStandardItem("This is item one"); - item2->setData("Outgoing", Qt::UserRole +1); - mymodel.appendRow(item2); - qDebug()<text(); - - QStandardItem *item3 = new QStandardItem("This is item one"); - item3->setData("Outgoing", Qt::UserRole +1); - mymodel.appendRow(item3); - qDebug()<text(); - - // QStandardItem *item2 = new QStandardItem("Hallo"); - // item1->setData("Outgoing", Qt::UserRole + 1); - // mymodel.appendRow(item2); - // qDebug()<text(); - - ////////////////////////////////// Todo : Render green checkmark for contacts if cid = cid - We have to search for cid in txid/cid list - // QString cid = c.second.getCid(); - - // } - - // if ( - // (ui->MyZaddr->text().trimmed() == c.second.getAddress()) && - // (c.second.getMemo().startsWith("{") == false) && - // (c.second.getMemo().isEmpty() == false) - // ) - // { - - - // for(auto &p : AddressBook::getInstance()->getAllAddressLabels()) - // { - - // if ((ui->checkBox->isChecked() == true) && (p.getCid() != c.second.getCid())) - // { - - - //} - // else - // { - // line+= QString("[") + "Warning. Not verified!" + QString("]"); - // QStandardItem *item = new QStandardItem(c.second.toChatLine()); - //view->addItem(line); - // model.appendRow(item); - // } - -// } - - //} - - // } - - - - - ui->listChat->setModel(&mymodel); - ui->listChat->setItemDelegate(new ListViewDelegate()); - ui->listChat->show(); - //ui->listChat->update(); - QModelIndex index = ui->listContactWidget->currentIndex(); QString label_contact = index.data(Qt::DisplayRole).toString(); for(auto &p : AddressBook::getInstance()->getAllAddressLabels()) if (label_contact == p.getName()) { - ui->ContactZaddr->setText(p.getPartnerAddress()); - ui->MyZaddr->setText(p.getMyAddress()); + // ui->ContactZaddr->setText(p.getPartnerAddress()); + // ui->MyZaddr->setText(p.getMyAddress()); ui->contactNameMemo->setText(p.getName()); - ui->contactCid->setText(p.getCid()); + ui->memoTxtChat->clear(); rpc->refresh(true); - updateChat(); + // updateChat(); } }); - - } ChatMemoEdit::ChatMemoEdit(QWidget* parent) : QPlainTextEdit(parent) { diff --git a/src/mainwindow.ui b/src/mainwindow.ui index fb02214..0c6d66b 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1351,21 +1351,24 @@ <html><head/><body><p align="center">Hushchat Contactlist</p></body></html> - + 340 - 410 + 460 921 - 128 + 131 + + font: 11pt "Noto Color Emoji"; + - 1200 - 540 + 1190 + 610 47 17 @@ -1393,8 +1396,8 @@ - 1130 - 590 + 710 + 610 114 25 @@ -1412,45 +1415,6 @@ false - - - - 350 - 550 - 81 - 17 - - - - Send To : - - - - - - 350 - 580 - 81 - 17 - - - - <html><head/><body><p>My zaddr :</p></body></html> - - - - - - 420 - 550 - 691 - 20 - - - - - - @@ -1473,58 +1437,6 @@ false - - - - 420 - 580 - 691 - 20 - - - - - - - - - - 720 - 20 - 331 - 20 - - - - <html><head/><body><p align="center"><br/></p></body></html> - - - - - - 590 - 20 - 131 - 20 - - - - <html><head/><body><p align="center">Conversation ID:</p></body></html> - - - - - - 980 - 0 - 271 - 23 - - - - Render only authenticated messages - - @@ -1544,7 +1456,7 @@ 340 40 921 - 371 + 421 @@ -1572,6 +1484,19 @@ true + + + + 340 + 430 + 911 + 31 + + + + Qt::Horizontal + + @@ -1743,11 +1668,6 @@ - - MemoEdit - QPlainTextEdit -
memoedit.h
-
AddressCombo QComboBox