Merge pull request #22 from DenioD/chat

Chat
This commit is contained in:
Strider
2020-05-14 18:27:33 +02:00
committed by GitHub
5 changed files with 21 additions and 119 deletions

View File

@@ -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))

View File

@@ -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()))

View File

@@ -87,76 +87,6 @@ void ChatModel::showMessages()
}
void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView &view)
{
/*for(auto &c : this->chatItems)
{
//view.getItems().add(QString("[Timestamp] <Contactname|Me>: 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;

View File

@@ -30,18 +30,13 @@ class ChatModel
ChatModel() {};
ChatModel(std::map<QString, ChatItem> chatItems);
ChatModel(std::vector<ChatItem> chatItems);
//QString generateChatItemID(ChatItem item);
std::map<QString, ChatItem> getItems();
void setItems(std::map<QString, ChatItem> items);
QString zaddr();
void setItems(std::vector<ChatItem> 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);

View File

@@ -856,7 +856,6 @@ void Controller::refreshTransactions() {
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 = "";}
ChatItem item = ChatItem(
datetime,
address,
contact,
QString(""),
memo,
QString(""),
QString(""),
@@ -890,6 +880,7 @@ void Controller::refreshTransactions() {
txid,
true
);
qDebug()<<"Memo : " <<memo;
DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item);
@@ -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();
@@ -961,37 +953,21 @@ void Controller::refreshTransactions() {
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<json::number_integer_t>();
position = it["position"].get<json::number_integer_t>();
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);
}