Browse Source

fix for double outgoing message

pull/130/head
DenioD 4 years ago
parent
commit
78ca3cf8ca
  1. 5
      src/Chat/Chat.cpp
  2. 9
      src/chatmodel.cpp
  3. 37
      src/controller.cpp
  4. 1
      src/mainwindow.cpp
  5. 7
      src/mainwindow.ui

5
src/Chat/Chat.cpp

@ -67,7 +67,8 @@ void Chat::renderChatBox(Ui::MainWindow *ui, QListView *view, QLabel *label)
Items->setData(OUTGOING, Qt::UserRole + 1);
chat->appendRow(Items);
ui->listChat->setModel(chat);
ui->listChat->setModel(chat);
}
else
@ -86,6 +87,8 @@ void Chat::renderChatBox(Ui::MainWindow *ui, QListView *view, QLabel *label)
Items1->setData(INCOMING, Qt::UserRole + 1);
chat->appendRow(Items1);
ui->listChat->setModel(chat);
}
else
{

9
src/chatmodel.cpp

@ -53,7 +53,6 @@ void ChatModel::clear()
void ChatModel::addMessage(ChatItem item)
{
QString key = ChatIDGenerator::getInstance()->generateID(item); //this->generateChatItemID(item);
// qDebug() << "inserting chatitem with id: " << key;
this->chatItems[key] = item;
}
@ -72,9 +71,7 @@ void ChatModel::showMessages()
}
}
void MainWindow::renderContactRequest(){
Ui_requestDialog requestContact;
@ -336,7 +333,9 @@ void MainWindow::sendChat() {
// Memos can only be used with zAddrs. So check that first
// for(auto &c : AddressBook::getInstance()->getAllAddressLabels())
QString Name = ui->contactNameMemo->text();
int sizename = Name.size();
qDebug()<< sizename;
if (ui->contactNameMemo->text().trimmed().isEmpty() || ui->memoTxtChat->toPlainText().trimmed().isEmpty()) {
// auto addr = "";

37
src/controller.cpp

@ -237,18 +237,15 @@ void Controller::getInfoThenRefresh(bool force)
zrpc->fetchInfo([=] (const json& reply) {
prevCallSucceeded = true;
int curBlock = reply["latest_block_height"].get<json::number_integer_t>();
bool doUpdate = force || (model->getLatestBlock() != curBlock);
int difficulty = reply["difficulty"].get<json::number_integer_t>();
int blocks_until_halving= 340000 - curBlock;
int halving_days = (blocks_until_halving * 150) / (60*60*24) ;
int longestchain = reply["longestchain"].get<json::number_integer_t>();
int notarized = reply["notarized"].get<json::number_integer_t>();
int lag = longestchain - notarized ;
qDebug()<<"Lag :" << lag;
int difficulty = reply["difficulty"].get<json::number_integer_t>();
int blocks_until_halving= 340000 - curBlock;
int halving_days = (blocks_until_halving * 150) / (60*60*24) ;
bool doUpdate = force || (model->getLatestBlock() != curBlock);
model->setLatestBlock(curBlock);
if (
Settings::getInstance()->get_currency_name() == "EUR" ||
@ -267,7 +264,7 @@ void Controller::getInfoThenRefresh(bool force)
);
this->setLag(lag);
ui->difficulty->setText(
QLocale(QLocale::German).toString(difficulty)
@ -295,8 +292,6 @@ void Controller::getInfoThenRefresh(bool force)
(QLocale(QLocale::English).toString(blocks_until_halving)) +
" Blocks or , " + (QLocale(QLocale::English).toString(halving_days) + " days" )
);
this->setLag(lag);
}
ui->Version->setText(
@ -305,7 +300,6 @@ void Controller::getInfoThenRefresh(bool force)
ui->Vendor->setText(
QString::fromStdString(reply["vendor"].get<json::string_t>())
);
this->setLag(lag);
main->logger->write(
QString("Refresh. curblock ") % QString::number(curBlock) % ", update=" % (doUpdate ? "true" : "false")
);
@ -553,8 +547,12 @@ void Controller::getInfoThenRefresh(bool force)
refreshAddresses(); // This calls refreshZSentTransactions() and refreshReceivedZTrans()
refreshTransactions();
}
int lag = longestchain - notarized ;
this->setLag(lag);
}, [=](QString err) {
// hushd has probably disappeared.
this->noConnection();
// Prevent multiple dialog boxes, because these are called async
@ -914,6 +912,12 @@ void Controller::refreshTransactions() {
isNotarized = false;
}
if (confirmations == 1) {
DataStore::getChatDataStore()->clear();
this->refresh(true);
}
qDebug()<<"Conf : " << confirmations;
ChatItem item = ChatItem(
datetime,
address,
@ -927,12 +931,10 @@ void Controller::refreshTransactions() {
true,
isNotarized
);
// qDebug()<<"Memo : " <<memo;
qDebug()<< "Notarized Outgoing : " << isNotarized;
DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item);
}
}
items.push_back(TransactionItemDetail{address, amount, memo});
total_amount = total_amount + amount;
@ -1038,7 +1040,6 @@ void Controller::refreshTransactions() {
isNotarized
);
qDebug()<< "Notarized : " << isNotarized;
// qDebug()<<"Confirmation :" << confirmations;
DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item);
}

1
src/mainwindow.cpp

@ -1208,6 +1208,7 @@ void MainWindow::setupTransactionsTab() {
ui->listChat->setMinimumSize(200,350);
ui->listChat->setItemDelegate(new ListViewDelegate());
ui->listChat->show();
ui->transactionsTable->setContextMenuPolicy(Qt::CustomContextMenu);
// Table right click
QObject::connect(ui->transactionsTable, &QTableView::customContextMenuRequested, [=] (QPoint pos) {

7
src/mainwindow.ui

@ -1378,7 +1378,10 @@
<bool>true</bool>
</property>
<property name="editTriggers">
<set>QAbstractItemView::EditKeyPressed|QAbstractItemView::SelectedClicked</set>
<set>QAbstractItemView::NoEditTriggers</set>
</property>
<property name="showDropIndicator" stdset="0">
<bool>false</bool>
</property>
<property name="alternatingRowColors">
<bool>false</bool>
@ -1518,7 +1521,7 @@
<enum>QAbstractScrollArea::AdjustToContents</enum>
</property>
<property name="editTriggers">
<set>QAbstractItemView::AllEditTriggers</set>
<set>QAbstractItemView::NoEditTriggers</set>
</property>
<property name="resizeMode">
<enum>QListView::Adjust</enum>

Loading…
Cancel
Save