@@ -8,8 +8,11 @@
|
||||
#include "ui_memodialog.h"
|
||||
#include "addressbook.h"
|
||||
#include <QUuid>
|
||||
#include <bits/stdc++.h>
|
||||
#include <boost/algorithm/string.hpp>
|
||||
|
||||
|
||||
using namespace std;
|
||||
using namespace boost;
|
||||
|
||||
ChatModel::ChatModel(std::map<long, ChatItem> chatItems)
|
||||
{
|
||||
@@ -89,13 +92,18 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListWidget *view)
|
||||
|
||||
myDateTime.setTime_t(c.second.getTimestamp());
|
||||
|
||||
//////Render only Memos for selected contacts. Do not render empty Memos
|
||||
//////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())
|
||||
line += QString("[") + myDateTime.toString("dd.MM.yyyy hh:mm:ss ") + QString("] ");
|
||||
line += QString("<") + QString("Outgoing") + QString("> :\n");
|
||||
line += QString(c.second.getMemo()) + QString("\n");
|
||||
view->addItem(line);
|
||||
line ="";
|
||||
|
||||
////////////////////////////////// Todo : Render green checkmark for contacts if cid = cid - We have to search for cid in txid/cid list
|
||||
QString cid = c.second.getCid();
|
||||
|
||||
}else{}
|
||||
|
||||
if ((ui->MyZaddr->text().trimmed() == c.second.getAddress()) && (c.second.getMemo().startsWith("{") == false) && (c.second.getMemo().isEmpty() == false)){
|
||||
|
||||
@@ -17,27 +17,33 @@ class ChatItem
|
||||
QString _address;
|
||||
QString _contact;
|
||||
QString _memo;
|
||||
QString _cid;
|
||||
QString _txid;
|
||||
bool _outgoing = false;
|
||||
|
||||
public:
|
||||
ChatItem() {}
|
||||
|
||||
ChatItem(long timestamp, QString address, QString contact, QString memo)
|
||||
ChatItem(long timestamp, QString address, QString contact, QString memo, QString cid, QString txid)
|
||||
{
|
||||
_timestamp = timestamp;
|
||||
_address = address;
|
||||
_contact = contact;
|
||||
_memo = memo;
|
||||
_cid = cid;
|
||||
_txid = txid;
|
||||
_outgoing = false;
|
||||
|
||||
}
|
||||
|
||||
ChatItem(long timestamp, QString address, QString contact, QString memo, bool outgoing)
|
||||
ChatItem(long timestamp, QString address, QString contact, QString memo, QString cid, QString txid, bool outgoing)
|
||||
{
|
||||
_timestamp = timestamp;
|
||||
_address = address;
|
||||
_contact = contact;
|
||||
_memo = memo;
|
||||
_cid = cid;
|
||||
_txid = txid;
|
||||
_outgoing = outgoing;
|
||||
|
||||
}
|
||||
@@ -62,6 +68,16 @@ class ChatItem
|
||||
return _memo;
|
||||
}
|
||||
|
||||
QString getCid()
|
||||
{
|
||||
return _cid;
|
||||
}
|
||||
|
||||
QString getTxid()
|
||||
{
|
||||
return _txid;
|
||||
}
|
||||
|
||||
bool isOutgoing()
|
||||
{
|
||||
return _outgoing;
|
||||
@@ -87,6 +103,15 @@ class ChatItem
|
||||
_memo = memo;
|
||||
}
|
||||
|
||||
void setCid(QString cid)
|
||||
{
|
||||
_cid = cid;
|
||||
}
|
||||
void setTxid(QString txid)
|
||||
{
|
||||
_txid = txid;
|
||||
}
|
||||
|
||||
void toggleOutgo()
|
||||
{
|
||||
_outgoing = true;
|
||||
|
||||
@@ -884,7 +884,9 @@ void Controller::refreshTransactions() {
|
||||
datetime,
|
||||
address,
|
||||
QString(""),
|
||||
memo
|
||||
memo,
|
||||
"", // we have to set the cid here, its included in our Addressbook for this contact
|
||||
txid
|
||||
// true // is an outgoing message
|
||||
);
|
||||
chatModel->addMessage(item);
|
||||
@@ -922,19 +924,30 @@ void Controller::refreshTransactions() {
|
||||
if (!it["memo"].is_null()) {
|
||||
memo = QString::fromStdString(it["memo"]);
|
||||
}
|
||||
|
||||
|
||||
TransactionItem tx{
|
||||
"Receive", datetime, address, txid,confirmations, items
|
||||
};
|
||||
|
||||
txdata.push_back(tx);
|
||||
|
||||
QString cid;
|
||||
if (memo.startsWith("{")) {
|
||||
|
||||
cid = memo.mid(14,36);
|
||||
|
||||
}else{ cid = "";}
|
||||
|
||||
ChatItem item = ChatItem(
|
||||
datetime,
|
||||
address,
|
||||
QString(""),
|
||||
memo
|
||||
memo,
|
||||
cid, // we have to set the cid here, its included in the headermemo
|
||||
txid
|
||||
);
|
||||
qDebug()<<cid;
|
||||
qDebug()<<txid;
|
||||
chatModel->addMessage(item);
|
||||
|
||||
items.push_back(TransactionItemDetail{
|
||||
|
||||
@@ -1001,6 +1001,7 @@ void MainWindow::setupchatTab() {
|
||||
ui->ContactZaddr->setText(p.getPartnerAddress());
|
||||
ui->MyZaddr->setText(p.getMyAddress());
|
||||
ui->contactNameMemo->setText(p.getName());
|
||||
ui->contactCid->setText(p.getCid());
|
||||
|
||||
rpc->refresh(true);
|
||||
}
|
||||
|
||||
@@ -1524,6 +1524,19 @@
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="contactCid">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>870</x>
|
||||
<y>90</y>
|
||||
<width>331</width>
|
||||
<height>20</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string><html><head/><body><p align="center"><br/></p></body></html></string>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
|
||||
Reference in New Issue
Block a user