From db87dab03bb6ec6aab64e9bc73410bad146763d8 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 25 Apr 2020 18:30:49 +0200 Subject: [PATCH 001/256] initial HushChat push: Add HushChat tab and a few QWidgets - work in progress --- src/mainwindow.ui | 126 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 125 insertions(+), 1 deletion(-) diff --git a/src/mainwindow.ui b/src/mainwindow.ui index d7caf5d..f54a0a2 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -22,7 +22,7 @@ - 0 + 5 @@ -1324,6 +1324,125 @@ + + + HushChat + + + + + 0 + 80 + 341 + 561 + + + + + + + 6 + 40 + 311 + 20 + + + + <html><head/><body><p align="center">Contact</p></body></html> + + + + + + 340 + 80 + 871 + 361 + + + + + + + 357 + 460 + 329 + 17 + + + + Memo + + + + + + 357 + 483 + 851 + 128 + + + + + + + 360 + 620 + 158 + 25 + + + + Include Reply Address + + + + + + 692 + 618 + 189 + 25 + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + 1110 + 460 + 91 + 17 + + + + 0 / 512 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + 340 + 50 + 861 + 20 + + + + <html><head/><body><p align="center">Messages</p></body></html> + + + @@ -1509,6 +1628,11 @@ QLabel
fillediconlabel.h
+ + MemoEdit + QPlainTextEdit +
memoedit.h
+
Address1 From d398709da95d30760da6c466e65b7d1d1ac9f0e4 Mon Sep 17 00:00:00 2001 From: Strider Date: Sat, 25 Apr 2020 20:30:53 +0200 Subject: [PATCH 002/256] update// added speechbubble wigdets --- silentdragon-lite.pro | 12 ++++++--- src/chatbubbleme.cpp | 14 ++++++++++ src/chatbubbleme.h | 22 +++++++++++++++ src/chatbubbleme.ui | 57 +++++++++++++++++++++++++++++++++++++++ src/chatbubblepartner.cpp | 14 ++++++++++ src/chatbubblepartner.h | 22 +++++++++++++++ src/chatbubblepartner.ui | 57 +++++++++++++++++++++++++++++++++++++++ src/mainwindow.ui | 16 +++++------ 8 files changed, 203 insertions(+), 11 deletions(-) create mode 100644 src/chatbubbleme.cpp create mode 100644 src/chatbubbleme.h create mode 100644 src/chatbubbleme.ui create mode 100644 src/chatbubblepartner.cpp create mode 100644 src/chatbubblepartner.h create mode 100644 src/chatbubblepartner.ui diff --git a/silentdragon-lite.pro b/silentdragon-lite.pro index cc9092d..e8c50d5 100644 --- a/silentdragon-lite.pro +++ b/silentdragon-lite.pro @@ -65,7 +65,9 @@ SOURCES += \ src/datamodel.cpp \ src/controller.cpp \ src/liteinterface.cpp \ - src/camount.cpp + src/camount.cpp \ + src/chatbubbleme.cpp \ + src/chatbubblepartner.cpp HEADERS += \ src/firsttimewizard.h \ @@ -94,7 +96,9 @@ HEADERS += \ src/controller.h \ src/liteinterface.h \ src/camount.h \ - lib/silentdragonlitelib.h + lib/silentdragonlitelib.h \ + src/chatbubbleme.h \ + src/chatbubblepartner.h FORMS += \ src/encryption.ui \ @@ -117,7 +121,9 @@ FORMS += \ src/recurringdialog.ui \ src/newrecurring.ui \ src/requestdialog.ui \ - src/recurringmultiple.ui + src/recurringmultiple.ui \ + src/chatbubbleme.ui \ + src/chatbubblepartner.ui TRANSLATIONS = res/silentdragonlite_es.ts \ diff --git a/src/chatbubbleme.cpp b/src/chatbubbleme.cpp new file mode 100644 index 0000000..1f17250 --- /dev/null +++ b/src/chatbubbleme.cpp @@ -0,0 +1,14 @@ +#include "chatbubbleme.h" +#include "ui_chatbubbleme.h" + +ChatBubbleMe::ChatBubbleMe(QWidget *parent) : + QWidget(parent), + ui(new Ui::ChatBubbleMe) +{ + ui->setupUi(this); +} + +ChatBubbleMe::~ChatBubbleMe() +{ + delete ui; +} diff --git a/src/chatbubbleme.h b/src/chatbubbleme.h new file mode 100644 index 0000000..86e9c6f --- /dev/null +++ b/src/chatbubbleme.h @@ -0,0 +1,22 @@ +#ifndef CHATBUBBLEME_H +#define CHATBUBBLEME_H + +#include + +namespace Ui { +class ChatBubbleMe; +} + +class ChatBubbleMe : public QWidget +{ + Q_OBJECT + +public: + explicit ChatBubbleMe(QWidget *parent = nullptr); + ~ChatBubbleMe(); + +private: + Ui::ChatBubbleMe *ui; +}; + +#endif // CHATBUBBLEME_H diff --git a/src/chatbubbleme.ui b/src/chatbubbleme.ui new file mode 100644 index 0000000..f35baaa --- /dev/null +++ b/src/chatbubbleme.ui @@ -0,0 +1,57 @@ + + + ChatBubbleMe + + + + 0 + 0 + 646 + 76 + + + + Form + + + QWidget{ + background: whitesmoke; + border: 1px solid #afafaf; + border-radius: 3px; +} +QLabel +{ + background: none; + border: none; +} + + + + + 10 + 30 + 611 + 41 + + + + Lorem ipsum dolor sit amet + + + + + + 10 + 10 + 611 + 17 + + + + 12/03/2020 12:34 + + + + + + diff --git a/src/chatbubblepartner.cpp b/src/chatbubblepartner.cpp new file mode 100644 index 0000000..690f608 --- /dev/null +++ b/src/chatbubblepartner.cpp @@ -0,0 +1,14 @@ +#include "chatbubblepartner.h" +#include "ui_chatbubblepartner.h" + +ChatBubblePartner::ChatBubblePartner(QWidget *parent) : + QWidget(parent), + ui(new Ui::ChatBubblePartner) +{ + ui->setupUi(this); +} + +ChatBubblePartner::~ChatBubblePartner() +{ + delete ui; +} diff --git a/src/chatbubblepartner.h b/src/chatbubblepartner.h new file mode 100644 index 0000000..feb950b --- /dev/null +++ b/src/chatbubblepartner.h @@ -0,0 +1,22 @@ +#ifndef CHATBUBBLEPARTNER_H +#define CHATBUBBLEPARTNER_H + +#include + +namespace Ui { +class ChatBubblePartner; +} + +class ChatBubblePartner : public QWidget +{ + Q_OBJECT + +public: + explicit ChatBubblePartner(QWidget *parent = nullptr); + ~ChatBubblePartner(); + +private: + Ui::ChatBubblePartner *ui; +}; + +#endif // CHATBUBBLEPARTNER_H diff --git a/src/chatbubblepartner.ui b/src/chatbubblepartner.ui new file mode 100644 index 0000000..4decec9 --- /dev/null +++ b/src/chatbubblepartner.ui @@ -0,0 +1,57 @@ + + + ChatBubblePartner + + + + 0 + 0 + 646 + 76 + + + + Form + + + QWidget{ + background: #c8e1ff; + border: 1px solid #fefefe; + border-radius: 3px; +} +QLabel +{ + background: none; + border: none; +} + + + + + 10 + 30 + 611 + 41 + + + + Lorem ipsum dolor sit amet + + + + + + 10 + 10 + 611 + 17 + + + + 12/03/2020 12:34 + + + + + + diff --git a/src/mainwindow.ui b/src/mainwindow.ui index f54a0a2..5ccfb7a 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1356,7 +1356,7 @@ 340 80 - 871 + 908 361 @@ -1379,7 +1379,7 @@ 357 483 - 851 + 891 128 @@ -1416,7 +1416,7 @@ - 1110 + 1150 460 91 17 @@ -1613,6 +1613,11 @@ + + MemoEdit + QPlainTextEdit +
memoedit.h
+
AddressCombo QComboBox @@ -1628,11 +1633,6 @@ QLabel
fillediconlabel.h
- - MemoEdit - QPlainTextEdit -
memoedit.h
-
Address1 From 8793d96e39c79d5b1ef77b8565a47b598a9ecef4 Mon Sep 17 00:00:00 2001 From: Strider Date: Sun, 26 Apr 2020 11:03:22 +0200 Subject: [PATCH 003/256] update// changed small things of chat tab --- src/mainwindow.ui | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 5ccfb7a..a43877e 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1360,6 +1360,9 @@ 361 + + QListView::Adjust + From 22cc12212002af83b68f254aedbd1b9d20898546 Mon Sep 17 00:00:00 2001 From: Strider Date: Sun, 26 Apr 2020 21:50:49 +0200 Subject: [PATCH 004/256] update// addec chatmodel.h chatmodel.cpp to realize the whole chat history --- silentdragon-lite.pro | 6 ++- src/chatmodel.cpp | 49 ++++++++++++++++++++++ src/chatmodel.h | 94 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 147 insertions(+), 2 deletions(-) create mode 100644 src/chatmodel.cpp create mode 100644 src/chatmodel.h diff --git a/silentdragon-lite.pro b/silentdragon-lite.pro index e8c50d5..b692159 100644 --- a/silentdragon-lite.pro +++ b/silentdragon-lite.pro @@ -67,7 +67,8 @@ SOURCES += \ src/liteinterface.cpp \ src/camount.cpp \ src/chatbubbleme.cpp \ - src/chatbubblepartner.cpp + src/chatbubblepartner.cpp \ + src/chatmodel.cpp HEADERS += \ src/firsttimewizard.h \ @@ -98,7 +99,8 @@ HEADERS += \ src/camount.h \ lib/silentdragonlitelib.h \ src/chatbubbleme.h \ - src/chatbubblepartner.h + src/chatbubblepartner.h \ + src/chatmodel.h FORMS += \ src/encryption.ui \ diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp new file mode 100644 index 0000000..b65bd4a --- /dev/null +++ b/src/chatmodel.cpp @@ -0,0 +1,49 @@ +#include "chatmodel.h" + +ChatModel::ChatModel(std::map chatItems) +{ + this->chatItems = chatItems; +} + +ChatModel::ChatModel(std::vector chatItems) +{ + this->setItems(chatItems); +} + +std::map ChatModel::getItems() +{ + return this->chatItems; +} + +void ChatModel::setItems(std::map items) +{ + this->chatItems = chatItems; +} + +void ChatModel::setItems(std::vector items) +{ + for(ChatItem c : items) + { + this->chatItems[c.getTimestamp()] = c; + } +} + +void ChatModel::renderChatBox(QListView &view) +{ + for(ChatItem c : items) + { + view.getItems().add(QString("[Timestamp] : lorem ipsum ....")); + } + + //todo render items to view +} + +void ChatModel::renderChatBox(QListView *view) +{ + for(ChatItem c : items) + { + view->getItems().add(QString("[Timestamp] : lorem ipsum ....")); + } + + //todo render items to view +} \ No newline at end of file diff --git a/src/chatmodel.h b/src/chatmodel.h new file mode 100644 index 0000000..5dd8904 --- /dev/null +++ b/src/chatmodel.h @@ -0,0 +1,94 @@ +#include +#include +#include +#include + +class ChatItem +{ + private: + long timestamp; + std::string address; + std::string contact; + std::string memo; + bool outgoing = false; + + public: + ChatItem() {} + ChatItem(long timestamp, std::string address, std::string contact, std::string memo); + ChatItem(long timestamp, std::string address, std::string contact, std::string memo, bool outgoing = false); + + long getTimestamp() + { + return this->timestamp; + } + + std::string getAddress() + { + return this->address; + } + + std::string getContact() + { + return this->contact; + } + + std::string getMemo() + { + return this->memo; + } + + bool isOutgoing() + { + return this->outgoing; + } + + void setTimestamp(long timestamp) + { + this->timestamp = timestamp; + } + + void setAddress(std::string address) + { + this->address = address; + } + + void setContact(std::string contact) + { + this->contact = contact; + } + + void setMemo(std::string memo) + { + this->memo = memo; + } + + void toggleOutgo() + { + this->outgoing = true; + } + + ~ChatItem() + { + delete timestamp; + delete address; + delete contact; + delete memo; + delete outgoing; + } +}; + +class ChatModel +{ + private: + std::map chatItems; + + public: + ChatModel() {}; + ChatModel(std::map chatItems); + ChatModel(std::vector chatItems); + std::map getItems(); + void setItems(std::map items); + void setItems(std::vector items); + void renderChatBox(QListView &view); + void renderChatBox(QListView *view); +}; \ No newline at end of file From 008d3fd6c2fbe22c68e188f076c70d1aab0d45bf Mon Sep 17 00:00:00 2001 From: Strider Date: Sun, 26 Apr 2020 22:28:27 +0200 Subject: [PATCH 005/256] update// fixed stuff --- src/chatmodel.cpp | 39 +++++++++++++++++++++++++++++++-------- src/chatmodel.h | 32 ++++++++++++++++++-------------- src/controller.cpp | 24 +++++++++++++++++++++++- src/controller.h | 3 +++ 4 files changed, 75 insertions(+), 23 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index b65bd4a..f6fbb84 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -28,22 +28,45 @@ void ChatModel::setItems(std::vector items) } } -void ChatModel::renderChatBox(QListView &view) +void ChatModel::clear() { - for(ChatItem c : items) + this->chatItems.clear(); +} + +void ChatModel::addMessage(ChatItem item) +{ + this->chatItems[item.getTimestamp()] = item; +} + +void ChatModel::addMessage(long timestamp, ChatItem item) +{ + this->chatItems[timestamp] = item; +} + +void ChatModel::showMessages() +{ + for(auto &c : this->chatItems) { - view.getItems().add(QString("[Timestamp] : lorem ipsum ....")); + qDebug() << "[" << c.second.getTimestamp() << "] " << "<" << c.second.getAddress() << "> :" << c.second.getMemo(); } - +} + +void ChatModel::renderChatBox(QListView &view) +{ + /*for(auto &c : this->chatItems) + { + //view.getItems().add(QString("[Timestamp] : lorem ipsum ....")); + }*/ + qDebug() << "not implemented yet"; //todo render items to view } void ChatModel::renderChatBox(QListView *view) { - for(ChatItem c : items) + /*for(auto &c : this->chatItems) { - view->getItems().add(QString("[Timestamp] : lorem ipsum ....")); - } - + //view->getItems().add(QString("[Timestamp] : lorem ipsum ....")); + }*/ + qDebug() << "not implemented yet blyat"; //todo render items to view } \ No newline at end of file diff --git a/src/chatmodel.h b/src/chatmodel.h index 5dd8904..5a35db9 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -1,4 +1,4 @@ -#include +#include #include #include #include @@ -7,32 +7,32 @@ class ChatItem { private: long timestamp; - std::string address; - std::string contact; - std::string memo; + QString address; + QString contact; + QString memo; bool outgoing = false; public: ChatItem() {} - ChatItem(long timestamp, std::string address, std::string contact, std::string memo); - ChatItem(long timestamp, std::string address, std::string contact, std::string memo, bool outgoing = false); + ChatItem(long timestamp, QString address, QString contact, QString memo); + ChatItem(long timestamp, QString address, QString contact, QString memo, bool outgoing = false); long getTimestamp() { return this->timestamp; } - std::string getAddress() + QString getAddress() { return this->address; } - std::string getContact() + QString getContact() { return this->contact; } - std::string getMemo() + QString getMemo() { return this->memo; } @@ -47,17 +47,17 @@ class ChatItem this->timestamp = timestamp; } - void setAddress(std::string address) + void setAddress(QString address) { this->address = address; } - void setContact(std::string contact) + void setContact(QString contact) { this->contact = contact; } - void setMemo(std::string memo) + void setMemo(QString memo) { this->memo = memo; } @@ -69,11 +69,11 @@ class ChatItem ~ChatItem() { - delete timestamp; + /*delete timestamp; delete address; delete contact; delete memo; - delete outgoing; + delete outgoing;*/ } }; @@ -91,4 +91,8 @@ class ChatModel void setItems(std::vector items); void renderChatBox(QListView &view); void renderChatBox(QListView *view); + void showMessages(); + void clear(); + void addMessage(ChatItem item); + void addMessage(long timestamp, ChatItem item); }; \ No newline at end of file diff --git a/src/controller.cpp b/src/controller.cpp index 18a158e..0661b06 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -876,7 +876,18 @@ void Controller::refreshTransactions() QString memo; if (!o["memo"].is_null()) + { + ChatItem item = ChatItem( + datetime, + address, + QString(""), + memo, + true // is an outgoing message + ); + chatModel->addMessage(item); memo = QString::fromStdString(o["memo"]); + } + items.push_back(TransactionItemDetail{address, amount, memo}); total_amount = total_amount + amount; @@ -913,6 +924,15 @@ void Controller::refreshTransactions() model->markAddressUsed(address); QString memo; if (!it["memo"].is_null()) + { + ChatItem item = ChatItem( + datetime, + address, + QString(""), + memo + ); + chatModel->addMessage(item); + } memo = QString::fromStdString(it["memo"]); items.push_back( @@ -958,7 +978,9 @@ void Controller::refreshTransactions() updateUIBalances(); // Update model data, which updates the table view - transactionsTableModel->replaceData(txdata); + transactionsTableModel->replaceData(txdata); + //chatModel->renderChatBox(); + chatModel->showMessages(); }); } diff --git a/src/controller.h b/src/controller.h index 29d5c0d..5071dee 100644 --- a/src/controller.h +++ b/src/controller.h @@ -11,9 +11,12 @@ #include "mainwindow.h" #include "liteinterface.h" #include "connection.h" +#include "chatmodel.h" using json = nlohmann::json; +ChatModel *chatModel = new ChatModel(); + struct WatchedTx { QString opid; Tx tx; From a8ee1c68be5999f2a3b03544100be27e3a4c4fb5 Mon Sep 17 00:00:00 2001 From: Strider Date: Mon, 27 Apr 2020 20:18:14 +0200 Subject: [PATCH 006/256] update// moved class to a normal variable instace --- src/chatmodel.h | 57 +++++++++++++++++++++++++++++++--------------- src/controller.cpp | 7 ++++-- src/controller.h | 2 -- 3 files changed, 44 insertions(+), 22 deletions(-) diff --git a/src/chatmodel.h b/src/chatmodel.h index 5a35db9..d44a35f 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -1,3 +1,5 @@ +#ifndef CHATMODEL_H +#define CHATMODEL_H #include #include #include @@ -6,65 +8,83 @@ class ChatItem { private: - long timestamp; - QString address; - QString contact; - QString memo; - bool outgoing = false; + long _timestamp; + QString _address; + QString _contact; + QString _memo; + bool _outgoing = false; public: ChatItem() {} - ChatItem(long timestamp, QString address, QString contact, QString memo); - ChatItem(long timestamp, QString address, QString contact, QString memo, bool outgoing = false); + + ChatItem(long timestamp, QString address, QString contact, QString memo) + { + _timestamp = timestamp; + _address = address; + _contact = contact; + _memo = memo; + _outgoing = false; + + } + + ChatItem(long timestamp, QString address, QString contact, QString memo, bool outgoing) + { + _timestamp = timestamp; + _address = address; + _contact = contact; + _memo = memo; + _outgoing = outgoing; + + } long getTimestamp() { - return this->timestamp; + return _timestamp; } QString getAddress() { - return this->address; + return _address; } QString getContact() { - return this->contact; + return _contact; } QString getMemo() { - return this->memo; + return _memo; } bool isOutgoing() { - return this->outgoing; + return _outgoing; } void setTimestamp(long timestamp) { - this->timestamp = timestamp; + _timestamp = timestamp; } void setAddress(QString address) { - this->address = address; + _address = address; } void setContact(QString contact) { - this->contact = contact; + _contact = contact; } void setMemo(QString memo) { - this->memo = memo; + _memo = memo; } void toggleOutgo() { - this->outgoing = true; + _outgoing = true; } ~ChatItem() @@ -95,4 +115,5 @@ class ChatModel void clear(); void addMessage(ChatItem item); void addMessage(long timestamp, ChatItem item); -}; \ No newline at end of file +}; +#endif \ No newline at end of file diff --git a/src/controller.cpp b/src/controller.cpp index 0661b06..b7c5dba 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -10,6 +10,7 @@ template<> DataStore* DataStore::instance = nullptr; template<> bool DataStore::instanced = false; +ChatModel *chatModel = new ChatModel(); using json = nlohmann::json; @@ -877,6 +878,7 @@ void Controller::refreshTransactions() QString memo; if (!o["memo"].is_null()) { + memo = QString::fromStdString(o["memo"]); ChatItem item = ChatItem( datetime, address, @@ -885,7 +887,7 @@ void Controller::refreshTransactions() true // is an outgoing message ); chatModel->addMessage(item); - memo = QString::fromStdString(o["memo"]); + } @@ -925,6 +927,7 @@ void Controller::refreshTransactions() QString memo; if (!it["memo"].is_null()) { + memo = QString::fromStdString(it["memo"]); ChatItem item = ChatItem( datetime, address, @@ -933,7 +936,7 @@ void Controller::refreshTransactions() ); chatModel->addMessage(item); } - memo = QString::fromStdString(it["memo"]); + items.push_back( TransactionItemDetail{ diff --git a/src/controller.h b/src/controller.h index 5071dee..a5f0fee 100644 --- a/src/controller.h +++ b/src/controller.h @@ -15,8 +15,6 @@ using json = nlohmann::json; -ChatModel *chatModel = new ChatModel(); - struct WatchedTx { QString opid; Tx tx; From fd7170cf2a6811411d32955f7d920dd5d63d7e52 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Mon, 27 Apr 2020 21:01:06 +0200 Subject: [PATCH 007/256] add switch to QListWidget for Chat --- src/mainwindow.ui | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/src/mainwindow.ui b/src/mainwindow.ui index a43877e..700892d 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1328,7 +1328,7 @@ HushChat - + 0 @@ -1351,19 +1351,6 @@ <html><head/><body><p align="center">Contact</p></body></html> - - - - 340 - 80 - 908 - 361 - - - - QListView::Adjust - - @@ -1445,6 +1432,16 @@ <html><head/><body><p align="center">Messages</p></body></html> + + + + 340 + 80 + 921 + 371 + + + From b69297f9da79d15dfaa87c80c8ad18e83c68303f Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Mon, 27 Apr 2020 21:04:11 +0200 Subject: [PATCH 008/256] rename QListWidget --- src/mainwindow.ui | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 700892d..39e5e9e 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1432,7 +1432,7 @@ <html><head/><body><p align="center">Messages</p></body></html> - + 340 From b79334a497dbcca30f57bd5795d4931a88f660ff Mon Sep 17 00:00:00 2001 From: Strider Date: Mon, 27 Apr 2020 21:53:37 +0200 Subject: [PATCH 009/256] update// added chatmessages to chatwindow --- src/chatmodel.cpp | 27 ++++++++++++++++++++------- src/chatmodel.h | 6 +++--- src/controller.cpp | 10 ++++++++-- src/controller.h | 1 + src/mainwindow.cpp | 7 ++++++- src/mainwindow.h | 1 + src/mainwindow.ui | 2 +- 7 files changed, 40 insertions(+), 14 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index f6fbb84..e1962c9 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -51,7 +51,7 @@ void ChatModel::showMessages() } } -void ChatModel::renderChatBox(QListView &view) +void ChatModel::renderChatBox(QListWidget &view) { /*for(auto &c : this->chatItems) { @@ -61,12 +61,25 @@ void ChatModel::renderChatBox(QListView &view) //todo render items to view } -void ChatModel::renderChatBox(QListView *view) +void ChatModel::renderChatBox(QListWidget *view) { - /*for(auto &c : this->chatItems) + qDebug() << "called ChatModel::renderChatBox(QListWidget *view)"; + QString line = ""; + while(view->count() > 0) { - //view->getItems().add(QString("[Timestamp] : lorem ipsum ....")); - }*/ - qDebug() << "not implemented yet blyat"; - //todo render items to view + view->takeItem(0); + } + + for(auto &c : this->chatItems) + { + QDateTime myDateTime; + + myDateTime.setTime_t(c.second.getTimestamp()); + qDebug() << "[" << myDateTime.toString("dd.MM.yyyy hh:mm:ss ") << "] " << "<" << c.second.getAddress() << "> :" << c.second.getMemo(); + line += QString("[") + myDateTime.toString("dd.MM.yyyy hh:mm:ss ") + QString("] "); + line += QString("<") + QString(c.second.getAddress()) + QString("> :"); + line += QString(c.second.getMemo()); + view->addItem(line); + line =""; + } } \ No newline at end of file diff --git a/src/chatmodel.h b/src/chatmodel.h index d44a35f..56db136 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -3,7 +3,7 @@ #include #include #include -#include +#include class ChatItem { @@ -109,8 +109,8 @@ class ChatModel std::map getItems(); void setItems(std::map items); void setItems(std::vector items); - void renderChatBox(QListView &view); - void renderChatBox(QListView *view); + void renderChatBox(QListWidget &view); + void renderChatBox(QListWidget *view); void showMessages(); void clear(); void addMessage(ChatItem item); diff --git a/src/controller.cpp b/src/controller.cpp index b7c5dba..daace4e 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -982,11 +982,17 @@ void Controller::refreshTransactions() // Update model data, which updates the table view transactionsTableModel->replaceData(txdata); - //chatModel->renderChatBox(); - chatModel->showMessages(); + chatModel->renderChatBox(ui->listChatMemo); + //chatModel->showMessages(); }); } +void Controller::refreshChat(QListWidget *listWidget) +{ + qDebug() << "Called Controller::refreshChat(QListWidget *listWidget)"; + chatModel->renderChatBox(listWidget); +} + // If the wallet is encrpyted and locked, we need to unlock it void Controller::unlockIfEncrypted(std::function cb, std::function error) { diff --git a/src/controller.h b/src/controller.h index a5f0fee..32d843b 100644 --- a/src/controller.h +++ b/src/controller.h @@ -71,6 +71,7 @@ public: void refreshGBPCAP(); void refreshAUDCAP(); + void refreshChat(QListWidget *listWidget); void executeStandardUITransaction(Tx tx); diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 5352a95..b268750 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -900,7 +900,6 @@ void MainWindow::setupTransactionsTab() { // Set up context menu on transactions tab ui->transactionsTable->setContextMenuPolicy(Qt::CustomContextMenu); - // Table right click QObject::connect(ui->transactionsTable, &QTableView::customContextMenuRequested, [=] (QPoint pos) { QModelIndex index = ui->transactionsTable->indexAt(pos); @@ -983,6 +982,12 @@ void MainWindow::setupTransactionsTab() { }); } +void MainWindow::updateChat() +{ + qDebug() << "Called MainWindow::updateChat()"; + rpc->refreshChat(ui->listChatMemo); +} + void MainWindow::addNewZaddr(bool sapling) { rpc->createNewZaddr(sapling, [=] (json reply) { QString addr = QString::fromStdString(reply.get()[0]); diff --git a/src/mainwindow.h b/src/mainwindow.h index 50f833a..85f3595 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -85,6 +85,7 @@ private: void setupSendTab(); void setupTransactionsTab(); + void updateChat(); void setupReceiveTab(); void setupBalancesTab(); void setuphushdTab(); diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 39e5e9e..6e8dcfe 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1432,7 +1432,7 @@ <html><head/><body><p align="center">Messages</p></body></html> - + 340 From 38a1d6966aab880e2e21370423218149b96db005 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Mon, 27 Apr 2020 23:10:42 +0200 Subject: [PATCH 010/256] add sending ability for HushChat tab --- src/chatmodel.cpp | 205 ++++++++++++++++++++++++++++++++++++++++++++- src/chatmodel.h | 18 ++++ src/mainwindow.cpp | 1 + src/mainwindow.h | 7 +- src/mainwindow.ui | 42 ++++++---- 5 files changed, 253 insertions(+), 20 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index e1962c9..25e012d 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -1,4 +1,13 @@ #include "chatmodel.h" +#include "settings.h" +#include "ui_confirm.h" +#include "controller.h" +#include "mainwindow.h" +#include "ui_mainwindow.h" +#include "addressbook.h" +#include "ui_memodialog.h" + + ChatModel::ChatModel(std::map chatItems) { @@ -77,9 +86,203 @@ void ChatModel::renderChatBox(QListWidget *view) myDateTime.setTime_t(c.second.getTimestamp()); qDebug() << "[" << myDateTime.toString("dd.MM.yyyy hh:mm:ss ") << "] " << "<" << c.second.getAddress() << "> :" << c.second.getMemo(); line += QString("[") + myDateTime.toString("dd.MM.yyyy hh:mm:ss ") + QString("] "); - line += QString("<") + QString(c.second.getAddress()) + QString("> :"); + line += QString("<") + QString(c.second.getAddress()) + QString("> :\n"); line += QString(c.second.getMemo()); view->addItem(line); line =""; } +} + +void MainWindow::setupchatTab() { + +// Send button + QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::sendChatButton); + + } + +ChatMemoEdit::ChatMemoEdit(QWidget* parent) : QPlainTextEdit(parent) { + QObject::connect(this, &QPlainTextEdit::textChanged, this, &ChatMemoEdit::updateDisplay); +} + +void ChatMemoEdit::updateDisplay() { + QString txt = this->toPlainText(); + if (lenDisplayLabel) + lenDisplayLabel->setText(QString::number(txt.toUtf8().size()) + "/" + QString::number(maxlen)); + + if (txt.toUtf8().size() <= maxlen) { + // Everything is fine + if (sendChatButton) + sendChatButton->setEnabled(true); + + if (lenDisplayLabel) + lenDisplayLabel->setStyleSheet(""); + } + else { + // Overweight + if (sendChatButton) + sendChatButton->setEnabled(false); + + if (lenDisplayLabel) + lenDisplayLabel->setStyleSheet("color: red;"); + } +} + +void ChatMemoEdit::setMaxLen(int len) { + this->maxlen = len; + updateDisplay(); +} + +void ChatMemoEdit::setLenDisplayLabel(QLabel* label) { + this->lenDisplayLabel = label; +} + +void ChatMemoEdit::setSendChatButton(QPushButton* button) { + this->sendChatButton = button; +} + +// Create a Tx from the current state of the Chat page. +Tx MainWindow::createTxFromChatPage() { + Tx tx; + CAmount totalAmt; + // For each addr/amt in the Chat tab + { + QString addr = ""; // We need to set the reply Address for our Contact here + // Remove label if it exists + addr = AddressBook::addressFromAddressLabel(addr); + + QString amtStr = "0.00001"; + + // bool ok; + CAmount amt; + + + amt = CAmount::fromDecimalString("0.00001"); + totalAmt = totalAmt + amt; + + + QString memo = ui->memoTxtChat->toPlainText().trimmed(); + //ui->chatmemoSize->setLenDisplayLabel() + + + tx.toAddrs.push_back(ToFields{addr, amt, memo,}) ; + + qDebug() << "pushback chattx"; + } + + tx.fee = Settings::getMinerFee(); + + return tx; + + qDebug() << "ChatTx created"; +} + +void MainWindow::sendChatButton() { + // Create a Tx from the values on the send tab. Note that this Tx object + // might not be valid yet. + + // Memos can only be used with zAddrs. So check that first + //auto addr = "zs1fllv4hgrjddnz2yz5dng9kchcg3wkhs0j2v5v3nc89w3r3kntkgq2sefcz2a9k2ycc8f6t0gm2q"; + // if (! Settings::isZAddress(AddressBook::addressFromAddressLabel(addr->text()))) { + // QMessageBox msg(QMessageBox::Critical, tr("Memos can only be used with z-addresses"), + // tr("The memo field can only be used with a z-address.\n") + addr->text() + tr("\ndoesn't look like a z-address"), + // QMessageBox::Ok, this); + + // msg.exec(); + //return; + //} + + Tx tx = createTxFromChatPage(); + + QString error = doSendChatTxValidations(tx); + + if (!error.isEmpty()) { + // Something went wrong, so show an error and exit + QMessageBox msg(QMessageBox::Critical, tr("Message Error"), error, + QMessageBox::Ok, this); + + msg.exec(); + + // abort the Tx + return; + qDebug() << "Tx aborted"; + } + + // Create a new Dialog to show that we are computing/sending the Tx + auto d = new QDialog(this); + auto connD = new Ui_ConnectionDialog(); + connD->setupUi(d); + QPixmap logo(":/img/res/logobig.gif"); + connD->topIcon->setBasePixmap(logo.scaled(256, 256, Qt::KeepAspectRatio, Qt::SmoothTransformation)); + + connD->status->setText(tr("Please wait...")); + connD->statusDetail->setText(tr("Your Message will be send")); + + d->show(); + + // And send the Tx + rpc->executeTransaction(tx, + [=] (QString txid) { + ui->statusBar->showMessage(Settings::txidStatusMessage + " " + txid); + + connD->status->setText(tr("Done!")); + connD->statusDetail->setText(txid); + + QTimer::singleShot(1000, [=]() { + d->accept(); + d->close(); + delete connD; + delete d; + + }); + + // Force a UI update so we get the unconfirmed Tx + rpc->refresh(true); + + }, + // Errored out + [=] (QString opid, QString errStr) { + ui->statusBar->showMessage(QObject::tr(" Tx ") % opid % QObject::tr(" failed"), 15 * 1000); + + d->accept(); + d->close(); + delete connD; + delete d; + + if (!opid.isEmpty()) + errStr = QObject::tr("The transaction with id ") % opid % QObject::tr(" failed. The error was") + ":\n\n" + errStr; + + QMessageBox::critical(this, QObject::tr("Transaction Error"), errStr, QMessageBox::Ok); + } + ); + } + + +QString MainWindow::doSendChatTxValidations(Tx tx) { + // Check to see if we have enough verified funds to send the Tx. + + CAmount total; + for (auto toAddr : tx.toAddrs) { + if (!Settings::isValidAddress(toAddr.addr)) { + QString addr = (toAddr.addr.length() > 100 ? toAddr.addr.left(100) + "..." : toAddr.addr); + return QString(tr("Recipient Address ")) % addr % tr(" is Invalid"); + } + + // This technically shouldn't be possible, but issue #62 seems to have discovered a bug + // somewhere, so just add a check to make sure. + if (toAddr.amount.toqint64() < 0) { + return QString(tr("Amount for address '%1' is invalid!").arg(toAddr.addr)); + } + + total = total + toAddr.amount; + } + total = total + tx.fee; + + auto available = rpc->getModel()->getAvailableBalance(); + + if (available < total) { + return tr("Not enough available funds to send this transaction\n\nHave: %1\nNeed: %2\n\nNote: Funds need 5 confirmations before they can be spent") + .arg(available.toDecimalhushString(), total.toDecimalhushString()); + } + + return ""; } \ No newline at end of file diff --git a/src/chatmodel.h b/src/chatmodel.h index 56db136..e893acf 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -116,4 +116,22 @@ class ChatModel void addMessage(ChatItem item); void addMessage(long timestamp, ChatItem item); }; + +class ChatMemoEdit : public QPlainTextEdit +{ +public: + ChatMemoEdit(QWidget* parent); + + void setMaxLen(int len); + void setLenDisplayLabel(QLabel* label); + void setSendChatButton(QPushButton* button); + void includeReplyTo(QString replyToAddress); + void updateDisplay(); + +private: + int maxlen = 512; + QLabel* lenDisplayLabel = nullptr; + QPushButton* sendChatButton = nullptr; +}; + #endif \ No newline at end of file diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index b268750..b17f086 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -152,6 +152,7 @@ MainWindow::MainWindow(QWidget *parent) : setupReceiveTab(); setupBalancesTab(); setuphushdTab(); + setupchatTab(); rpc = new Controller(this); diff --git a/src/mainwindow.h b/src/mainwindow.h index 85f3595..17194b4 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -47,6 +47,7 @@ public: QRegExpValidator* getAmountValidator() { return amtValidator; } QString doSendTxValidations(Tx tx); + QString doSendChatTxValidations(Tx tx); void replaceWormholeClient(WormholeClient* newClient); bool isWebsocketListening(); @@ -85,10 +86,11 @@ private: void setupSendTab(); void setupTransactionsTab(); - void updateChat(); void setupReceiveTab(); void setupBalancesTab(); void setuphushdTab(); + void setupchatTab(); + void updateChat(); void setupSettingsModal(); void setupStatusBar(); @@ -98,11 +100,14 @@ private: Tx createTxFromSendPage(); bool confirmTx(Tx tx, RecurringPaymentInfo* rpi); + Tx createTxFromChatPage(); + void encryptWallet(); void removeWalletEncryption(); void cancelButton(); void sendButton(); + void sendChatButton(); void addAddressSection(); void maxAmountChecked(int checked); diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 6e8dcfe..6d493af 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1367,9 +1367,9 @@ - 357 + 347 483 - 891 + 901 128 @@ -1387,22 +1387,6 @@ Include Reply Address - - - - 692 - 618 - 189 - 25 - - - - Qt::Horizontal - - - QDialogButtonBox::Cancel|QDialogButtonBox::Ok - - @@ -1442,6 +1426,28 @@ + + + + 1130 + 620 + 114 + 25 + + + + + 100 + 0 + + + + Send + + + false + + From ec5057e4ce2e73138c5936bf0e2839f2a5134f77 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Mon, 27 Apr 2020 23:12:43 +0200 Subject: [PATCH 011/256] set amt to 0 for HushChat Memos --- src/chatmodel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 25e012d..e3374f1 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -150,7 +150,7 @@ Tx MainWindow::createTxFromChatPage() { // Remove label if it exists addr = AddressBook::addressFromAddressLabel(addr); - QString amtStr = "0.00001"; + QString amtStr = "0"; // bool ok; CAmount amt; From 2efec07e42cf107a8e4cdc219ffe9e2c5922794c Mon Sep 17 00:00:00 2001 From: Strider Date: Tue, 28 Apr 2020 20:24:50 +0200 Subject: [PATCH 012/256] update// refactored addressbook with new storage format --- compile.log | 5 +++ src/addressbook.cpp | 98 +++++++++++++++++++++++++++++--------------- src/addressbook.h | 17 ++++---- src/chatmodel.cpp | 4 +- src/contactmodel.cpp | 9 ++++ src/contactmodel.h | 68 ++++++++++++++++++++++++++++++ src/controller.cpp | 1 + src/controller.h | 1 + src/mainwindow.cpp | 4 +- src/sendtab.cpp | 2 +- 10 files changed, 165 insertions(+), 44 deletions(-) create mode 100644 compile.log create mode 100644 src/contactmodel.cpp create mode 100644 src/contactmodel.h diff --git a/compile.log b/compile.log new file mode 100644 index 0000000..6c6584f --- /dev/null +++ b/compile.log @@ -0,0 +1,5 @@ +Compiling SilentDragonLite 1.2.2 with 4 threads... +g++ -c -include bin/SilentDragonLite -pipe -g -std=gnu++1y -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQAPPLICATION_CLASS=QApplication -D_FORTIFY_SOURCE=2 -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_WEBSOCKETS_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Isrc/3rdparty -Isrc -Isingleapplication -Ires -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtWebSockets -isystem /usr/include/x86_64-linux-gnu/qt5/QtNetwork -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -Ibin -Isrc -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o bin/mainwindow.o src/mainwindow.cpp +g++ -c -include bin/SilentDragonLite -pipe -g -std=gnu++1y -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQAPPLICATION_CLASS=QApplication -D_FORTIFY_SOURCE=2 -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_WEBSOCKETS_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Isrc/3rdparty -Isrc -Isingleapplication -Ires -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtWebSockets -isystem /usr/include/x86_64-linux-gnu/qt5/QtNetwork -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -Ibin -Isrc -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o bin/sendtab.o src/sendtab.cpp +g++ -c -include bin/SilentDragonLite -pipe -g -std=gnu++1y -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQAPPLICATION_CLASS=QApplication -D_FORTIFY_SOURCE=2 -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_WEBSOCKETS_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Isrc/3rdparty -Isrc -Isingleapplication -Ires -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtWebSockets -isystem /usr/include/x86_64-linux-gnu/qt5/QtNetwork -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -Ibin -Isrc -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o bin/addressbook.o src/addressbook.cpp +g++ -c -include bin/SilentDragonLite -pipe -g -std=gnu++1y -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQAPPLICATION_CLASS=QApplication -D_FORTIFY_SOURCE=2 -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_WEBSOCKETS_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Isrc/3rdparty -Isrc -Isingleapplication -Ires -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtWebSockets -isystem /usr/include/x86_64-linux-gnu/qt5/QtNetwork -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -Ibin -Isrc -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o bin/addresscombo.o src/addresscombo.cpp diff --git a/src/addressbook.cpp b/src/addressbook.cpp index a00a355..060b5ca 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -38,10 +38,10 @@ void AddressBookModel::loadData() ); } -void AddressBookModel::addNewLabel(QString label, QString addr) +void AddressBookModel::addNewLabel(QString label, QString addr, QString myAddr) { //labels.push_back(QPair(label, addr)); - AddressBook::getInstance()->addAddressLabel(label, addr); + AddressBook::getInstance()->addAddressLabel(label, addr, myAddr); labels.clear(); labels = AddressBook::getInstance()->getAllAddressLabels(); dataChanged(index(0, 0), index(labels.size()-1, columnCount(index(0,0))-1)); @@ -53,22 +53,27 @@ void AddressBookModel::removeItemAt(int row) if (row >= labels.size()) return; - AddressBook::getInstance()->removeAddressLabel(labels[row].first, labels[row].second); + AddressBook::getInstance()->removeAddressLabel(labels[row].getName(), labels[row].getPartnerAddress()); labels.clear(); labels = AddressBook::getInstance()->getAllAddressLabels(); dataChanged(index(0, 0), index(labels.size()-1, columnCount(index(0,0))-1)); layoutChanged(); } -QPair AddressBookModel::itemAt(int row) +ContactItem AddressBookModel::itemAt(int row) { - if (row >= labels.size()) - return QPair(); + if (row >= labels.size()) + { + ContactItem item = ContactItem("", "", ""); + return item; + } + return labels.at(row); } + int AddressBookModel::rowCount(const QModelIndex&) const { return labels.size(); @@ -86,8 +91,8 @@ QVariant AddressBookModel::data(const QModelIndex &index, int role) const { switch(index.column()) { - case 0: return labels.at(index.row()).first; - case 1: return labels.at(index.row()).second; + case 0: return labels.at(index.row()).getName(); + case 1: return labels.at(index.row()).getPartnerAddress(); } } @@ -171,7 +176,7 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) return; } - model.addNewLabel(newLabel, ab.addr->text()); + model.addNewLabel(newLabel, ab.addr->text(), ""); }); // Import Button @@ -209,7 +214,7 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) continue; // Add label, address. - model.addNewLabel(items.at(1), items.at(0)); + model.addNewLabel(items.at(1), items.at(0), ""); numImported++; } @@ -233,8 +238,8 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) if (index.row() < 0) return; - QString lbl = model.itemAt(index.row()).first; - QString addr = model.itemAt(index.row()).second; + QString lbl = model.itemAt(index.row()).getName(); + QString addr = model.itemAt(index.row()).getPartnerAddress(); d.accept(); fnSetTargetLabelAddr(target, lbl, addr); }); @@ -246,8 +251,8 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) if (index.row() < 0) return; - QString lbl = model.itemAt(index.row()).first; - QString addr = model.itemAt(index.row()).second; + QString lbl = model.itemAt(index.row()).getName(); + QString addr = model.itemAt(index.row()).getPartnerAddress(); QMenu menu(parent); @@ -273,7 +278,7 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) auto selection = ab.addresses->selectionModel(); if (selection && selection->hasSelection() && selection->selectedRows().size() > 0) { auto item = model.itemAt(selection->selectedRows().at(0).row()); - fnSetTargetLabelAddr(target, item.first, item.second); + fnSetTargetLabelAddr(target, item.getName(), item.getPartnerAddress()); } }; @@ -307,15 +312,35 @@ void AddressBook::readFromStorage() file.open(QIODevice::ReadOnly); QDataStream in(&file); // read the data serialized from the file QString version; - in >> version >> allLabels; + in >> version; + qDebug() << "Detected old addressbook format"; + // Convert old addressbook format v1 to v2 + QList> stuff; + in >> stuff; + qDebug() << "Stuff: " << stuff; + for (int i=0; i < stuff.size(); i++) + { + //qDebug() << "0:" << stuff[i][0]; + //qDebug() << "1:" << stuff[i][1]; + //qDebug() << "2:" << stuff[i][2]; + ContactItem contact = ContactItem(stuff[i][2], stuff[i][1], stuff[i][0]); + qDebug() << "contact=" << contact.toQTString(); + allLabels.push_back(contact); + } + + qDebug() << "Read " << version << " Hush contacts from disk..."; file.close(); } + else + { + qDebug() << "No Hush contacts found on disk!"; + } // Special. // Add the default silentdragon donation address if it isn't already present // QList allAddresses; // std::transform(allLabels.begin(), allLabels.end(), - // std::back_inserter(allAddresses), [=] (auto i) { return i.second; }); + // std::back_inserter(allAddresses), [=] (auto i) { return i.getPartnerAddress(); }); // if (!allAddresses.contains(Settings::getDonationAddr(true))) { // allLabels.append(QPair("silentdragon donation", Settings::getDonationAddr(true))); // } @@ -326,7 +351,16 @@ void AddressBook::writeToStorage() QFile file(AddressBook::writeableFile()); file.open(QIODevice::ReadWrite | QIODevice::Truncate); QDataStream out(&file); // we will serialize the data into the file - out << QString("v1") << allLabels; + QList> contacts; + for(auto &item: allLabels) + { + QList c; + c.push_back(item.getName()); + c.push_back(item.getPartnerAddress()); + c.push_back(item.getMyAddress()); + contacts.push_back(c); + } + out << QString("v1") << contacts; file.close(); } @@ -346,17 +380,17 @@ QString AddressBook::writeableFile() // Add a new address/label to the database -void AddressBook::addAddressLabel(QString label, QString address) +void AddressBook::addAddressLabel(QString label, QString address, QString myAddr) { Q_ASSERT(Settings::isValidAddress(address)); - - // First, remove any existing label + // getName(), remove any existing label // Iterate over the list and remove the label/address for (int i=0; i < allLabels.size(); i++) - if (allLabels[i].first == label) - removeAddressLabel(allLabels[i].first, allLabels[i].second); + if (allLabels[i].getName() == label) + removeAddressLabel(allLabels[i].getName(), allLabels[i].getPartnerAddress()); - allLabels.push_back(QPair(label, address)); + ContactItem item = ContactItem(myAddr, address, label); + allLabels.push_back(item); writeToStorage(); } @@ -366,7 +400,7 @@ void AddressBook::removeAddressLabel(QString label, QString address) // Iterate over the list and remove the label/address for (int i=0; i < allLabels.size(); i++) { - if (allLabels[i].first == label && allLabels[i].second == address) + if (allLabels[i].getName() == label && allLabels[i].getPartnerAddress() == address) { allLabels.removeAt(i); writeToStorage(); @@ -380,9 +414,9 @@ void AddressBook::updateLabel(QString oldlabel, QString address, QString newlabe // Iterate over the list and update the label/address for (int i = 0; i < allLabels.size(); i++) { - if (allLabels[i].first == oldlabel && allLabels[i].second == address) + if (allLabels[i].getName() == oldlabel && allLabels[i].getPartnerAddress() == address) { - allLabels[i].first = newlabel; + allLabels[i].setName(newlabel); writeToStorage(); return; } @@ -390,7 +424,7 @@ void AddressBook::updateLabel(QString oldlabel, QString address, QString newlabe } // Read all addresses -const QList>& AddressBook::getAllAddressLabels() +const QList& AddressBook::getAllAddressLabels() { if (allLabels.isEmpty()) readFromStorage(); @@ -402,8 +436,8 @@ const QList>& AddressBook::getAllAddressLabels() QString AddressBook::getLabelForAddress(QString addr) { for (auto i : allLabels) - if (i.second == addr) - return i.first; + if (i.getPartnerAddress() == addr) + return i.getName(); return ""; } @@ -412,8 +446,8 @@ QString AddressBook::getLabelForAddress(QString addr) QString AddressBook::getAddressForLabel(QString label) { for (auto i: allLabels) - if (i.first == label) - return i.second; + if (i.getName() == label) + return i.getPartnerAddress(); return ""; } diff --git a/src/addressbook.h b/src/addressbook.h index af64c07..13ba606 100644 --- a/src/addressbook.h +++ b/src/addressbook.h @@ -2,6 +2,7 @@ #define ADDRESSBOOK_H #include "precompiled.h" +#include "contactmodel.h" class MainWindow; @@ -10,10 +11,11 @@ class AddressBookModel : public QAbstractTableModel { public: AddressBookModel(QTableView* parent); ~AddressBookModel(); - - void addNewLabel(QString label, QString addr); + + void addNewLabel(QString label, QString address, QString myAddr); void removeItemAt(int row); - QPair itemAt(int row); + //QPair itemAt(int row); + ContactItem itemAt(int row); int rowCount(const QModelIndex &parent) const; int columnCount(const QModelIndex &parent) const; @@ -25,7 +27,8 @@ private: void saveData(); QTableView* parent; - QList> labels; + //QList> labels; + QList labels; QStringList headers; }; @@ -39,7 +42,7 @@ public: static QString addressFromAddressLabel(const QString& lblAddr); // Add a new address/label to the database - void addAddressLabel(QString label, QString address); + void addAddressLabel(QString label, QString address, QString myAddr); // Remove a new address/label from the database void removeAddressLabel(QString label, QString address); @@ -48,7 +51,7 @@ public: void updateLabel(QString oldlabel, QString address, QString newlabel); // Read all addresses - const QList>& getAllAddressLabels(); + const QList& getAllAddressLabels(); // Get an address's first label QString getLabelForAddress(QString address); @@ -61,7 +64,7 @@ private: void writeToStorage(); QString writeableFile(); - QList> allLabels; + QList allLabels; static AddressBook* instance; }; diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index e3374f1..1561d4e 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -86,8 +86,8 @@ void ChatModel::renderChatBox(QListWidget *view) myDateTime.setTime_t(c.second.getTimestamp()); qDebug() << "[" << myDateTime.toString("dd.MM.yyyy hh:mm:ss ") << "] " << "<" << c.second.getAddress() << "> :" << c.second.getMemo(); line += QString("[") + myDateTime.toString("dd.MM.yyyy hh:mm:ss ") + QString("] "); - line += QString("<") + QString(c.second.getAddress()) + QString("> :\n"); - line += QString(c.second.getMemo()); + line += QString("<") + QString(c.second.getContact()) + QString("> :\n"); + line += QString(c.second.getMemo()) + QString("\n"); view->addItem(line); line =""; } diff --git a/src/contactmodel.cpp b/src/contactmodel.cpp new file mode 100644 index 0000000..60df97b --- /dev/null +++ b/src/contactmodel.cpp @@ -0,0 +1,9 @@ +#include "contactmodel.h" + +void ContactModel::renderContactList(QListWidget* view) +{ + for(auto &c : this->_contacts) + { + view->addItem(c.getName()); + } +} \ No newline at end of file diff --git a/src/contactmodel.h b/src/contactmodel.h new file mode 100644 index 0000000..d1ce239 --- /dev/null +++ b/src/contactmodel.h @@ -0,0 +1,68 @@ +#ifndef CONTACTMODEL_H +#define CONTACTMODEL_H + +#include +#include +#include + +class ContactItem +{ + private: + QString _myAddress; + QString _partnerAddress; + QString _name; + + public: + ContactItem(); + ContactItem(QString myAddress, QString partnerAddress, QString name) + { + _myAddress = myAddress; + _partnerAddress = partnerAddress; + _name = name; + } + + QString getName() const + { + return _name; + } + + QString getMyAddress() const + { + return _myAddress; + } + + QString getPartnerAddress() const + { + return _partnerAddress; + } + + void setName(QString name) + { + _name = name; + } + + void setMyAddress(QString myAddress) + { + _myAddress = myAddress; + } + + void setPartnerAddress(QString partnerAddress) + { + _partnerAddress = partnerAddress; + } + + QString toQTString() + { + return _name + "|" + _partnerAddress + "|" + _myAddress; + } + +}; + +class ContactModel +{ + public: + ContactModel() {} + void renderContactList(QListWidget* view); +}; + +#endif \ No newline at end of file diff --git a/src/controller.cpp b/src/controller.cpp index daace4e..24560e3 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -11,6 +11,7 @@ DataStore* DataStore::instance = nullptr; template<> bool DataStore::instanced = false; ChatModel *chatModel = new ChatModel(); +ContactModel *contactModel = new ContactModel(); using json = nlohmann::json; diff --git a/src/controller.h b/src/controller.h index 32d843b..7684863 100644 --- a/src/controller.h +++ b/src/controller.h @@ -12,6 +12,7 @@ #include "liteinterface.h" #include "connection.h" #include "chatmodel.h" +#include "contactmodel.h" using json = nlohmann::json; diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index b17f086..b243a6f 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1241,7 +1241,7 @@ void MainWindow::setupReceiveTab() { } else if (curLabel.isEmpty() && !label.isEmpty()) { info = "Added Label '" % label % "'"; - AddressBook::getInstance()->addAddressLabel(label, addr); + AddressBook::getInstance()->addAddressLabel(label, addr, ""); } // Update labels everywhere on the UI @@ -1291,7 +1291,7 @@ void MainWindow::updateTAddrCombo(bool checked) { auto allTaddrs = this->rpc->getModel()->getAllTAddresses(); QSet labels; for (auto p : AddressBook::getInstance()->getAllAddressLabels()) { - labels.insert(p.second); + labels.insert(p.getPartnerAddress()); } std::for_each(allTaddrs.begin(), allTaddrs.end(), [=, &addrs] (auto& taddr) { // If the address is in the address book, add it. diff --git a/src/sendtab.cpp b/src/sendtab.cpp index 3fc5510..6d4ba38 100644 --- a/src/sendtab.cpp +++ b/src/sendtab.cpp @@ -207,7 +207,7 @@ void MainWindow::updateLabelsAutoComplete() { auto labels = AddressBook::getInstance()->getAllAddressLabels(); std::transform(labels.begin(), labels.end(), std::back_inserter(list), [=] (auto la) -> QString { - return la.first % "/" % la.second; + return la.getName() % "/" % la.getPartnerAddress(); }); delete labelCompleter; From 555ac40ec28d9e9b239e2cdda083e9dba0d3146f Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Tue, 28 Apr 2020 20:32:31 +0200 Subject: [PATCH 013/256] Add Headermemo, work in Progress --- src/chatmodel.cpp | 74 ++++++++++++++++------------------------------ src/chatmodel.h | 18 +---------- src/mainwindow.cpp | 48 ++++++++++++++++++++++++++++++ src/mainwindow.h | 18 +++++++++++ src/mainwindow.ui | 8 ----- 5 files changed, 93 insertions(+), 73 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 1561d4e..b799abd 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -6,6 +6,8 @@ #include "ui_mainwindow.h" #include "addressbook.h" #include "ui_memodialog.h" +#include "addressbook.h" +#include @@ -93,51 +95,23 @@ void ChatModel::renderChatBox(QListWidget *view) } } -void MainWindow::setupchatTab() { - -// Send button - QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::sendChatButton); - - } - -ChatMemoEdit::ChatMemoEdit(QWidget* parent) : QPlainTextEdit(parent) { - QObject::connect(this, &QPlainTextEdit::textChanged, this, &ChatMemoEdit::updateDisplay); -} - -void ChatMemoEdit::updateDisplay() { - QString txt = this->toPlainText(); - if (lenDisplayLabel) - lenDisplayLabel->setText(QString::number(txt.toUtf8().size()) + "/" + QString::number(maxlen)); - - if (txt.toUtf8().size() <= maxlen) { - // Everything is fine - if (sendChatButton) - sendChatButton->setEnabled(true); - - if (lenDisplayLabel) - lenDisplayLabel->setStyleSheet(""); - } - else { - // Overweight - if (sendChatButton) - sendChatButton->setEnabled(false); - - if (lenDisplayLabel) - lenDisplayLabel->setStyleSheet("color: red;"); - } -} - -void ChatMemoEdit::setMaxLen(int len) { - this->maxlen = len; - updateDisplay(); -} - -void ChatMemoEdit::setLenDisplayLabel(QLabel* label) { - this->lenDisplayLabel = label; -} - -void ChatMemoEdit::setSendChatButton(QPushButton* button) { - this->sendChatButton = button; +QString MainWindow::createHeaderMemo(QString cid, QString zaddr, int version=0, int headerNumber=1) +{ + QString header=""; + QJsonDocument j; + QJsonObject h; + // We use short keynames to use less space for metadata and so allow + // the user to send more actual data in memos + h["h"] = headerNumber; // header number + h["v"] = version; // HushChat version + h["z"] = zaddr; // zaddr to respond to + h["cid"] = cid; // conversation id + + j.setObject(h); + header = j.toJson(); + qDebug() << "made header=" << header; + + return header; } // Create a Tx from the current state of the Chat page. @@ -158,13 +132,17 @@ Tx MainWindow::createTxFromChatPage() { amt = CAmount::fromDecimalString("0.00001"); totalAmt = totalAmt + amt; - + QString cid = QString::number( time(NULL) % std::rand() ); // low entropy for testing! + // QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); // Needs to get a fix + QString hmemo= createHeaderMemo(cid,"ZADDR"); QString memo = ui->memoTxtChat->toPlainText().trimmed(); - //ui->chatmemoSize->setLenDisplayLabel() + // ui->memoSizeChat->setLenDisplayLabel(); - tx.toAddrs.push_back(ToFields{addr, amt, memo,}) ; + tx.toAddrs.push_back(ToFields{addr, amt, hmemo.toUtf8().toHex()}) ; + qDebug()< #include #include +#include "precompiled.h" class ChatItem { @@ -117,21 +118,4 @@ class ChatModel void addMessage(long timestamp, ChatItem item); }; -class ChatMemoEdit : public QPlainTextEdit -{ -public: - ChatMemoEdit(QWidget* parent); - - void setMaxLen(int len); - void setLenDisplayLabel(QLabel* label); - void setSendChatButton(QPushButton* button); - void includeReplyTo(QString replyToAddress); - void updateDisplay(); - -private: - int maxlen = 512; - QLabel* lenDisplayLabel = nullptr; - QPushButton* sendChatButton = nullptr; -}; - #endif \ No newline at end of file diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index b243a6f..a6af0d0 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -983,6 +983,54 @@ void MainWindow::setupTransactionsTab() { }); } +void MainWindow::setupchatTab() { + +// Send button + QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::sendChatButton); + + } + +ChatMemoEdit::ChatMemoEdit(QWidget* parent) : QPlainTextEdit(parent) { + QObject::connect(this, &QPlainTextEdit::textChanged, this, &ChatMemoEdit::updateDisplay); +} + +void ChatMemoEdit::updateDisplay() { + QString txt = this->toPlainText(); + if (lenDisplayLabel) + lenDisplayLabel->setText(QString::number(txt.toUtf8().size()) + "/" + QString::number(maxlen)); + + if (txt.toUtf8().size() <= maxlen) { + // Everything is fine + if (sendChatButton) + sendChatButton->setEnabled(true); + + if (lenDisplayLabel) + lenDisplayLabel->setStyleSheet(""); + } + else { + // Overweight + if (sendChatButton) + sendChatButton->setEnabled(false); + + if (lenDisplayLabel) + lenDisplayLabel->setStyleSheet("color: red;"); + } +} + +void ChatMemoEdit::setMaxLen(int len) { + this->maxlen = len; + updateDisplay(); +} + +void ChatMemoEdit::setLenDisplayLabel(QLabel* label_40) { + this->lenDisplayLabel = label_40; +} + +void ChatMemoEdit::setSendChatButton(QPushButton* button) { + this->sendChatButton = button; +} + + void MainWindow::updateChat() { qDebug() << "Called MainWindow::updateChat()"; diff --git a/src/mainwindow.h b/src/mainwindow.h index 17194b4..6ce5fd5 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -76,6 +76,7 @@ public: Logger* logger; void doClose(); + QString createHeaderMemo(QString cid, QString zaddr, int version, int headerNumnber); public slots: void slot_change_theme(const QString& themeName); @@ -153,4 +154,21 @@ private: QMovie* loadingMovie; }; +class ChatMemoEdit : public QPlainTextEdit +{ +public: + ChatMemoEdit(QWidget* parent); + + void setMaxLen(int len); + void setLenDisplayLabel(QLabel* label_40); + void setSendChatButton(QPushButton* button); + void includeReplyTo(QString replyToAddress); + void updateDisplay(); + +private: + int maxlen = 512; + QLabel* lenDisplayLabel = nullptr; + QPushButton* sendChatButton = nullptr; +}; + #endif // MAINWINDOW_H diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 6d493af..f08d9be 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1388,14 +1388,6 @@ - - - 1150 - 460 - 91 - 17 - - 0 / 512 From 08fdee2557a20001712fc10bd5ddb7837ae29808 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Tue, 28 Apr 2020 20:34:44 +0200 Subject: [PATCH 014/256] set amt 0 for HushChat Memo --- src/chatmodel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index b799abd..0cec51a 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -130,7 +130,7 @@ Tx MainWindow::createTxFromChatPage() { CAmount amt; - amt = CAmount::fromDecimalString("0.00001"); + amt = CAmount::fromDecimalString("0"); totalAmt = totalAmt + amt; QString cid = QString::number( time(NULL) % std::rand() ); // low entropy for testing! // QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); // Needs to get a fix From 30edee0470e7463b8824ef601ff079e6ac1e4a3a Mon Sep 17 00:00:00 2001 From: Strider Date: Tue, 28 Apr 2020 22:05:40 +0200 Subject: [PATCH 015/256] update// added rederfcuntion to contactlist (causes segfaul on compiling) --- silentdragon-lite.pro | 6 ++++-- src/addressbook.cpp | 29 +++++++++++++++++++++++++---- src/addressbook.h | 1 + src/chatmodel.cpp | 2 +- src/contactmodel.cpp | 3 ++- src/controller.cpp | 11 +++++++++-- src/controller.h | 1 + src/mainwindow.cpp | 7 ++++++- src/mainwindow.h | 1 + 9 files changed, 50 insertions(+), 11 deletions(-) diff --git a/silentdragon-lite.pro b/silentdragon-lite.pro index b692159..c76b209 100644 --- a/silentdragon-lite.pro +++ b/silentdragon-lite.pro @@ -68,7 +68,8 @@ SOURCES += \ src/camount.cpp \ src/chatbubbleme.cpp \ src/chatbubblepartner.cpp \ - src/chatmodel.cpp + src/chatmodel.cpp \ + src/contactmodel.cpp HEADERS += \ src/firsttimewizard.h \ @@ -100,7 +101,8 @@ HEADERS += \ lib/silentdragonlitelib.h \ src/chatbubbleme.h \ src/chatbubblepartner.h \ - src/chatmodel.h + src/chatmodel.h \ + src/contactmodel.h FORMS += \ src/encryption.ui \ diff --git a/src/addressbook.cpp b/src/addressbook.cpp index 060b5ca..6ed874c 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -42,6 +42,12 @@ void AddressBookModel::addNewLabel(QString label, QString addr, QString myAddr) { //labels.push_back(QPair(label, addr)); AddressBook::getInstance()->addAddressLabel(label, addr, myAddr); + updateUi(); + +} + +void AddressBookModel::updateUi() +{ labels.clear(); labels = AddressBook::getInstance()->getAllAddressLabels(); dataChanged(index(0, 0), index(labels.size()-1, columnCount(index(0,0))-1)); @@ -175,8 +181,22 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) ); return; } - - model.addNewLabel(newLabel, ab.addr->text(), ""); + Controller* rpc = parent->getRPC(); + bool sapling = true; + rpc->createNewZaddr(sapling, [=] (json reply) { + QString myAddr = QString::fromStdString(reply.get()[0]); + QString message = QString("New Chat Address for your partner: ") + myAddr; + QMessageBox::critical( + parent, + QObject::tr("Success"), + message, //todo traslate this shit + QMessageBox::Ok + ); + qDebug() << "new generated myAddr" << myAddr; + AddressBook::getInstance()->addAddressLabel(newLabel, ab.addr->text(), myAddr); + }); + model.updateUi(); //todo fix updating gui after adding + }); // Import Button @@ -284,6 +304,7 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) // Refresh after the dialog is closed to update the labels everywhere. parent->getRPC()->refresh(true); + model.updateUi(); //todo fix updating gui after adding } //============= @@ -317,14 +338,14 @@ void AddressBook::readFromStorage() // Convert old addressbook format v1 to v2 QList> stuff; in >> stuff; - qDebug() << "Stuff: " << stuff; + //qDebug() << "Stuff: " << stuff; for (int i=0; i < stuff.size(); i++) { //qDebug() << "0:" << stuff[i][0]; //qDebug() << "1:" << stuff[i][1]; //qDebug() << "2:" << stuff[i][2]; ContactItem contact = ContactItem(stuff[i][2], stuff[i][1], stuff[i][0]); - qDebug() << "contact=" << contact.toQTString(); + //qDebug() << "contact=" << contact.toQTString(); allLabels.push_back(contact); } diff --git a/src/addressbook.h b/src/addressbook.h index 13ba606..fc3d4b9 100644 --- a/src/addressbook.h +++ b/src/addressbook.h @@ -13,6 +13,7 @@ public: ~AddressBookModel(); void addNewLabel(QString label, QString address, QString myAddr); + void updateUi(); void removeItemAt(int row); //QPair itemAt(int row); ContactItem itemAt(int row); diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 1561d4e..5bb9718 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -84,7 +84,7 @@ void ChatModel::renderChatBox(QListWidget *view) QDateTime myDateTime; myDateTime.setTime_t(c.second.getTimestamp()); - qDebug() << "[" << myDateTime.toString("dd.MM.yyyy hh:mm:ss ") << "] " << "<" << c.second.getAddress() << "> :" << c.second.getMemo(); + //qDebug() << "[" << myDateTime.toString("dd.MM.yyyy hh:mm:ss ") << "] " << "<" << c.second.getAddress() << "> :" << c.second.getMemo(); line += QString("[") + myDateTime.toString("dd.MM.yyyy hh:mm:ss ") + QString("] "); line += QString("<") + QString(c.second.getContact()) + QString("> :\n"); line += QString(c.second.getMemo()) + QString("\n"); diff --git a/src/contactmodel.cpp b/src/contactmodel.cpp index 60df97b..ad6a8fb 100644 --- a/src/contactmodel.cpp +++ b/src/contactmodel.cpp @@ -1,8 +1,9 @@ #include "contactmodel.h" +#include "addressbook.h" void ContactModel::renderContactList(QListWidget* view) { - for(auto &c : this->_contacts) + for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) { view->addItem(c.getName()); } diff --git a/src/controller.cpp b/src/controller.cpp index 24560e3..dd46217 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -984,16 +984,23 @@ void Controller::refreshTransactions() // Update model data, which updates the table view transactionsTableModel->replaceData(txdata); chatModel->renderChatBox(ui->listChatMemo); - //chatModel->showMessages(); + refreshContacts( + ui->listContactWidget + ); }); } void Controller::refreshChat(QListWidget *listWidget) { - qDebug() << "Called Controller::refreshChat(QListWidget *listWidget)"; chatModel->renderChatBox(listWidget); } +void Controller::refreshContacts(QListWidget *listWidget) +{ + qDebug() << "Called Controller::refreshContacts(QListWidget *listWidget)"; + contactModel->renderContactList(listWidget); +} + // If the wallet is encrpyted and locked, we need to unlock it void Controller::unlockIfEncrypted(std::function cb, std::function error) { diff --git a/src/controller.h b/src/controller.h index 7684863..4a0835f 100644 --- a/src/controller.h +++ b/src/controller.h @@ -73,6 +73,7 @@ public: void refreshAUDCAP(); void refreshChat(QListWidget *listWidget); + void refreshContacts(QListWidget *listWidget); void executeStandardUITransaction(Tx tx); diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index b243a6f..92e233f 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -985,10 +985,15 @@ void MainWindow::setupTransactionsTab() { void MainWindow::updateChat() { - qDebug() << "Called MainWindow::updateChat()"; rpc->refreshChat(ui->listChatMemo); } +void MainWindow::updateContacts() +{ + qDebug() << "Called MainWindow::updateContacts()"; + rpc->refreshContacts(ui->listContactWidget); +} + void MainWindow::addNewZaddr(bool sapling) { rpc->createNewZaddr(sapling, [=] (json reply) { QString addr = QString::fromStdString(reply.get()[0]); diff --git a/src/mainwindow.h b/src/mainwindow.h index 17194b4..eb30a9a 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -91,6 +91,7 @@ private: void setuphushdTab(); void setupchatTab(); void updateChat(); + void updateContacts(); void setupSettingsModal(); void setupStatusBar(); From 96ea7278d8c780f6ec1b6a61a1120123269aecf9 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Tue, 28 Apr 2020 22:16:29 +0200 Subject: [PATCH 016/256] refresh contactlist on HushChat tab --- src/contactmodel.cpp | 5 +++++ src/mainwindow.ui | 8 ++++++++ 2 files changed, 13 insertions(+) diff --git a/src/contactmodel.cpp b/src/contactmodel.cpp index ad6a8fb..3423be1 100644 --- a/src/contactmodel.cpp +++ b/src/contactmodel.cpp @@ -3,8 +3,13 @@ void ContactModel::renderContactList(QListWidget* view) { + while(view->count() > 0) + { + view->takeItem(0); + } for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) { view->addItem(c.getName()); + } } \ No newline at end of file diff --git a/src/mainwindow.ui b/src/mainwindow.ui index f08d9be..02c074c 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1388,6 +1388,14 @@ + + + 1180 + 460 + 47 + 17 + + 0 / 512 From a5020cbe24c5578f2fd8b30ad24db6f815ffa94c Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Tue, 28 Apr 2020 23:01:11 +0200 Subject: [PATCH 017/256] render HushChat Address in Addressbook --- src/addressbook.cpp | 22 ++++++++------ src/addressbook.h | 2 +- src/addressbook.ui | 70 +++++++++++++++++++++------------------------ src/mainwindow.cpp | 2 +- src/mainwindow.ui | 15 ++++++++++ 5 files changed, 63 insertions(+), 48 deletions(-) diff --git a/src/addressbook.cpp b/src/addressbook.cpp index 6ed874c..178cbdf 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -8,7 +8,7 @@ AddressBookModel::AddressBookModel(QTableView *parent) : QAbstractTableModel(parent) { - headers << tr("Label") << tr("Address"); + headers << tr("Label") << tr("Address") << tr("HushChatAddress"); this->parent = parent; loadData(); } @@ -59,7 +59,7 @@ void AddressBookModel::removeItemAt(int row) if (row >= labels.size()) return; - AddressBook::getInstance()->removeAddressLabel(labels[row].getName(), labels[row].getPartnerAddress()); + AddressBook::getInstance()->removeAddressLabel(labels[row].getName(), labels[row].getPartnerAddress(), labels[row].getMyAddress()); labels.clear(); labels = AddressBook::getInstance()->getAllAddressLabels(); dataChanged(index(0, 0), index(labels.size()-1, columnCount(index(0,0))-1)); @@ -99,6 +99,7 @@ QVariant AddressBookModel::data(const QModelIndex &index, int role) const { case 0: return labels.at(index.row()).getName(); case 1: return labels.at(index.row()).getPartnerAddress(); + case 2: return labels.at(index.row()).getMyAddress(); } } @@ -192,6 +193,7 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) message, //todo traslate this shit QMessageBox::Ok ); + // ab.addr_chat->setText(myAddr); qDebug() << "new generated myAddr" << myAddr; AddressBook::getInstance()->addAddressLabel(newLabel, ab.addr->text(), myAddr); }); @@ -245,8 +247,8 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) ); }); - auto fnSetTargetLabelAddr = [=] (QLineEdit* target, QString label, QString addr) { - target->setText(label % "/" % addr); + auto fnSetTargetLabelAddr = [=] (QLineEdit* target, QString label, QString addr, QString myAddr) { + target->setText(label % "/" % addr % myAddr); }; // Double-Click picks the item @@ -260,8 +262,9 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) QString lbl = model.itemAt(index.row()).getName(); QString addr = model.itemAt(index.row()).getPartnerAddress(); + QString myAddr = model.itemAt(index.row()).getMyAddress(); d.accept(); - fnSetTargetLabelAddr(target, lbl, addr); + fnSetTargetLabelAddr(target, lbl, addr, myAddr); }); // Right-Click @@ -273,13 +276,14 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) QString lbl = model.itemAt(index.row()).getName(); QString addr = model.itemAt(index.row()).getPartnerAddress(); + QString myAddr = model.itemAt(index.row()).getMyAddress(); QMenu menu(parent); if (target != nullptr) menu.addAction("Pick", [&] () { d.accept(); - fnSetTargetLabelAddr(target, lbl, addr); + fnSetTargetLabelAddr(target, lbl, addr, myAddr); }); menu.addAction(QObject::tr("Copy address"), [&] () { @@ -298,7 +302,7 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) auto selection = ab.addresses->selectionModel(); if (selection && selection->hasSelection() && selection->selectedRows().size() > 0) { auto item = model.itemAt(selection->selectedRows().at(0).row()); - fnSetTargetLabelAddr(target, item.getName(), item.getPartnerAddress()); + fnSetTargetLabelAddr(target, item.getName(), item.getMyAddress(), item.getPartnerAddress()); } }; @@ -408,7 +412,7 @@ void AddressBook::addAddressLabel(QString label, QString address, QString myAddr // Iterate over the list and remove the label/address for (int i=0; i < allLabels.size(); i++) if (allLabels[i].getName() == label) - removeAddressLabel(allLabels[i].getName(), allLabels[i].getPartnerAddress()); + removeAddressLabel(allLabels[i].getName(), allLabels[i].getPartnerAddress(),allLabels[i].getMyAddress()); ContactItem item = ContactItem(myAddr, address, label); allLabels.push_back(item); @@ -416,7 +420,7 @@ void AddressBook::addAddressLabel(QString label, QString address, QString myAddr } // Remove a new address/label from the database -void AddressBook::removeAddressLabel(QString label, QString address) +void AddressBook::removeAddressLabel(QString label, QString address, QString myAddr) { // Iterate over the list and remove the label/address for (int i=0; i < allLabels.size(); i++) diff --git a/src/addressbook.h b/src/addressbook.h index fc3d4b9..ec3b6fe 100644 --- a/src/addressbook.h +++ b/src/addressbook.h @@ -46,7 +46,7 @@ public: void addAddressLabel(QString label, QString address, QString myAddr); // Remove a new address/label from the database - void removeAddressLabel(QString label, QString address); + void removeAddressLabel(QString label, QString address, QString myAddr); // Update a label/address void updateLabel(QString oldlabel, QString address, QString newlabel); diff --git a/src/addressbook.ui b/src/addressbook.ui index a20ee8f..20104b9 100644 --- a/src/addressbook.ui +++ b/src/addressbook.ui @@ -13,65 +13,61 @@ Address Book - - + + Add New Address - - - + + + - Address (z-Addr or t-Addr) + HushChat Address - give this Address only to your contact - - + + - - + + - Label + Address (z-Addr or t-Addr) - + 40 - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Add to Address Book - - - - + + + + + + + Label + + + + + + + + + + Add to Address Book + + - + QAbstractItemView::SingleSelection @@ -87,7 +83,7 @@ - + diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 7ab2da2..d1c331e 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1286,7 +1286,7 @@ void MainWindow::setupReceiveTab() { if (!curLabel.isEmpty() && label.isEmpty()) { info = "Removed Label '" % curLabel % "'"; - AddressBook::getInstance()->removeAddressLabel(curLabel, addr); + AddressBook::getInstance()->removeAddressLabel(curLabel, addr, ""); } else if (!curLabel.isEmpty() && !label.isEmpty()) { info = "Updated Label '" % curLabel % "' to '" % label % "'"; diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 02c074c..8dd559f 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1417,6 +1417,9 @@ + + true + 340 @@ -1425,6 +1428,18 @@ 371 + + QAbstractItemView::NoEditTriggers + + + false + + + Qt::IgnoreAction + + + QAbstractItemView::NoSelection + From e9ae0e78c5f21402b8f87ba4df6a0dde5cdfa731 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 29 Apr 2020 00:51:07 +0200 Subject: [PATCH 018/256] send Memo to selected Contact --- lib/Cargo.lock | 6 ++--- lib/Cargo.toml | 2 +- src/chatmodel.cpp | 17 ++++++++++---- src/contactmodel.cpp | 4 +++- src/mainwindow.cpp | 15 ++++++++++++ src/mainwindow.ui | 55 +++++++++++++++++++++++++++++++++++++------- 6 files changed, 82 insertions(+), 17 deletions(-) diff --git a/lib/Cargo.lock b/lib/Cargo.lock index 089d4ac..96d8bdf 100644 --- a/lib/Cargo.lock +++ b/lib/Cargo.lock @@ -1177,7 +1177,7 @@ version = "0.1.0" dependencies = [ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", - "silentdragonlitelib 0.1.0 (git+https://github.com/MyHush/silentdragonlite-cli?rev=7efa024660cbe08e7eadf2524134e153c89c51ad)", + "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=d3a66550ed8c6216b13002ce6e5b425367f30770)", ] [[package]] @@ -1640,7 +1640,7 @@ dependencies = [ [[package]] name = "silentdragonlitelib" version = "0.1.0" -source = "git+https://github.com/MyHush/silentdragonlite-cli?rev=7efa024660cbe08e7eadf2524134e153c89c51ad#7efa024660cbe08e7eadf2524134e153c89c51ad" +source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=d3a66550ed8c6216b13002ce6e5b425367f30770#d3a66550ed8c6216b13002ce6e5b425367f30770" dependencies = [ "base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "bellman 0.1.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", @@ -2630,7 +2630,7 @@ dependencies = [ "checksum serde_yaml 0.8.11 (registry+https://github.com/rust-lang/crates.io-index)" = "691b17f19fc1ec9d94ec0b5864859290dff279dbd7b03f017afda54eb36c3c35" "checksum sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "27044adfd2e1f077f649f59deb9490d3941d674002f7d062870a60ebe9bd47a0" "checksum signal-hook-registry 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94f478ede9f64724c5d173d7bb56099ec3e2d9fc2774aac65d34b8b890405f41" -"checksum silentdragonlitelib 0.1.0 (git+https://github.com/MyHush/silentdragonlite-cli?rev=7efa024660cbe08e7eadf2524134e153c89c51ad)" = "" +"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=d3a66550ed8c6216b13002ce6e5b425367f30770)" = "" "checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" "checksum smallvec 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "f7b0758c52e15a8b5e3691eae6cc559f08eee9406e548a4477ba4e67770a82b6" "checksum socket2 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "e8b74de517221a2cb01a53349cf54182acdc31a074727d3079068448c0676d85" diff --git a/lib/Cargo.toml b/lib/Cargo.toml index 65c97ad..bd615ca 100644 --- a/lib/Cargo.toml +++ b/lib/Cargo.toml @@ -11,4 +11,4 @@ crate-type = ["staticlib"] [dependencies] libc = "0.2.58" lazy_static = "1.4.0" -silentdragonlitelib = { git = "https://github.com/MyHush/silentdragonlite-cli", rev = "7efa024660cbe08e7eadf2524134e153c89c51ad" } +silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "d3a66550ed8c6216b13002ce6e5b425367f30770" } diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 43e929e..64a781b 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -74,6 +74,7 @@ void ChatModel::renderChatBox(QListWidget &view) void ChatModel::renderChatBox(QListWidget *view) { + qDebug() << "called ChatModel::renderChatBox(QListWidget *view)"; QString line = ""; while(view->count() > 0) @@ -97,6 +98,7 @@ void ChatModel::renderChatBox(QListWidget *view) QString MainWindow::createHeaderMemo(QString cid, QString zaddr, int version=0, int headerNumber=1) { + QString header=""; QJsonDocument j; QJsonObject h; @@ -120,7 +122,14 @@ Tx MainWindow::createTxFromChatPage() { CAmount totalAmt; // For each addr/amt in the Chat tab { - QString addr = ""; // We need to set the reply Address for our Contact here + + + + // ui->ContactZaddr->setText("Zaddr"); + + + + QString addr = ui->ContactZaddr->text().trimmed(); // We need to set the reply Address for our Contact here // Remove label if it exists addr = AddressBook::addressFromAddressLabel(addr); @@ -134,15 +143,15 @@ Tx MainWindow::createTxFromChatPage() { totalAmt = totalAmt + amt; QString cid = QString::number( time(NULL) % std::rand() ); // low entropy for testing! // QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); // Needs to get a fix - QString hmemo= createHeaderMemo(cid,"ZADDR"); + QString hmemo= createHeaderMemo(cid,"Some ZADDR"); QString memo = ui->memoTxtChat->toPlainText().trimmed(); // ui->memoSizeChat->setLenDisplayLabel(); - tx.toAddrs.push_back(ToFields{addr, amt, hmemo.toUtf8().toHex()}) ; + tx.toAddrs.push_back(ToFields{addr, amt, hmemo}) ; qDebug()<getAllAddressLabels()) { - view->addItem(c.getName()); + view->addItem(c.getPartnerAddress()); + } } \ No newline at end of file diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index d1c331e..cf063b1 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -988,7 +988,22 @@ void MainWindow::setupchatTab() { // Send button QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::sendChatButton); + +///////// Set selected Zaddr for Chat with Doubleklick + + QObject::connect(ui->listContactWidget, &QTableView::doubleClicked, [=] () { + for (auto p : AddressBook::getInstance()->getAllAddressLabels()) { + QModelIndex index = ui->listContactWidget->currentIndex(); + QString itemText = index.data(Qt::DisplayRole).toString(); + ui->ContactZaddr->setText(itemText); + + } + + /// ui->listContactWidget->setCurrentRow(1) + + }); +} ChatMemoEdit::ChatMemoEdit(QWidget* parent) : QPlainTextEdit(parent) { QObject::connect(this, &QPlainTextEdit::textChanged, this, &ChatMemoEdit::updateDisplay); diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 8dd559f..a2e83da 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1354,9 +1354,9 @@ - 357 - 460 - 329 + 340 + 490 + 61 17 @@ -1367,8 +1367,8 @@ - 347 - 483 + 340 + 510 901 128 @@ -1377,8 +1377,8 @@ - 360 - 620 + 350 + 650 158 25 @@ -1445,7 +1445,7 @@ 1130 - 620 + 650 114 25 @@ -1463,6 +1463,45 @@ false + + + + 410 + 490 + 67 + 17 + + + + To: + + + + + + 520 + 490 + 67 + 17 + + + + + + + + + + 740 + 490 + 171 + 17 + + + + + + From 205bb29f4a52c9ce662838bceceb94aaef61fd70 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 29 Apr 2020 01:24:38 +0200 Subject: [PATCH 019/256] show only memos from selcted contact - work in progress --- src/chatmodel.cpp | 13 +++++++++++++ src/chatmodel.h | 1 + src/mainwindow.cpp | 7 +------ 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 64a781b..c037fa5 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -62,6 +62,8 @@ void ChatModel::showMessages() } } + + void ChatModel::renderChatBox(QListWidget &view) { /*for(auto &c : this->chatItems) @@ -82,8 +84,15 @@ void ChatModel::renderChatBox(QListWidget *view) view->takeItem(0); } + //QModelIndex index = parent->listContactWidget->currentIndex(); + // QString itemText = index.data(Qt::DisplayRole).toString(); + + for(auto &c : this->chatItems) + { + + // if ("" == QString(c.second.getAddress())){ ////// ToDo: render only memos from selected contact QDateTime myDateTime; myDateTime.setTime_t(c.second.getTimestamp()); @@ -93,6 +102,10 @@ void ChatModel::renderChatBox(QListWidget *view) line += QString(c.second.getMemo()) + QString("\n"); view->addItem(line); line =""; + // } + // else{ + + // } } } diff --git a/src/chatmodel.h b/src/chatmodel.h index 8472028..524ce61 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -102,6 +102,7 @@ class ChatModel { private: std::map chatItems; + QTableView* parent; public: ChatModel() {}; diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index cf063b1..21f922a 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -992,15 +992,10 @@ void MainWindow::setupchatTab() { ///////// Set selected Zaddr for Chat with Doubleklick QObject::connect(ui->listContactWidget, &QTableView::doubleClicked, [=] () { - for (auto p : AddressBook::getInstance()->getAllAddressLabels()) { + QModelIndex index = ui->listContactWidget->currentIndex(); QString itemText = index.data(Qt::DisplayRole).toString(); ui->ContactZaddr->setText(itemText); - - - } - - /// ui->listContactWidget->setCurrentRow(1) }); } From 17cc83ab7b3ec0c48e116532f46f86ef81a1bdfd Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 29 Apr 2020 14:40:13 +0200 Subject: [PATCH 020/256] use quuid as cid in headermemo --- src/chatmodel.cpp | 11 ++++++----- src/mainwindow.cpp | 6 +++--- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index c037fa5..552116c 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -140,9 +140,9 @@ Tx MainWindow::createTxFromChatPage() { // ui->ContactZaddr->setText("Zaddr"); - + - QString addr = ui->ContactZaddr->text().trimmed(); // We need to set the reply Address for our Contact here + QString addr = ui->ContactZaddr->text().trimmed(); // We need to set the reply Address for our Contact here // Remove label if it exists addr = AddressBook::addressFromAddressLabel(addr); @@ -154,12 +154,13 @@ Tx MainWindow::createTxFromChatPage() { amt = CAmount::fromDecimalString("0"); totalAmt = totalAmt + amt; - QString cid = QString::number( time(NULL) % std::rand() ); // low entropy for testing! - // QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); // Needs to get a fix + + // QString cid = QString::number( time(NULL) % std::rand() ); // low entropy for testing! + QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); // Needs to get a fix QString hmemo= createHeaderMemo(cid,"Some ZADDR"); QString memo = ui->memoTxtChat->toPlainText().trimmed(); - // ui->memoSizeChat->setLenDisplayLabel(); + // ui->memoSizeChat->setLenDisplayLabel(); tx.toAddrs.push_back(ToFields{addr, amt, hmemo}) ; diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 21f922a..b703b53 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -991,11 +991,11 @@ void MainWindow::setupchatTab() { ///////// Set selected Zaddr for Chat with Doubleklick - QObject::connect(ui->listContactWidget, &QTableView::doubleClicked, [=] () { + QObject::connect(ui->listContactWidget, &QTableView::clicked, [=] () { QModelIndex index = ui->listContactWidget->currentIndex(); - QString itemText = index.data(Qt::DisplayRole).toString(); - ui->ContactZaddr->setText(itemText); + QString zaddr = index.data(Qt::DisplayRole).toString(); + ui->ContactZaddr->setText(zaddr); }); } From dd48ab87ebeed2af26a9756f3ca17e970f91a69b Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 29 Apr 2020 16:58:33 +0200 Subject: [PATCH 021/256] create and add cid to Addressbook --- src/addressbook.cpp | 45 +++++++++++++++++++++++++++----------------- src/addressbook.h | 6 +++--- src/contactmodel.cpp | 2 +- src/contactmodel.h | 16 ++++++++++++++-- src/mainwindow.cpp | 4 ++-- src/mainwindow.ui | 28 +++++++++++++++++++++++---- 6 files changed, 72 insertions(+), 29 deletions(-) diff --git a/src/addressbook.cpp b/src/addressbook.cpp index 178cbdf..5c6a229 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -8,7 +8,7 @@ AddressBookModel::AddressBookModel(QTableView *parent) : QAbstractTableModel(parent) { - headers << tr("Label") << tr("Address") << tr("HushChatAddress"); + headers << tr("Label") << tr("Address") << tr("HushChatAddress") << tr("cid"); this->parent = parent; loadData(); } @@ -38,10 +38,10 @@ void AddressBookModel::loadData() ); } -void AddressBookModel::addNewLabel(QString label, QString addr, QString myAddr) +void AddressBookModel::addNewLabel(QString label, QString addr, QString myAddr, QString cid) { //labels.push_back(QPair(label, addr)); - AddressBook::getInstance()->addAddressLabel(label, addr, myAddr); + AddressBook::getInstance()->addAddressLabel(label, addr, myAddr, cid); updateUi(); } @@ -59,7 +59,7 @@ void AddressBookModel::removeItemAt(int row) if (row >= labels.size()) return; - AddressBook::getInstance()->removeAddressLabel(labels[row].getName(), labels[row].getPartnerAddress(), labels[row].getMyAddress()); + AddressBook::getInstance()->removeAddressLabel(labels[row].getName(), labels[row].getPartnerAddress(), labels[row].getMyAddress(),labels[row].getcid()); labels.clear(); labels = AddressBook::getInstance()->getAllAddressLabels(); dataChanged(index(0, 0), index(labels.size()-1, columnCount(index(0,0))-1)); @@ -70,7 +70,7 @@ ContactItem AddressBookModel::itemAt(int row) { if (row >= labels.size()) { - ContactItem item = ContactItem("", "", ""); + ContactItem item = ContactItem("", "", "", ""); return item; } @@ -100,6 +100,7 @@ QVariant AddressBookModel::data(const QModelIndex &index, int role) const case 0: return labels.at(index.row()).getName(); case 1: return labels.at(index.row()).getPartnerAddress(); case 2: return labels.at(index.row()).getMyAddress(); + case 3: return labels.at(index.row()).getcid(); } } @@ -190,17 +191,24 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) QMessageBox::critical( parent, QObject::tr("Success"), - message, //todo traslate this shit + message, //todo translate this QMessageBox::Ok ); // ab.addr_chat->setText(myAddr); qDebug() << "new generated myAddr" << myAddr; - AddressBook::getInstance()->addAddressLabel(newLabel, ab.addr->text(), myAddr); + QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); // + AddressBook::getInstance()->addAddressLabel(newLabel, ab.addr->text(), myAddr, cid); }); model.updateUi(); //todo fix updating gui after adding }); + /// Generate CID for Contact + + + + // AddressBook::getInstance()->addAddressLabel(newLabel, ab.addr->text(), cid); + // Import Button QObject::connect(ab.btnImport, &QPushButton::clicked, [&] () { // Get the import file name. @@ -236,7 +244,7 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) continue; // Add label, address. - model.addNewLabel(items.at(1), items.at(0), ""); + model.addNewLabel(items.at(1), items.at(0), "", ""); numImported++; } @@ -247,7 +255,7 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) ); }); - auto fnSetTargetLabelAddr = [=] (QLineEdit* target, QString label, QString addr, QString myAddr) { + auto fnSetTargetLabelAddr = [=] (QLineEdit* target, QString label, QString addr, QString myAddr, QString cid) { target->setText(label % "/" % addr % myAddr); }; @@ -263,8 +271,9 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) QString lbl = model.itemAt(index.row()).getName(); QString addr = model.itemAt(index.row()).getPartnerAddress(); QString myAddr = model.itemAt(index.row()).getMyAddress(); + QString cid = model.itemAt(index.row()).getcid(); d.accept(); - fnSetTargetLabelAddr(target, lbl, addr, myAddr); + fnSetTargetLabelAddr(target, lbl, addr, myAddr, cid); }); // Right-Click @@ -277,13 +286,14 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) QString lbl = model.itemAt(index.row()).getName(); QString addr = model.itemAt(index.row()).getPartnerAddress(); QString myAddr = model.itemAt(index.row()).getMyAddress(); + QString cid = model.itemAt(index.row()).getcid(); QMenu menu(parent); if (target != nullptr) menu.addAction("Pick", [&] () { d.accept(); - fnSetTargetLabelAddr(target, lbl, addr, myAddr); + fnSetTargetLabelAddr(target, lbl, addr, myAddr, cid); }); menu.addAction(QObject::tr("Copy address"), [&] () { @@ -302,7 +312,7 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) auto selection = ab.addresses->selectionModel(); if (selection && selection->hasSelection() && selection->selectedRows().size() > 0) { auto item = model.itemAt(selection->selectedRows().at(0).row()); - fnSetTargetLabelAddr(target, item.getName(), item.getMyAddress(), item.getPartnerAddress()); + fnSetTargetLabelAddr(target, item.getName(), item.getMyAddress(), item.getPartnerAddress(), item.getcid()); } }; @@ -348,7 +358,7 @@ void AddressBook::readFromStorage() //qDebug() << "0:" << stuff[i][0]; //qDebug() << "1:" << stuff[i][1]; //qDebug() << "2:" << stuff[i][2]; - ContactItem contact = ContactItem(stuff[i][2], stuff[i][1], stuff[i][0]); + ContactItem contact = ContactItem(stuff[i][3],stuff[i][2], stuff[i][1], stuff[i][0]); //qDebug() << "contact=" << contact.toQTString(); allLabels.push_back(contact); } @@ -383,6 +393,7 @@ void AddressBook::writeToStorage() c.push_back(item.getName()); c.push_back(item.getPartnerAddress()); c.push_back(item.getMyAddress()); + c.push_back(item.getcid()); contacts.push_back(c); } out << QString("v1") << contacts; @@ -405,22 +416,22 @@ QString AddressBook::writeableFile() // Add a new address/label to the database -void AddressBook::addAddressLabel(QString label, QString address, QString myAddr) +void AddressBook::addAddressLabel(QString label, QString address, QString myAddr, QString cid) { Q_ASSERT(Settings::isValidAddress(address)); // getName(), remove any existing label // Iterate over the list and remove the label/address for (int i=0; i < allLabels.size(); i++) if (allLabels[i].getName() == label) - removeAddressLabel(allLabels[i].getName(), allLabels[i].getPartnerAddress(),allLabels[i].getMyAddress()); + removeAddressLabel(allLabels[i].getName(), allLabels[i].getPartnerAddress(),allLabels[i].getMyAddress(), allLabels[i].getcid()); - ContactItem item = ContactItem(myAddr, address, label); + ContactItem item = ContactItem(myAddr, address, label, cid); allLabels.push_back(item); writeToStorage(); } // Remove a new address/label from the database -void AddressBook::removeAddressLabel(QString label, QString address, QString myAddr) +void AddressBook::removeAddressLabel(QString label, QString address, QString myAddr, QString cid) { // Iterate over the list and remove the label/address for (int i=0; i < allLabels.size(); i++) diff --git a/src/addressbook.h b/src/addressbook.h index ec3b6fe..6f8308b 100644 --- a/src/addressbook.h +++ b/src/addressbook.h @@ -12,7 +12,7 @@ public: AddressBookModel(QTableView* parent); ~AddressBookModel(); - void addNewLabel(QString label, QString address, QString myAddr); + void addNewLabel(QString label, QString address, QString myAddr, QString cid); void updateUi(); void removeItemAt(int row); //QPair itemAt(int row); @@ -43,10 +43,10 @@ public: static QString addressFromAddressLabel(const QString& lblAddr); // Add a new address/label to the database - void addAddressLabel(QString label, QString address, QString myAddr); + void addAddressLabel(QString label, QString address, QString myAddr, QString cid); // Remove a new address/label from the database - void removeAddressLabel(QString label, QString address, QString myAddr); + void removeAddressLabel(QString label, QString address, QString myAddr, QString cid); // Update a label/address void updateLabel(QString oldlabel, QString address, QString newlabel); diff --git a/src/contactmodel.cpp b/src/contactmodel.cpp index fe96fce..154124b 100644 --- a/src/contactmodel.cpp +++ b/src/contactmodel.cpp @@ -10,7 +10,7 @@ void ContactModel::renderContactList(QListWidget* view) } for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) { - view->addItem(c.getPartnerAddress()); + view->addItem(c.getPartnerAddress()); //hide } diff --git a/src/contactmodel.h b/src/contactmodel.h index d1ce239..fcf6b5b 100644 --- a/src/contactmodel.h +++ b/src/contactmodel.h @@ -11,14 +11,16 @@ class ContactItem QString _myAddress; QString _partnerAddress; QString _name; + QString _cid; public: ContactItem(); - ContactItem(QString myAddress, QString partnerAddress, QString name) + ContactItem(QString myAddress, QString partnerAddress, QString name, QString cid) { _myAddress = myAddress; _partnerAddress = partnerAddress; _name = name; + _cid = cid; } QString getName() const @@ -36,6 +38,11 @@ class ContactItem return _partnerAddress; } + QString getcid() const + { + return _cid; + } + void setName(QString name) { _name = name; @@ -51,9 +58,14 @@ class ContactItem _partnerAddress = partnerAddress; } + void setcid(QString cid) + { + _cid = cid; + } + QString toQTString() { - return _name + "|" + _partnerAddress + "|" + _myAddress; + return _name + "|" + _partnerAddress + "|" + _myAddress + "|" + _cid; } }; diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index b703b53..cc60938 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1296,7 +1296,7 @@ void MainWindow::setupReceiveTab() { if (!curLabel.isEmpty() && label.isEmpty()) { info = "Removed Label '" % curLabel % "'"; - AddressBook::getInstance()->removeAddressLabel(curLabel, addr, ""); + AddressBook::getInstance()->removeAddressLabel(curLabel, addr, "", ""); } else if (!curLabel.isEmpty() && !label.isEmpty()) { info = "Updated Label '" % curLabel % "' to '" % label % "'"; @@ -1304,7 +1304,7 @@ void MainWindow::setupReceiveTab() { } else if (curLabel.isEmpty() && !label.isEmpty()) { info = "Added Label '" % label % "'"; - AddressBook::getInstance()->addAddressLabel(label, addr, ""); + AddressBook::getInstance()->addAddressLabel(label, addr, "", ""); } // Update labels everywhere on the UI diff --git a/src/mainwindow.ui b/src/mainwindow.ui index a2e83da..4197b0f 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -14,7 +14,7 @@ SilentDragonLite - + :/icons/res/icon.ico:/icons/res/icon.ico @@ -1502,6 +1502,28 @@ + + + + 943 + 20 + 211 + 25 + + + + + 100 + 0 + + + + Sicheren Kontakt hinzufügen + + + false + + @@ -1714,8 +1736,6 @@ minerFeeAmt sendToScrollArea - - - + From 1aa5a05589a862fdb29b4b35632808cbd0e8a6bb Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 29 Apr 2020 18:20:53 +0200 Subject: [PATCH 022/256] take sendtoaddr,myaddr and cid from contact object --- src/addressbook.cpp | 18 +++++++++--------- src/chatmodel.cpp | 18 ++++++++++++------ src/contactmodel.cpp | 2 +- src/contactmodel.h | 6 +++--- 4 files changed, 25 insertions(+), 19 deletions(-) diff --git a/src/addressbook.cpp b/src/addressbook.cpp index 5c6a229..ca224b4 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -59,7 +59,7 @@ void AddressBookModel::removeItemAt(int row) if (row >= labels.size()) return; - AddressBook::getInstance()->removeAddressLabel(labels[row].getName(), labels[row].getPartnerAddress(), labels[row].getMyAddress(),labels[row].getcid()); + AddressBook::getInstance()->removeAddressLabel(labels[row].getName(), labels[row].getPartnerAddress(), labels[row].getMyAddress(),labels[row].getCid()); labels.clear(); labels = AddressBook::getInstance()->getAllAddressLabels(); dataChanged(index(0, 0), index(labels.size()-1, columnCount(index(0,0))-1)); @@ -100,7 +100,7 @@ QVariant AddressBookModel::data(const QModelIndex &index, int role) const case 0: return labels.at(index.row()).getName(); case 1: return labels.at(index.row()).getPartnerAddress(); case 2: return labels.at(index.row()).getMyAddress(); - case 3: return labels.at(index.row()).getcid(); + case 3: return labels.at(index.row()).getCid(); } } @@ -271,7 +271,7 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) QString lbl = model.itemAt(index.row()).getName(); QString addr = model.itemAt(index.row()).getPartnerAddress(); QString myAddr = model.itemAt(index.row()).getMyAddress(); - QString cid = model.itemAt(index.row()).getcid(); + QString cid = model.itemAt(index.row()).getCid(); d.accept(); fnSetTargetLabelAddr(target, lbl, addr, myAddr, cid); }); @@ -286,7 +286,7 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) QString lbl = model.itemAt(index.row()).getName(); QString addr = model.itemAt(index.row()).getPartnerAddress(); QString myAddr = model.itemAt(index.row()).getMyAddress(); - QString cid = model.itemAt(index.row()).getcid(); + QString cid = model.itemAt(index.row()).getCid(); QMenu menu(parent); @@ -312,7 +312,7 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) auto selection = ab.addresses->selectionModel(); if (selection && selection->hasSelection() && selection->selectedRows().size() > 0) { auto item = model.itemAt(selection->selectedRows().at(0).row()); - fnSetTargetLabelAddr(target, item.getName(), item.getMyAddress(), item.getPartnerAddress(), item.getcid()); + fnSetTargetLabelAddr(target, item.getName(), item.getMyAddress(), item.getPartnerAddress(), item.getCid()); } }; @@ -358,7 +358,7 @@ void AddressBook::readFromStorage() //qDebug() << "0:" << stuff[i][0]; //qDebug() << "1:" << stuff[i][1]; //qDebug() << "2:" << stuff[i][2]; - ContactItem contact = ContactItem(stuff[i][3],stuff[i][2], stuff[i][1], stuff[i][0]); + ContactItem contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3]); //qDebug() << "contact=" << contact.toQTString(); allLabels.push_back(contact); } @@ -393,7 +393,7 @@ void AddressBook::writeToStorage() c.push_back(item.getName()); c.push_back(item.getPartnerAddress()); c.push_back(item.getMyAddress()); - c.push_back(item.getcid()); + c.push_back(item.getCid()); contacts.push_back(c); } out << QString("v1") << contacts; @@ -423,9 +423,9 @@ void AddressBook::addAddressLabel(QString label, QString address, QString myAddr // Iterate over the list and remove the label/address for (int i=0; i < allLabels.size(); i++) if (allLabels[i].getName() == label) - removeAddressLabel(allLabels[i].getName(), allLabels[i].getPartnerAddress(),allLabels[i].getMyAddress(), allLabels[i].getcid()); + removeAddressLabel(allLabels[i].getName(), allLabels[i].getPartnerAddress(),allLabels[i].getMyAddress(), allLabels[i].getCid()); - ContactItem item = ContactItem(myAddr, address, label, cid); + ContactItem item = ContactItem(label, address, myAddr, cid); allLabels.push_back(item); writeToStorage(); } diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 552116c..d412bc4 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -136,9 +136,9 @@ Tx MainWindow::createTxFromChatPage() { // For each addr/amt in the Chat tab { - + - // ui->ContactZaddr->setText("Zaddr"); + @@ -155,10 +155,16 @@ Tx MainWindow::createTxFromChatPage() { amt = CAmount::fromDecimalString("0"); totalAmt = totalAmt + amt; - // QString cid = QString::number( time(NULL) % std::rand() ); // low entropy for testing! - QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); // Needs to get a fix - QString hmemo= createHeaderMemo(cid,"Some ZADDR"); + + for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) + if (ui->ContactZaddr->text().trimmed() == c.getName()) { + + QString cid = c.getCid(); + QString myAddr = c.getMyAddress(); + QString addr = c.getPartnerAddress(); + + QString hmemo= createHeaderMemo(cid,myAddr); QString memo = ui->memoTxtChat->toPlainText().trimmed(); // ui->memoSizeChat->setLenDisplayLabel(); @@ -168,7 +174,7 @@ Tx MainWindow::createTxFromChatPage() { tx.toAddrs.push_back( ToFields{addr, amt, memo}); qDebug() << "pushback chattx"; - } + } } tx.fee = Settings::getMinerFee(); diff --git a/src/contactmodel.cpp b/src/contactmodel.cpp index 154124b..0e9a6ea 100644 --- a/src/contactmodel.cpp +++ b/src/contactmodel.cpp @@ -10,7 +10,7 @@ void ContactModel::renderContactList(QListWidget* view) } for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) { - view->addItem(c.getPartnerAddress()); //hide + view->addItem(c.getName()); } diff --git a/src/contactmodel.h b/src/contactmodel.h index fcf6b5b..886b285 100644 --- a/src/contactmodel.h +++ b/src/contactmodel.h @@ -15,11 +15,11 @@ class ContactItem public: ContactItem(); - ContactItem(QString myAddress, QString partnerAddress, QString name, QString cid) + ContactItem(QString name, QString partnerAddress, QString myAddress, QString cid) { + _name = name; _myAddress = myAddress; _partnerAddress = partnerAddress; - _name = name; _cid = cid; } @@ -38,7 +38,7 @@ class ContactItem return _partnerAddress; } - QString getcid() const + QString getCid() const { return _cid; } From e3e537b1a40be65929790c93be25490d4a9f5899 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 29 Apr 2020 22:07:19 +0200 Subject: [PATCH 023/256] do not render Headermemos --- src/controller.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/controller.cpp b/src/controller.cpp index dd46217..a28b74c 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -880,6 +880,10 @@ void Controller::refreshTransactions() if (!o["memo"].is_null()) { memo = QString::fromStdString(o["memo"]); + if (memo.startsWith("{")) + { + + }else{ ChatItem item = ChatItem( datetime, address, @@ -890,6 +894,7 @@ void Controller::refreshTransactions() chatModel->addMessage(item); } + } items.push_back(TransactionItemDetail{address, amount, memo}); @@ -929,6 +934,11 @@ void Controller::refreshTransactions() if (!it["memo"].is_null()) { memo = QString::fromStdString(it["memo"]); + if (memo.startsWith("{")) + { + + }else{ + ChatItem item = ChatItem( datetime, address, @@ -936,7 +946,7 @@ void Controller::refreshTransactions() memo ); chatModel->addMessage(item); - } + }} items.push_back( From e263719206f98fd602aad68715f5baaf8da1126a Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 29 Apr 2020 22:16:33 +0200 Subject: [PATCH 024/256] fix gui element --- src/mainwindow.ui | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 4197b0f..59d3e78 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -14,7 +14,7 @@ SilentDragonLite - + :/icons/res/icon.ico:/icons/res/icon.ico @@ -1356,7 +1356,7 @@ 340 490 - 61 + 331 17 @@ -1466,7 +1466,7 @@ - 410 + 690 490 67 17 @@ -1736,6 +1736,8 @@ minerFeeAmt sendToScrollArea
- + + + From 45f3a80885bce88338bf47a2de5cb29d839d33ec Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 29 Apr 2020 22:53:04 +0200 Subject: [PATCH 025/256] add contact request flag to headermemo - work in progress --- src/chatmodel.cpp | 180 +++++++++++++++++++++++++++++++++++++++++---- src/mainwindow.cpp | 2 +- src/mainwindow.h | 5 +- src/mainwindow.ui | 2 +- 4 files changed, 173 insertions(+), 16 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index d412bc4..53f94a2 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -83,11 +83,7 @@ void ChatModel::renderChatBox(QListWidget *view) { view->takeItem(0); } - - //QModelIndex index = parent->listContactWidget->currentIndex(); - // QString itemText = index.data(Qt::DisplayRole).toString(); - - + for(auto &c : this->chatItems) { @@ -109,7 +105,7 @@ void ChatModel::renderChatBox(QListWidget *view) } } -QString MainWindow::createHeaderMemo(QString cid, QString zaddr, int version=0, int headerNumber=1) +QString MainWindow::createHeaderMemo(QString safeContact, QString cid, QString zaddr, int version=0, int headerNumber=1) { QString header=""; @@ -121,6 +117,7 @@ QString MainWindow::createHeaderMemo(QString cid, QString zaddr, int version=0, h["v"] = version; // HushChat version h["z"] = zaddr; // zaddr to respond to h["cid"] = cid; // conversation id + h["c"] = safeContact; // Is this a safe Contact request? j.setObject(h); header = j.toJson(); @@ -135,13 +132,7 @@ Tx MainWindow::createTxFromChatPage() { CAmount totalAmt; // For each addr/amt in the Chat tab { - - - - - - QString addr = ui->ContactZaddr->text().trimmed(); // We need to set the reply Address for our Contact here // Remove label if it exists addr = AddressBook::addressFromAddressLabel(addr); @@ -162,9 +153,11 @@ Tx MainWindow::createTxFromChatPage() { QString cid = c.getCid(); QString myAddr = c.getMyAddress(); + QString safeContact = "false"; QString addr = c.getPartnerAddress(); + - QString hmemo= createHeaderMemo(cid,myAddr); + QString hmemo= createHeaderMemo(safeContact,cid,myAddr); QString memo = ui->memoTxtChat->toPlainText().trimmed(); // ui->memoSizeChat->setLenDisplayLabel(); @@ -291,5 +284,166 @@ QString MainWindow::doSendChatTxValidations(Tx tx) { .arg(available.toDecimalhushString(), total.toDecimalhushString()); } + return ""; +} + +// Create a Safe Contact Request. +Tx MainWindow::createTxForSafeContactRequest() { + Tx tx; + CAmount totalAmt; + // For each addr/amt in the Chat tab + { + + QString addr = ui->ContactZaddr->text().trimmed(); // We need to set the reply Address for our Contact here + // Remove label if it exists + addr = AddressBook::addressFromAddressLabel(addr); + + QString amtStr = "0"; + + // bool ok; + CAmount amt; + + + amt = CAmount::fromDecimalString("0"); + totalAmt = totalAmt + amt; + + + for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) + + if (ui->ContactZaddr->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 + // QString addr = c.getPartnerAddress(); // this address will be insert by the user + QString safeContact = "true"; + + + QString hmemo= createHeaderMemo(safeContact,cid,myAddr); + QString memo = ui->memoTxtChat->toPlainText().trimmed(); + // ui->memoSizeChat->setLenDisplayLabel(); + + + tx.toAddrs.push_back(ToFields{addr, amt, hmemo}) ; + qDebug()<text()))) { + // QMessageBox msg(QMessageBox::Critical, tr("Memos can only be used with z-addresses"), + // tr("The memo field can only be used with a z-address.\n") + addr->text() + tr("\ndoesn't look like a z-address"), + // QMessageBox::Ok, this); + + // msg.exec(); + //return; + //} + + Tx tx = createTxForSafeContactRequest(); + + QString error = doSendChatTxValidations(tx); + + if (!error.isEmpty()) { + // Something went wrong, so show an error and exit + QMessageBox msg(QMessageBox::Critical, tr("Message Error"), error, + QMessageBox::Ok, this); + + msg.exec(); + + // abort the Tx + return; + qDebug() << "Tx aborted"; + } + + // Create a new Dialog to show that we are computing/sending the Tx + auto d = new QDialog(this); + auto connD = new Ui_ConnectionDialog(); + connD->setupUi(d); + QPixmap logo(":/img/res/logobig.gif"); + connD->topIcon->setBasePixmap(logo.scaled(256, 256, Qt::KeepAspectRatio, Qt::SmoothTransformation)); + + connD->status->setText(tr("Please wait...")); + connD->statusDetail->setText(tr("Your Safe Contact Request will be send")); + + d->show(); + + // And send the Tx + rpc->executeTransaction(tx, + [=] (QString txid) { + ui->statusBar->showMessage(Settings::txidStatusMessage + " " + txid); + + connD->status->setText(tr("Done!")); + connD->statusDetail->setText(txid); + + QTimer::singleShot(1000, [=]() { + d->accept(); + d->close(); + delete connD; + delete d; + + }); + + // Force a UI update so we get the unconfirmed Tx + rpc->refresh(true); + + }, + // Errored out + [=] (QString opid, QString errStr) { + ui->statusBar->showMessage(QObject::tr(" Tx ") % opid % QObject::tr(" failed"), 15 * 1000); + + d->accept(); + d->close(); + delete connD; + delete d; + + if (!opid.isEmpty()) + errStr = QObject::tr("The transaction with id ") % opid % QObject::tr(" failed. The error was") + ":\n\n" + errStr; + + QMessageBox::critical(this, QObject::tr("Transaction Error"), errStr, QMessageBox::Ok); + } + ); + } + + +QString MainWindow::doSendRequestTxValidations(Tx tx) { + // Check to see if we have enough verified funds to send the Tx. + + CAmount total; + for (auto toAddr : tx.toAddrs) { + if (!Settings::isValidAddress(toAddr.addr)) { + QString addr = (toAddr.addr.length() > 100 ? toAddr.addr.left(100) + "..." : toAddr.addr); + return QString(tr("Recipient Address ")) % addr % tr(" is Invalid"); + } + + // This technically shouldn't be possible, but issue #62 seems to have discovered a bug + // somewhere, so just add a check to make sure. + if (toAddr.amount.toqint64() < 0) { + return QString(tr("Amount for address '%1' is invalid!").arg(toAddr.addr)); + } + + total = total + toAddr.amount; + } + total = total + tx.fee; + + auto available = rpc->getModel()->getAvailableBalance(); + + if (available < total) { + return tr("Not enough available funds to send this transaction\n\nHave: %1\nNeed: %2\n\nNote: Funds need 5 confirmations before they can be spent") + .arg(available.toDecimalhushString(), total.toDecimalhushString()); + } + return ""; } \ No newline at end of file diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index cc60938..88a4d5f 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -987,7 +987,7 @@ void MainWindow::setupchatTab() { // Send button QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::sendChatButton); - + QObject::connect(ui->safeContactRequest, &QPushButton::clicked, this, &MainWindow::safeContactRequest); ///////// Set selected Zaddr for Chat with Doubleklick diff --git a/src/mainwindow.h b/src/mainwindow.h index ad83f73..f9f781b 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -48,6 +48,7 @@ public: QString doSendTxValidations(Tx tx); QString doSendChatTxValidations(Tx tx); + QString doSendRequestTxValidations(Tx tx); void replaceWormholeClient(WormholeClient* newClient); bool isWebsocketListening(); @@ -76,7 +77,7 @@ public: Logger* logger; void doClose(); - QString createHeaderMemo(QString cid, QString zaddr, int version, int headerNumnber); + QString createHeaderMemo(QString safeContact, QString cid, QString zaddr, int version, int headerNumber); public slots: void slot_change_theme(const QString& themeName); @@ -103,6 +104,7 @@ private: bool confirmTx(Tx tx, RecurringPaymentInfo* rpi); Tx createTxFromChatPage(); + Tx createTxForSafeContactRequest(); void encryptWallet(); void removeWalletEncryption(); @@ -110,6 +112,7 @@ private: void cancelButton(); void sendButton(); void sendChatButton(); + void safeContactRequest(); void addAddressSection(); void maxAmountChecked(int checked); diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 59d3e78..4c8fa7b 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1502,7 +1502,7 @@ - + 943 From bf7cb9416816fcae841512b29061447f9056b4c4 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 29 Apr 2020 22:54:27 +0200 Subject: [PATCH 026/256] add contact request flag to headermemo - work in progress --- src/chatmodel.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 53f94a2..153fe97 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -315,6 +315,9 @@ Tx MainWindow::createTxForSafeContactRequest() { // 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 // QString addr = c.getPartnerAddress(); // this address will be insert by the user + QString cid = ""; + QString myAddr = ""; + QString addr = ""; QString safeContact = "true"; From d0b88255f24995c0fb98a508780436a387124b81 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 30 Apr 2020 00:08:50 +0200 Subject: [PATCH 027/256] do not render any header memo on the chatgui - render a incoming contact request - work in progress --- src/chatmodel.cpp | 21 ++++++++++++++++----- src/controller.cpp | 14 +++----------- src/mainwindow.ui | 13 ------------- 3 files changed, 19 insertions(+), 29 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 153fe97..9adcd56 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -88,8 +88,21 @@ void ChatModel::renderChatBox(QListWidget *view) { - // if ("" == QString(c.second.getAddress())){ ////// ToDo: render only memos from selected contact - QDateTime myDateTime; + if (c.second.getMemo().startsWith("{\n \"c\": \"true\"")){ + + // Render a incoming contact Request + + } + + if (c.second.getMemo().startsWith("{\n \"c\": \"false\"") ){ + + // we dont want to render this + + } + + if (c.second.getMemo().startsWith("{") == false){ //TOdo and is selected in Contact Widget - + + QDateTime myDateTime; myDateTime.setTime_t(c.second.getTimestamp()); //qDebug() << "[" << myDateTime.toString("dd.MM.yyyy hh:mm:ss ") << "] " << "<" << c.second.getAddress() << "> :" << c.second.getMemo(); @@ -98,10 +111,8 @@ void ChatModel::renderChatBox(QListWidget *view) line += QString(c.second.getMemo()) + QString("\n"); view->addItem(line); line =""; - // } - // else{ + } - // } } } diff --git a/src/controller.cpp b/src/controller.cpp index a28b74c..4a65ba9 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -880,10 +880,7 @@ void Controller::refreshTransactions() if (!o["memo"].is_null()) { memo = QString::fromStdString(o["memo"]); - if (memo.startsWith("{")) - { - }else{ ChatItem item = ChatItem( datetime, address, @@ -892,8 +889,7 @@ void Controller::refreshTransactions() true // is an outgoing message ); chatModel->addMessage(item); - - } + } @@ -934,11 +930,7 @@ void Controller::refreshTransactions() if (!it["memo"].is_null()) { memo = QString::fromStdString(it["memo"]); - if (memo.startsWith("{")) - { - - }else{ - + ChatItem item = ChatItem( datetime, address, @@ -946,7 +938,7 @@ void Controller::refreshTransactions() memo ); chatModel->addMessage(item); - }} + } items.push_back( diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 4c8fa7b..7bb612e 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1374,19 +1374,6 @@ - - - - 350 - 650 - 158 - 25 - - - - Include Reply Address - - From 8f3bc21844a2c78fc646248959bf07a90401e706 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 30 Apr 2020 20:17:08 +0200 Subject: [PATCH 028/256] render only memos from selected nickname --- src/chatmodel.cpp | 57 +++++++++++++++++++--------------------------- src/chatmodel.h | 11 +++++++-- src/controller.cpp | 4 ++-- src/mainwindow.cpp | 12 ++++++---- src/mainwindow.h | 2 +- src/mainwindow.ui | 8 +++---- 6 files changed, 47 insertions(+), 47 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 9adcd56..2b2b6a0 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -64,7 +64,7 @@ void ChatModel::showMessages() -void ChatModel::renderChatBox(QListWidget &view) +void ChatModel::renderChatBox(Ui::MainWindow* ui, QListWidget &view) { /*for(auto &c : this->chatItems) { @@ -74,49 +74,36 @@ void ChatModel::renderChatBox(QListWidget &view) //todo render items to view } -void ChatModel::renderChatBox(QListWidget *view) +void ChatModel::renderChatBox(Ui::MainWindow* ui, QListWidget *view) { - - qDebug() << "called ChatModel::renderChatBox(QListWidget *view)"; - QString line = ""; + while(view->count() > 0) { view->takeItem(0); } - - for(auto &c : this->chatItems) - - { - - if (c.second.getMemo().startsWith("{\n \"c\": \"true\"")){ - - // Render a incoming contact Request - - } - - if (c.second.getMemo().startsWith("{\n \"c\": \"false\"") ){ - - // we dont want to render this - - } - - if (c.second.getMemo().startsWith("{") == false){ //TOdo and is selected in Contact Widget - + QString line = ""; + + for(auto &c : this->chatItems){ + QDateTime myDateTime; myDateTime.setTime_t(c.second.getTimestamp()); - //qDebug() << "[" << myDateTime.toString("dd.MM.yyyy hh:mm:ss ") << "] " << "<" << c.second.getAddress() << "> :" << c.second.getMemo(); + + ////// + if ((ui->ContactZaddr->text().trimmed() == c.second.getAddress()) && (c.second.getMemo().startsWith("{") == false)) { line += QString("[") + myDateTime.toString("dd.MM.yyyy hh:mm:ss ") + QString("] "); line += QString("<") + QString(c.second.getContact()) + QString("> :\n"); - line += QString(c.second.getMemo()) + QString("\n"); + line += QString(c.second.getMemo()) + QString("\n"); view->addItem(line); line =""; - } + }else {} } + } -QString MainWindow::createHeaderMemo(QString safeContact, QString cid, QString zaddr, int version=0, int headerNumber=1) +QString MainWindow::createHeaderMemo(QString type, QString cid, QString zaddr, int version=0, int headerNumber=1) { QString header=""; @@ -128,15 +115,15 @@ QString MainWindow::createHeaderMemo(QString safeContact, QString cid, QString z h["v"] = version; // HushChat version h["z"] = zaddr; // zaddr to respond to h["cid"] = cid; // conversation id - h["c"] = safeContact; // Is this a safe Contact request? + h["t"] = type; // Memo or incoming contact request j.setObject(h); header = j.toJson(); qDebug() << "made header=" << header; - return header; } + // Create a Tx from the current state of the Chat page. Tx MainWindow::createTxFromChatPage() { Tx tx; @@ -144,9 +131,9 @@ Tx MainWindow::createTxFromChatPage() { // For each addr/amt in the Chat tab { - QString addr = ui->ContactZaddr->text().trimmed(); // We need to set the reply Address for our Contact here + // QString addr = ui->ContactZaddr->text().trimmed(); // We need to set the reply Address for our Contact here // Remove label if it exists - addr = AddressBook::addressFromAddressLabel(addr); + // addr = AddressBook::addressFromAddressLabel(addr); QString amtStr = "0"; @@ -160,15 +147,15 @@ Tx MainWindow::createTxFromChatPage() { for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) - if (ui->ContactZaddr->text().trimmed() == c.getName()) { + if (ui->ContactZaddr->text().trimmed() == c.getPartnerAddress()) { QString cid = c.getCid(); QString myAddr = c.getMyAddress(); - QString safeContact = "false"; + QString type = "memo"; QString addr = c.getPartnerAddress(); - QString hmemo= createHeaderMemo(safeContact,cid,myAddr); + QString hmemo= createHeaderMemo(type,cid,myAddr); QString memo = ui->memoTxtChat->toPlainText().trimmed(); // ui->memoSizeChat->setLenDisplayLabel(); @@ -229,6 +216,7 @@ void MainWindow::sendChatButton() { connD->statusDetail->setText(tr("Your Message will be send")); d->show(); + ui->memoTxtChat->clear(); // And send the Tx rpc->executeTransaction(tx, @@ -248,6 +236,7 @@ void MainWindow::sendChatButton() { // Force a UI update so we get the unconfirmed Tx rpc->refresh(true); + ui->memoTxtChat->clear(); }, // Errored out diff --git a/src/chatmodel.h b/src/chatmodel.h index 524ce61..e0a6dd0 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -5,6 +5,10 @@ #include #include #include "precompiled.h" +#include "mainwindow.h" +#include "controller.h" +#include "settings.h" +#include "camount.h" class ChatItem { @@ -103,6 +107,8 @@ class ChatModel private: std::map chatItems; QTableView* parent; + Ui::MainWindow* ui; + MainWindow* main; public: ChatModel() {}; @@ -110,9 +116,10 @@ class ChatModel ChatModel(std::vector chatItems); std::map getItems(); void setItems(std::map items); + QString zaddr(); void setItems(std::vector items); - void renderChatBox(QListWidget &view); - void renderChatBox(QListWidget *view); + void renderChatBox(Ui::MainWindow* ui, QListWidget &view); + void renderChatBox(Ui::MainWindow* ui, QListWidget *view); void showMessages(); void clear(); void addMessage(ChatItem item); diff --git a/src/controller.cpp b/src/controller.cpp index 4a65ba9..0c557ca 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -985,7 +985,7 @@ void Controller::refreshTransactions() // Update model data, which updates the table view transactionsTableModel->replaceData(txdata); - chatModel->renderChatBox(ui->listChatMemo); + chatModel->renderChatBox(ui, ui->listChatMemo); refreshContacts( ui->listContactWidget ); @@ -994,7 +994,7 @@ void Controller::refreshTransactions() void Controller::refreshChat(QListWidget *listWidget) { - chatModel->renderChatBox(listWidget); + chatModel->renderChatBox(ui, listWidget); } void Controller::refreshContacts(QListWidget *listWidget) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 88a4d5f..ab37b27 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -994,10 +994,14 @@ void MainWindow::setupchatTab() { QObject::connect(ui->listContactWidget, &QTableView::clicked, [=] () { QModelIndex index = ui->listContactWidget->currentIndex(); - QString zaddr = index.data(Qt::DisplayRole).toString(); - ui->ContactZaddr->setText(zaddr); - - }); + QString label_contact = index.data(Qt::DisplayRole).toString(); + + for(auto &p : AddressBook::getInstance()->getAllAddressLabels()) + if (label_contact == p.getName()) + ui->ContactZaddr->setText(p.getPartnerAddress()); + + rpc->refresh(true); + }); } ChatMemoEdit::ChatMemoEdit(QWidget* parent) : QPlainTextEdit(parent) { diff --git a/src/mainwindow.h b/src/mainwindow.h index f9f781b..7114eda 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -77,7 +77,7 @@ public: Logger* logger; void doClose(); - QString createHeaderMemo(QString safeContact, QString cid, QString zaddr, int version, int headerNumber); + QString createHeaderMemo(QString type, QString cid, QString zaddr, int version, int headerNumber); public slots: void slot_change_theme(const QString& themeName); diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 7bb612e..ed63164 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1453,7 +1453,7 @@ - 690 + 520 490 67 17 @@ -1479,10 +1479,10 @@ - 740 + 550 490 - 171 - 17 + 691 + 20 From ab1e52586000b2bc0aa54936f473973d7ccfc455 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 30 Apr 2020 21:18:37 +0200 Subject: [PATCH 029/256] render incoming and outgoing memos in a chat conversation --- src/addressbook.cpp | 2 + src/chatmodel.cpp | 106 ++++++++++++++++++++++--------------------- src/chatmodel.h | 4 +- src/controller.cpp | 108 +++++++++++++++++--------------------------- src/mainwindow.cpp | 4 +- src/mainwindow.ui | 31 +++++++++---- 6 files changed, 125 insertions(+), 130 deletions(-) diff --git a/src/addressbook.cpp b/src/addressbook.cpp index ca224b4..522ec60 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -194,6 +194,8 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) message, //todo translate this QMessageBox::Ok ); + parent->ui->listReceiveAddresses->insertItem(0, addr); + parent->ui->listReceiveAddresses->setCurrentIndex(0); // ab.addr_chat->setText(myAddr); qDebug() << "new generated myAddr" << myAddr; QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); // diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 2b2b6a0..f449b99 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -62,9 +62,7 @@ void ChatModel::showMessages() } } - - -void ChatModel::renderChatBox(Ui::MainWindow* ui, QListWidget &view) +void ChatModel::renderChatBox(Ui::MainWindow* ui, QListWidget &view) { /*for(auto &c : this->chatItems) { @@ -90,14 +88,22 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListWidget *view) myDateTime.setTime_t(c.second.getTimestamp()); - ////// - if ((ui->ContactZaddr->text().trimmed() == c.second.getAddress()) && (c.second.getMemo().startsWith("{") == false)) { + //////Render only Memos for selected contacts. Do not render empty Memos + if ((ui->ContactZaddr->text().trimmed() == c.second.getAddress()) && (c.second.getMemo().startsWith("{") == false) && (c.second.getMemo().isEmpty() == false)) { + line += QString("[") + myDateTime.toString("dd.MM.yyyy hh:mm:ss ") + QString("] "); + line += QString("<") + QString(c.second.getContact()) + QString("> :\n"); + line += QString(c.second.getMemo()) + QString("\n"); + view->addItem(line); + line =""; + } + + if ((ui->MyZaddr->text().trimmed() == c.second.getAddress()) && (c.second.getMemo().startsWith("{") == false) && (c.second.getMemo().isEmpty() == false)){ line += QString("[") + myDateTime.toString("dd.MM.yyyy hh:mm:ss ") + QString("] "); line += QString("<") + QString(c.second.getContact()) + QString("> :\n"); line += QString(c.second.getMemo()) + QString("\n"); view->addItem(line); line =""; - }else {} + }else{} } @@ -130,14 +136,8 @@ Tx MainWindow::createTxFromChatPage() { CAmount totalAmt; // For each addr/amt in the Chat tab { - - // QString addr = ui->ContactZaddr->text().trimmed(); // We need to set the reply Address for our Contact here - // Remove label if it exists - // addr = AddressBook::addressFromAddressLabel(addr); - + QString amtStr = "0"; - - // bool ok; CAmount amt; @@ -151,17 +151,16 @@ Tx MainWindow::createTxFromChatPage() { QString cid = c.getCid(); QString myAddr = c.getMyAddress(); - QString type = "memo"; + QString type = "Memo"; QString addr = c.getPartnerAddress(); QString hmemo= createHeaderMemo(type,cid,myAddr); QString memo = ui->memoTxtChat->toPlainText().trimmed(); - // ui->memoSizeChat->setLenDisplayLabel(); - - + // ui->memoSizeChat->setLenDisplayLabel();// Todo -> activate lendisplay for chat + tx.toAddrs.push_back(ToFields{addr, amt, hmemo}) ; - qDebug()<text()))) { - // QMessageBox msg(QMessageBox::Critical, tr("Memos can only be used with z-addresses"), - // tr("The memo field can only be used with a z-address.\n") + addr->text() + tr("\ndoesn't look like a z-address"), - // QMessageBox::Ok, this); + // for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) - // msg.exec(); - //return; - //} + // if (ui->ContactZaddr->text().trimmed() == c.getName()) { + + // auto addr = ""; + // if (! Settings::isZAddress(AddressBook::addressFromAddressLabel(addr->text()))) { + // QMessageBox msg(QMessageBox::Critical, tr("Memos can only be used with z-addresses"), + // tr("The memo field can only be used with a z-address.\n") + addr->text() + tr("\ndoesn't look like a z-address"), + // QMessageBox::Ok, this); + + // msg.exec(); + // return; + // } Tx tx = createTxFromChatPage(); @@ -287,20 +292,13 @@ QString MainWindow::doSendChatTxValidations(Tx tx) { return ""; } -// Create a Safe Contact Request. +// Create a Contact Request. Tx MainWindow::createTxForSafeContactRequest() { Tx tx; CAmount totalAmt; - // For each addr/amt in the Chat tab { - QString addr = ui->ContactZaddr->text().trimmed(); // We need to set the reply Address for our Contact here - // Remove label if it exists - addr = AddressBook::addressFromAddressLabel(addr); - QString amtStr = "0"; - - // bool ok; CAmount amt; @@ -318,20 +316,17 @@ Tx MainWindow::createTxForSafeContactRequest() { QString cid = ""; QString myAddr = ""; QString addr = ""; - QString safeContact = "true"; + QString type = "Request"; - QString hmemo= createHeaderMemo(safeContact,cid,myAddr); - QString memo = ui->memoTxtChat->toPlainText().trimmed(); - // ui->memoSizeChat->setLenDisplayLabel(); - - + QString hmemo= createHeaderMemo(type,cid,myAddr); + tx.toAddrs.push_back(ToFields{addr, amt, hmemo}) ; - qDebug()<text()))) { - // QMessageBox msg(QMessageBox::Critical, tr("Memos can only be used with z-addresses"), - // tr("The memo field can only be used with a z-address.\n") + addr->text() + tr("\ndoesn't look like a z-address"), - // QMessageBox::Ok, this); - - // msg.exec(); - //return; - //} + // for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) + + // if (ui->ContactZaddr->text().trimmed() == c.getName()) { + + // auto addr = ""; + // if (! Settings::isZAddress(AddressBook::addressFromAddressLabel(addr->text()))) { + // QMessageBox msg(QMessageBox::Critical, tr("Contact requests can only be used with z-addresses"), + // tr("The memo field can only be used with a z-address.\n") + addr->text() + tr("\ndoesn't look like a z-address"), + // QMessageBox::Ok, this); + + // msg.exec(); + // return; + // } Tx tx = createTxForSafeContactRequest(); diff --git a/src/chatmodel.h b/src/chatmodel.h index e0a6dd0..43a0e88 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -118,8 +118,8 @@ class ChatModel void setItems(std::map items); QString zaddr(); void setItems(std::vector items); - void renderChatBox(Ui::MainWindow* ui, QListWidget &view); - void renderChatBox(Ui::MainWindow* ui, QListWidget *view); + void renderChatBox(Ui::MainWindow* ui, QListWidget &view); + void renderChatBox(Ui::MainWindow* ui, QListWidget *view); void showMessages(); void clear(); void addMessage(ChatItem item); diff --git a/src/controller.cpp b/src/controller.cpp index 0c557ca..644fdfb 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -840,48 +840,47 @@ void Controller::refreshBalances() }); } -void Controller::refreshTransactions() -{ +void Controller::refreshTransactions() { if (!zrpc->haveConnection()) return noConnection(); zrpc->fetchTransactions([=] (json reply) { QList txdata; - for (auto& it : reply.get()) - { + for (auto& it : reply.get()) { QString address; CAmount total_amount; QList items; long confirmations; - if (it.find("unconfirmed") != it.end() && it["unconfirmed"].get()) + if (it.find("unconfirmed") != it.end() && it["unconfirmed"].get()) { confirmations = 0; - else + } else { confirmations = model->getLatestBlock() - it["block_height"].get() + 1; + } auto txid = QString::fromStdString(it["txid"]); auto datetime = it["datetime"].get(); // First, check if there's outgoing metadata - if (!it["outgoing_metadata"].is_null()) - { - for (auto o: it["outgoing_metadata"].get()) - { - QString address; + if (!it["outgoing_metadata"].is_null()) { + + for (auto o: it["outgoing_metadata"].get()) { + + QString address; + address = QString::fromStdString(o["address"]); - + // Sent items are -ve CAmount amount = CAmount::fromqint64(-1* o["value"].get()); // Check for Memos QString memo; - if (!o["memo"].is_null()) - { + if (!o["memo"].is_null()) { memo = QString::fromStdString(o["memo"]); - - ChatItem item = ChatItem( + } + ChatItem item = ChatItem( datetime, address, QString(""), @@ -889,9 +888,6 @@ void Controller::refreshTransactions() true // is an outgoing message ); chatModel->addMessage(item); - - } - items.push_back(TransactionItemDetail{address, amount, memo}); total_amount = total_amount + amount; @@ -901,62 +897,46 @@ void Controller::refreshTransactions() // Concat all the addresses QList addresses; - for (auto item : items) - { - if (item.amount == 0 ) - { - } - else - { - addresses.push_back(item.address); - address = addresses.join(","); - } + for (auto item : items) { + + addresses.push_back(item.address); + + address = addresses.join(","); - } + } } - txdata.push_back( - TransactionItem{"send", datetime, address, txid,confirmations, items} - ); - - } - else - { + txdata.push_back(TransactionItem{ + "send", datetime, address, txid,confirmations, items + }); + } else { // Incoming Transaction address = (it["address"].is_null() ? "" : QString::fromStdString(it["address"])); model->markAddressUsed(address); + QString memo; - if (!it["memo"].is_null()) - { + if (!it["memo"].is_null()) { memo = QString::fromStdString(it["memo"]); - - ChatItem item = ChatItem( + } + + ChatItem item = ChatItem( datetime, address, QString(""), memo ); chatModel->addMessage(item); - } - - items.push_back( - TransactionItemDetail{ - address, - CAmount::fromqint64(it["amount"].get()), - memo - } - ); + items.push_back(TransactionItemDetail{ + address, + CAmount::fromqint64(it["amount"].get()), + memo + }); TransactionItem tx{ - "Receive", - datetime, - address, - txid, - confirmations, - items + "Receive", datetime, address, txid,confirmations, items }; txdata.push_back(tx); @@ -967,29 +947,25 @@ void Controller::refreshTransactions() // Calculate the total unspent amount that's pending. This will need to be // shown in the UI so the user can keep track of pending funds CAmount totalPending; - for (auto txitem : txdata) - { - if (txitem.confirmations == 0) - { - for (auto item: txitem.items) - { + for (auto txitem : txdata) { + if (txitem.confirmations == 0) { + for (auto item: txitem.items) { totalPending = totalPending + item.amount; } } } - - getModel()->setTotalPending(totalPending); + getModel()->setTotalPending(totalPending); // Update UI Balance updateUIBalances(); - // Update model data, which updates the table view + // Update model data, which updates the table view transactionsTableModel->replaceData(txdata); chatModel->renderChatBox(ui, ui->listChatMemo); refreshContacts( ui->listContactWidget ); - }); + }); } void Controller::refreshChat(QListWidget *listWidget) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index ab37b27..f6bb131 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -997,10 +997,12 @@ void MainWindow::setupchatTab() { QString label_contact = index.data(Qt::DisplayRole).toString(); for(auto &p : AddressBook::getInstance()->getAllAddressLabels()) - if (label_contact == p.getName()) + if (label_contact == p.getName()) { ui->ContactZaddr->setText(p.getPartnerAddress()); + ui->MyZaddr->setText(p.getMyAddress()); rpc->refresh(true); + } }); } diff --git a/src/mainwindow.ui b/src/mainwindow.ui index ed63164..1a0bb02 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1354,8 +1354,8 @@ - 340 - 490 + 400 + 410 331 17 @@ -1453,8 +1453,8 @@ - 520 - 490 + 340 + 460 67 17 @@ -1466,21 +1466,21 @@ - 520 + 340 490 - 67 + 161 17 - + Your HushChat zaddr: - 550 - 490 + 370 + 460 691 20 @@ -1511,6 +1511,19 @@ false + + + + 490 + 490 + 691 + 20 + + + + + + From 623e5b6d2c603692a2a4aebf760cbc13c5173ef2 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 30 Apr 2020 21:45:54 +0200 Subject: [PATCH 030/256] change some gui elements --- src/chatmodel.cpp | 4 ++-- src/mainwindow.cpp | 1 + src/mainwindow.ui | 12 ++++++------ 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index f449b99..1c43495 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -91,7 +91,7 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListWidget *view) //////Render only Memos for selected contacts. Do not render empty Memos if ((ui->ContactZaddr->text().trimmed() == c.second.getAddress()) && (c.second.getMemo().startsWith("{") == false) && (c.second.getMemo().isEmpty() == false)) { line += QString("[") + myDateTime.toString("dd.MM.yyyy hh:mm:ss ") + QString("] "); - line += QString("<") + QString(c.second.getContact()) + QString("> :\n"); + line += QString("<") + QString("Outgoing") + QString("> :\n"); line += QString(c.second.getMemo()) + QString("\n"); view->addItem(line); line =""; @@ -99,7 +99,7 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListWidget *view) if ((ui->MyZaddr->text().trimmed() == c.second.getAddress()) && (c.second.getMemo().startsWith("{") == false) && (c.second.getMemo().isEmpty() == false)){ line += QString("[") + myDateTime.toString("dd.MM.yyyy hh:mm:ss ") + QString("] "); - line += QString("<") + QString(c.second.getContact()) + QString("> :\n"); + line += QString("<") + QString("incoming") + QString("> :\n"); line += QString(c.second.getMemo()) + QString("\n"); view->addItem(line); line =""; diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index f6bb131..ce474cc 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1000,6 +1000,7 @@ void MainWindow::setupchatTab() { if (label_contact == p.getName()) { ui->ContactZaddr->setText(p.getPartnerAddress()); ui->MyZaddr->setText(p.getMyAddress()); + ui->contactNameMemo->setText(p.getName()); rpc->refresh(true); } diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 1a0bb02..2de859e 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1348,7 +1348,7 @@ - <html><head/><body><p align="center">Contact</p></body></html> + <html><head/><body><p align="center">Hushchat Contactlist</p></body></html> @@ -1390,17 +1390,17 @@ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - + - 340 + 720 50 - 861 + 481 20 - <html><head/><body><p align="center">Messages</p></body></html> + <html><head/><body><p align="center"><br/></p></body></html> @@ -1505,7 +1505,7 @@ - Sicheren Kontakt hinzufügen + Add conversation contact false From 71941224494bf0f39224b7b8361b150682d07b4f Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 30 Apr 2020 22:58:35 +0200 Subject: [PATCH 031/256] change some gui elements, deactivate contact request for now --- src/chatmodel.cpp | 21 +++++++++++---------- src/controller.cpp | 42 ++++++++++++++++++++++-------------------- src/mainwindow.cpp | 2 +- src/mainwindow.ui | 10 +++++----- src/sendtab.cpp | 20 ++++++++++---------- 5 files changed, 49 insertions(+), 46 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 1c43495..e95aff7 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -36,6 +36,7 @@ void ChatModel::setItems(std::vector items) for(ChatItem c : items) { this->chatItems[c.getTimestamp()] = c; + } } @@ -95,7 +96,7 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListWidget *view) line += QString(c.second.getMemo()) + QString("\n"); view->addItem(line); line =""; - } + }else{} if ((ui->MyZaddr->text().trimmed() == c.second.getAddress()) && (c.second.getMemo().startsWith("{") == false) && (c.second.getMemo().isEmpty() == false)){ line += QString("[") + myDateTime.toString("dd.MM.yyyy hh:mm:ss ") + QString("] "); @@ -321,7 +322,7 @@ Tx MainWindow::createTxForSafeContactRequest() { QString hmemo= createHeaderMemo(type,cid,myAddr); - tx.toAddrs.push_back(ToFields{addr, amt, hmemo}) ; + // tx.toAddrs.push_back(ToFields{addr, amt, hmemo}) ; qDebug() << "pushback chattx"; } @@ -334,7 +335,7 @@ Tx MainWindow::createTxForSafeContactRequest() { qDebug() << "ChatTx created"; } - +//////////////////De-activated for now/////////////////// void MainWindow::safeContactRequest() { ////////////////////////////Todo: Check if its a zaddr////////// @@ -357,9 +358,9 @@ void MainWindow::safeContactRequest() { // return; // } - Tx tx = createTxForSafeContactRequest(); + /* Tx tx = createTxForSafeContactRequest(); - QString error = doSendChatTxValidations(tx); + QString error = doSendRequestTxValidations(tx); if (!error.isEmpty()) { // Something went wrong, so show an error and exit @@ -419,14 +420,14 @@ void MainWindow::safeContactRequest() { QMessageBox::critical(this, QObject::tr("Transaction Error"), errStr, QMessageBox::Ok); } - ); - } + );*/ + } QString MainWindow::doSendRequestTxValidations(Tx tx) { // Check to see if we have enough verified funds to send the Tx. - CAmount total; + /* CAmount total; for (auto toAddr : tx.toAddrs) { if (!Settings::isValidAddress(toAddr.addr)) { QString addr = (toAddr.addr.length() > 100 ? toAddr.addr.left(100) + "..." : toAddr.addr); @@ -450,5 +451,5 @@ QString MainWindow::doSendRequestTxValidations(Tx tx) { .arg(available.toDecimalhushString(), total.toDecimalhushString()); } - return ""; -} \ No newline at end of file + return "";*/ +} diff --git a/src/controller.cpp b/src/controller.cpp index 644fdfb..e6b6b37 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -879,37 +879,40 @@ void Controller::refreshTransactions() { QString memo; if (!o["memo"].is_null()) { memo = QString::fromStdString(o["memo"]); - } - ChatItem item = ChatItem( + + ChatItem item = ChatItem( datetime, address, QString(""), - memo, - true // is an outgoing message + memo + // true // is an outgoing message ); chatModel->addMessage(item); + } + items.push_back(TransactionItemDetail{address, amount, memo}); total_amount = total_amount + amount; - } + // } - { + // { // Concat all the addresses - QList addresses; - for (auto item : items) { + // QList addresses; + // for (auto item : items) { - addresses.push_back(item.address); + // addresses.push_back(item.address); - address = addresses.join(","); + - } + // } - } + // } txdata.push_back(TransactionItem{ "send", datetime, address, txid,confirmations, items }); + } } else { // Incoming Transaction address = (it["address"].is_null() ? "" : QString::fromStdString(it["address"])); @@ -919,8 +922,14 @@ 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); - ChatItem item = ChatItem( + ChatItem item = ChatItem( datetime, address, QString(""), @@ -933,13 +942,6 @@ void Controller::refreshTransactions() { CAmount::fromqint64(it["amount"].get()), memo }); - - - TransactionItem tx{ - "Receive", datetime, address, txid,confirmations, items - }; - - txdata.push_back(tx); } } diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index ce474cc..76cd090 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -974,7 +974,7 @@ void MainWindow::setupTransactionsTab() { qApp->processEvents(); // Click the memo button - this->memoButtonClicked(1, true); + this->memoButtonClicked(1, true); }); } } diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 2de859e..e5eb12e 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1460,7 +1460,7 @@ - To: + <html><head/><body><p>Send to :</p></body></html> @@ -1468,18 +1468,18 @@ 340 490 - 161 + 81 17 - Your HushChat zaddr: + <html><head/><body><p>My zaddr :</p></body></html> - 370 + 420 460 691 20 @@ -1514,7 +1514,7 @@ - 490 + 420 490 691 20 diff --git a/src/sendtab.cpp b/src/sendtab.cpp index 6d4ba38..67f6553 100644 --- a/src/sendtab.cpp +++ b/src/sendtab.cpp @@ -35,7 +35,7 @@ void MainWindow::setupSendTab() { }); // The first Memo button - QObject::connect(ui->MemoBtn1, &QPushButton::clicked, [=] () { + QObject::connect(ui->MemoBtn1, &QPushButton::clicked, [=] () { this->memoButtonClicked(1); }); setMemoEnabled(1, false); @@ -377,15 +377,15 @@ void MainWindow::setMemoEnabled(int number, bool enabled) { void MainWindow::memoButtonClicked(int number, bool includeReplyTo) { // Memos can only be used with zAddrs. So check that first - auto addr = ui->sendToWidgets->findChild(QString("Address") + QString::number(number)); - if (! Settings::isZAddress(AddressBook::addressFromAddressLabel(addr->text()))) { - QMessageBox msg(QMessageBox::Critical, tr("Memos can only be used with z-addresses"), - tr("The memo field can only be used with a z-address.\n") + addr->text() + tr("\ndoesn't look like a z-address"), - QMessageBox::Ok, this); - - msg.exec(); - return; - } + // auto addr = ui->sendToWidgets->findChild(QString("Address") + QString::number(number)); + //if (! Settings::isZAddress(AddressBook::addressFromAddressLabel(addr->text()))) { + // QMessageBox msg(QMessageBox::Critical, tr("Memos can only be used with z-addresses"), + // tr("The memo field can only be used with a z-address.\n") + addr->text() + tr("\ndoesn't look like a z-address"), + // QMessageBox::Ok, this); + + // msg.exec(); + // return; + // } // Get the current memo if it exists auto memoTxt = ui->sendToWidgets->findChild(QString("MemoTxt") + QString::number(number)); From 70302829b7618c8285df9f3f870e5a68ab247df2 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 1 May 2020 00:02:28 +0200 Subject: [PATCH 032/256] make Addressbook HushChat address changeable and show it earlier --- src/addressbook.cpp | 51 ++++++++++++++++++++++++++++----------------- src/addressbook.ui | 28 ++++++++++++------------- 2 files changed, 46 insertions(+), 33 deletions(-) diff --git a/src/addressbook.cpp b/src/addressbook.cpp index 522ec60..4725959 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -138,6 +138,24 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) // Connect the dialog's closing to updating the label address completor QObject::connect(&d, &QDialog::finished, [=] (auto) { parent->updateLabels(); }); + Controller* rpc = parent->getRPC(); + bool sapling = true; + rpc->createNewZaddr(sapling, [=] (json reply) { + QString myAddr = QString::fromStdString(reply.get()[0]); + // QString myAddr = "zs1flslqurcnummsw37mfxkhx6d7uwpevlc78cdjyqrgng7357t8f3stm9fneeqtuupfnrt7f933a9"; + QString message = QString("New Chat Address for your partner: ") + myAddr; + + parent->ui->listReceiveAddresses->insertItem(0, myAddr); + parent->ui->listReceiveAddresses->setCurrentIndex(0); + // ab.addr_chat->setText(myAddr); + qDebug() << "new generated myAddr" << myAddr; + // + ab.addr_chat->setText(myAddr); + // AddressBook::getInstance()->addAddressLabel(newLabel, ab.addr->text(), myAddr, cid); + }); + model.updateUi(); //todo fix updating gui after adding + 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())) { @@ -148,7 +166,11 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) // Add new address button QObject::connect(ab.addNew, &QPushButton::clicked, [&] () { auto addr = ab.addr->text().trimmed(); + auto myAddr = ab.addr->text().trimmed(); QString newLabel = ab.label->text(); + QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); + + if (addr.isEmpty() || newLabel.isEmpty()) { @@ -183,32 +205,23 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) ); return; } - Controller* rpc = parent->getRPC(); - bool sapling = true; - rpc->createNewZaddr(sapling, [=] (json reply) { - QString myAddr = QString::fromStdString(reply.get()[0]); - QString message = QString("New Chat Address for your partner: ") + myAddr; + + ////// We need a better popup here. + AddressBook::getInstance()->addAddressLabel(newLabel, addr, myAddr, cid); QMessageBox::critical( parent, - QObject::tr("Success"), - message, //todo translate this + QObject::tr("Add Successfully"), + QObject::tr("juhu").arg(newLabel), QMessageBox::Ok ); - parent->ui->listReceiveAddresses->insertItem(0, addr); - parent->ui->listReceiveAddresses->setCurrentIndex(0); - // ab.addr_chat->setText(myAddr); - qDebug() << "new generated myAddr" << myAddr; - QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); // - AddressBook::getInstance()->addAddressLabel(newLabel, ab.addr->text(), myAddr, cid); - }); - model.updateUi(); //todo fix updating gui after adding + return; + + + rpc->refresh(true); + model.updateUi(); }); - /// Generate CID for Contact - - - // AddressBook::getInstance()->addAddressLabel(newLabel, ab.addr->text(), cid); // Import Button diff --git a/src/addressbook.ui b/src/addressbook.ui index 20104b9..1c6ed52 100644 --- a/src/addressbook.ui +++ b/src/addressbook.ui @@ -20,7 +20,17 @@ Add New Address - + + + + Address (z-Addr or t-Addr) + + + + + + + HushChat Address - give this Address only to your contact @@ -30,10 +40,10 @@ - - + + - Address (z-Addr or t-Addr) + Label @@ -47,16 +57,6 @@ - - - - Label - - - - - - From 24d3a4e9821e4fc857ce63112f0e1a50b3ce3644 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 1 May 2020 00:18:31 +0200 Subject: [PATCH 033/256] fix typo --- src/addressbook.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/addressbook.cpp b/src/addressbook.cpp index 4725959..975c3e5 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -166,7 +166,7 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) // Add new address button QObject::connect(ab.addNew, &QPushButton::clicked, [&] () { auto addr = ab.addr->text().trimmed(); - auto myAddr = ab.addr->text().trimmed(); + auto myAddr = ab.addr_chat->text().trimmed(); QString newLabel = ab.label->text(); QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); From 0191d3ce32f0c2e6d5d7e995b2f6d7f71d1e2baf Mon Sep 17 00:00:00 2001 From: Charles <18726788+csharpee@users.noreply.github.com> Date: Thu, 30 Apr 2020 20:15:38 -0400 Subject: [PATCH 034/256] added midnight theme --- application.qrc | 1 + res/css/midnight.css | 139 +++++++++++++++++++++++++++++++++++++++++++ src/settings.ui | 5 ++ 3 files changed, 145 insertions(+) create mode 100644 res/css/midnight.css diff --git a/application.qrc b/application.qrc index 4c7a4d9..befc00a 100644 --- a/application.qrc +++ b/application.qrc @@ -26,6 +26,7 @@ res/css/dark.css res/css/default.css res/css/light.css + res/css/midnight.css res/images/blue/unchecked.png diff --git a/res/css/midnight.css b/res/css/midnight.css new file mode 100644 index 0000000..39347c1 --- /dev/null +++ b/res/css/midnight.css @@ -0,0 +1,139 @@ +/* +Theme: Midnight Qt +Version: 1.0.2 +Reference: https://doc.qt.io/qt-5/stylesheet-reference.html + +Author: Charles Sharpe +Date: Apr. 23, 2020 +Website: https://www.csharpe.me +License: https://opensource.org/licenses/MIT +*/ + +QWidget, QMainWindow, QMenuBar, QMenu, QDialog, QTabWidget, QTableView, QTableView::item, QScrollArea, QGroupBox, QPlainTextEdit, QLineEdit, QLabel, MainWindow +{ +background-color: #111; +color: #fff; +} + +QPushButton { +padding: 10px 15px; +} + +QPushButton:hover { +background: #222; +} + +QLineEdit, QRadioButton::indicator::unchecked, QCheckBox::indicator::unchecked { +background: #222; +border: 1px solid #333; +border-radius: 3px; +} + +QLineEdit { +font-size: 12px; +} + +QLineEdit:focus { +border: 1px solid #9d8400; +} + +QWidget QLabel { +font-size: 11pt; +} + +QWidget QCheckBox { +font-weight: bold; +} + +QTabWidget QTabBar::tab { +min-height: 15px; +padding: 15px 25px; +border: 1px ridge #222; +left: 1px; /* Fix 1px alignment */ +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #333, stop: 1 #111); +} + +QTabWidget QTabBar::tab:selected { +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #555, stop: 1 #111); +color:#fff; +border: 1px ridge #222; +border-bottom: 0px; /* Overwrites border-bottom */ +} + +QTabWidget QTabBar::tab:hover { +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #555, stop: 1 #111); +} + +QHeaderView { /* Table Header */ +background-color:#111; +} + +QHeaderView::section { /* Table Header Sections */ +qproperty-alignment:center; +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #333, stop: 1 #111); +color:#fff; +min-height:25px; +font-weight:bold; +font-size:12px; +outline:0; +border:1px ridge #222; +padding: 2px 5px; +} + +QHeaderView::section:last { +border-right: 0px ridge #222; +} + +QScrollArea { +background:transparent; +border:0px; +} + +QTableView { /* Table - has to be selected as a class otherwise it throws off QCalendarWidget */ +background:#111; +} + +QTableView::item { /* Table Item */ +background-color:#111; +border:1px solid #222; +font-size:12px; +} + +QTableView::item:selected { /* Table Item Selected */ +background-color:#fff; +color:#000; +} + +QMenuBar { +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #222, stop: 1 #111); +color: #fff; +} + +QMenuBar::item { +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #222, stop: 1 #111); +color: #fff; +padding: 5px 7px; +margin: 0px; +} + +QMenuBar::item:selected { +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #333, stop: 1 #111); +} + +QMenu { +border:1px solid #222; +} + +QMenu::item { +padding: 7px 15px; +} + +QMenu::item:selected { +background: #222; +} + +QMenu::separator { + height: 1px; + margin: 3px 7px 3px 7px; /* space at ends of separator */ + background: #222; +} diff --git a/src/settings.ui b/src/settings.ui index 419509c..6871c7b 100644 --- a/src/settings.ui +++ b/src/settings.ui @@ -115,6 +115,11 @@ dark + + + midnight + + From b9dab96b870f70c998fcee723a95ddb482b098e8 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 1 May 2020 12:27:21 +0200 Subject: [PATCH 035/256] add txid and cid to chatmodel --- src/chatmodel.cpp | 8 ++++++-- src/chatmodel.h | 29 +++++++++++++++++++++++++++-- src/controller.cpp | 8 ++++++-- src/mainwindow.cpp | 1 + src/mainwindow.ui | 13 +++++++++++++ 5 files changed, 53 insertions(+), 6 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index e95aff7..eaa1b88 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -8,8 +8,11 @@ #include "ui_memodialog.h" #include "addressbook.h" #include +#include +#include - +using namespace std; +using namespace boost; ChatModel::ChatModel(std::map chatItems) { @@ -89,8 +92,9 @@ 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"); diff --git a/src/chatmodel.h b/src/chatmodel.h index 43a0e88..4e822c1 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -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 _cid; + } + 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; diff --git a/src/controller.cpp b/src/controller.cpp index e6b6b37..cf73946 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -884,7 +884,9 @@ void Controller::refreshTransactions() { datetime, address, QString(""), - memo + memo, + "", // we have to set the cid here, + txid // true // is an outgoing message ); chatModel->addMessage(item); @@ -933,7 +935,9 @@ void Controller::refreshTransactions() { datetime, address, QString(""), - memo + memo, + "", // we have to set the cid here + txid ); chatModel->addMessage(item); diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 76cd090..2b252e4 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -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); } diff --git a/src/mainwindow.ui b/src/mainwindow.ui index e5eb12e..913907f 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1524,6 +1524,19 @@ + + + + 870 + 90 + 331 + 20 + + + + <html><head/><body><p align="center"><br/></p></body></html> + + From 4afd49d0a7cb79eeff2c6066548a8c74efc70257 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 1 May 2020 13:15:05 +0200 Subject: [PATCH 036/256] read the cid from headermemo into qstring --- src/controller.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/controller.cpp b/src/controller.cpp index cf73946..0871d6b 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -885,7 +885,7 @@ void Controller::refreshTransactions() { address, QString(""), memo, - "", // we have to set the cid here, + "", // we have to set the cid here, its included in our Addressbook for this contact txid // true // is an outgoing message ); @@ -924,21 +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, - "", // we have to set the cid here + cid, // we have to set the cid here, its included in the headermemo txid ); + qDebug()<addMessage(item); items.push_back(TransactionItemDetail{ From 4f4ec7cd317bd21114c4cf5ebc2d79c3135b029e Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 1 May 2020 13:42:25 +0200 Subject: [PATCH 037/256] fix typo --- src/chatmodel.cpp | 4 ++++ src/chatmodel.h | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index eaa1b88..558ea6f 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -100,6 +100,10 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListWidget *view) 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)){ diff --git a/src/chatmodel.h b/src/chatmodel.h index 4e822c1..9f06d3a 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -75,7 +75,7 @@ class ChatItem QString getTxid() { - return _cid; + return _txid; } bool isOutgoing() From 899826398991fa81c51e56812dfac672dc506aa7 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 1 May 2020 17:09:49 +0200 Subject: [PATCH 038/256] fix broken sendmemo --- src/controller.cpp | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/src/controller.cpp b/src/controller.cpp index 0871d6b..c26c2f3 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -895,26 +895,27 @@ void Controller::refreshTransactions() { items.push_back(TransactionItemDetail{address, amount, memo}); total_amount = total_amount + amount; - // } + } - // { + { + QList addresses; + for (auto item : items) { // Concat all the addresses - - // QList addresses; - // for (auto item : items) { + if (item.amount == 0) { + + }else{ + - // addresses.push_back(item.address); + addresses.push_back(item.address); } - - - // } + } - // } + } + txdata.push_back(TransactionItem{ "send", datetime, address, txid,confirmations, items }); - } } else { // Incoming Transaction address = (it["address"].is_null() ? "" : QString::fromStdString(it["address"])); @@ -925,6 +926,12 @@ void Controller::refreshTransactions() { memo = QString::fromStdString(it["memo"]); } + items.push_back(TransactionItemDetail{ + address, + CAmount::fromqint64(it["amount"].get()), + memo + }); + TransactionItem tx{ "Receive", datetime, address, txid,confirmations, items }; From 51c180af18039388332a474450fc6a9654851630 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 1 May 2020 17:44:18 +0200 Subject: [PATCH 039/256] fix send of memos --- src/chatmodel.cpp | 10 ++++++---- src/controller.cpp | 23 +++++++++++------------ 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 558ea6f..df894c3 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -93,7 +93,9 @@ 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 where cid=cid - if ((ui->ContactZaddr->text().trimmed() == c.second.getAddress()) && (c.second.getMemo().startsWith("{") == false) && (c.second.getMemo().isEmpty() == false)) { + + /// + 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"); @@ -102,7 +104,7 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListWidget *view) 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(); + // QString cid = c.second.getCid(); }else{} @@ -170,7 +172,7 @@ Tx MainWindow::createTxFromChatPage() { tx.toAddrs.push_back(ToFields{addr, amt, hmemo}) ; - tx.toAddrs.push_back( ToFields{addr, amt, memo}); + tx.toAddrs.push_back(ToFields{addr, amt, memo}); qDebug() << "pushback chattx"; } } @@ -249,7 +251,7 @@ void MainWindow::sendChatButton() { }); // Force a UI update so we get the unconfirmed Tx - rpc->refresh(true); + // rpc->refresh(true); ui->memoTxtChat->clear(); }, diff --git a/src/controller.cpp b/src/controller.cpp index c26c2f3..38bfada 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -926,25 +926,26 @@ void Controller::refreshTransactions() { memo = QString::fromStdString(it["memo"]); } - items.push_back(TransactionItemDetail{ + items.push_back(TransactionItemDetail{ address, CAmount::fromqint64(it["amount"].get()), memo }); - + + TransactionItem tx{ "Receive", datetime, address, txid,confirmations, items }; txdata.push_back(tx); - QString cid; - if (memo.startsWith("{")) { + QString cid = ""; + // if (memo.startsWith("{")) { - cid = memo.mid(14,36); - - }else{ cid = "";} + // cid = memo.mid(14,36); + // }else{ cid = "";} + ChatItem item = ChatItem( datetime, address, @@ -955,13 +956,9 @@ void Controller::refreshTransactions() { ); qDebug()<addMessage(item); - items.push_back(TransactionItemDetail{ - address, - CAmount::fromqint64(it["amount"].get()), - memo - }); } } @@ -986,6 +983,7 @@ void Controller::refreshTransactions() { chatModel->renderChatBox(ui, ui->listChatMemo); refreshContacts( ui->listContactWidget + ); }); } @@ -993,6 +991,7 @@ void Controller::refreshTransactions() { void Controller::refreshChat(QListWidget *listWidget) { chatModel->renderChatBox(ui, listWidget); + } void Controller::refreshContacts(QListWidget *listWidget) From 498fca3fd6cda564a45ea8abf78509cce7402c3a Mon Sep 17 00:00:00 2001 From: strider Date: Fri, 1 May 2020 18:51:09 +0200 Subject: [PATCH 040/256] update// fixed wrong savings --- src/chatmodel.cpp | 52 +++++++++++++++++++++++++++++++++++++++------- src/chatmodel.h | 17 +++++++++------ src/controller.cpp | 9 ++++---- 3 files changed, 60 insertions(+), 18 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index df894c3..c01b84c 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -14,7 +14,7 @@ using namespace std; using namespace boost; -ChatModel::ChatModel(std::map chatItems) +ChatModel::ChatModel(std::map chatItems) { this->chatItems = chatItems; } @@ -24,12 +24,26 @@ ChatModel::ChatModel(std::vector chatItems) this->setItems(chatItems); } -std::map ChatModel::getItems() +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; } -void ChatModel::setItems(std::map items) +void ChatModel::setItems(std::map items) { this->chatItems = chatItems; } @@ -38,7 +52,7 @@ void ChatModel::setItems(std::vector items) { for(ChatItem c : items) { - this->chatItems[c.getTimestamp()] = c; + this->chatItems[this->generateChatItemID(c)] = c; } } @@ -50,12 +64,16 @@ void ChatModel::clear() void ChatModel::addMessage(ChatItem item) { - this->chatItems[item.getTimestamp()] = item; + QString key = this->generateChatItemID(item); + qDebug() << "inserting chatitem with id: " << key; + this->chatItems[key] = item; } -void ChatModel::addMessage(long timestamp, ChatItem item) +void ChatModel::addMessage(QString timestamp, ChatItem item) { - this->chatItems[timestamp] = item; + QString key = this->generateChatItemID(item); + timestamp = "0"; + this->chatItems[key] = item; } void ChatModel::showMessages() @@ -120,6 +138,26 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListWidget *view) } +void ChatModel::addCid(QString tx, QString cid) +{ + this->cidMap[tx] = cid; +} + +QString ChatModel::getCidByTx(QString tx) +{ + if(this->cidMap.count(tx) > 0) + { + return this->cidMap[tx]; + } + + return QString("0xdeadbeef"); +} + +void ChatModel::killCidCache() +{ + this->cidMap.clear(); +} + QString MainWindow::createHeaderMemo(QString type, QString cid, QString zaddr, int version=0, int headerNumber=1) { diff --git a/src/chatmodel.h b/src/chatmodel.h index 9f06d3a..fcc68bf 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -73,7 +73,7 @@ class ChatItem return _cid; } - QString getTxid() + QString getTxid() { return _txid; } @@ -130,17 +130,19 @@ class ChatItem class ChatModel { private: - std::map chatItems; + std::map chatItems; QTableView* parent; Ui::MainWindow* ui; MainWindow* main; + std::map cidMap; public: ChatModel() {}; - ChatModel(std::map chatItems); + ChatModel(std::map chatItems); ChatModel(std::vector chatItems); - std::map getItems(); - void setItems(std::map items); + QString generateChatItemID(ChatItem item); + std::map getItems(); + void setItems(std::map items); QString zaddr(); void setItems(std::vector items); void renderChatBox(Ui::MainWindow* ui, QListWidget &view); @@ -148,7 +150,10 @@ class ChatModel void showMessages(); void clear(); void addMessage(ChatItem item); - void addMessage(long timestamp, ChatItem item); + void addMessage(QString timestamp, ChatItem item); + void addCid(QString tx, QString cid); + QString getCidByTx(QString tx); + void killCidCache(); }; #endif \ No newline at end of file diff --git a/src/controller.cpp b/src/controller.cpp index 38bfada..5952201 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -940,11 +940,10 @@ void Controller::refreshTransactions() { txdata.push_back(tx); QString cid = ""; - // if (memo.startsWith("{")) { - - // cid = memo.mid(14,36); - - // }else{ cid = "";} + if (memo.startsWith("{")) { + cid = memo.mid(14,36); + chatModel->addCid(txid, cid); + }else{ cid = "";} ChatItem item = ChatItem( datetime, From 95638a25fd46c0c3619b95d36a6bdb8b6e353ddd Mon Sep 17 00:00:00 2001 From: Strider <404@127.0.0.1.com> Date: Fri, 1 May 2020 19:18:07 +0200 Subject: [PATCH 041/256] update// map read --- src/chatmodel.cpp | 5 +++++ src/controller.cpp | 13 ++++++++----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index c01b84c..c4b7678 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -145,6 +145,11 @@ void ChatModel::addCid(QString tx, QString cid) QString ChatModel::getCidByTx(QString tx) { + for(auto& pair : this->cidMap) + { + qDebug() << "TXID=" << pair.first << " CID=" << pair.second; + } + if(this->cidMap.count(tx) > 0) { return this->cidMap[tx]; diff --git a/src/controller.cpp b/src/controller.cpp index 5952201..0845a16 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -943,8 +943,13 @@ void Controller::refreshTransactions() { if (memo.startsWith("{")) { cid = memo.mid(14,36); chatModel->addCid(txid, cid); - }else{ cid = "";} - + }else{ + if(chatModel->getCidByTx(txid) != QString("0xdeadbeef")) + cid = chatModel->getCidByTx(txid); + + cid = ""; + } + ChatItem item = ChatItem( datetime, address, @@ -953,9 +958,7 @@ void Controller::refreshTransactions() { cid, // we have to set the cid here, its included in the headermemo txid ); - qDebug()<addMessage(item); } From 7faf0f0b50c89d19845b7c79501ff9373089c39c Mon Sep 17 00:00:00 2001 From: Strider <404@127.0.0.1.com> Date: Fri, 1 May 2020 19:34:23 +0200 Subject: [PATCH 042/256] fix// added else --- src/chatmodel.cpp | 4 +++- src/controller.cpp | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index c4b7678..6ba7255 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -117,6 +117,7 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListWidget *view) // 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.getCid() + QString("> :\n"); line += QString(c.second.getMemo()) + QString("\n"); view->addItem(line); line =""; @@ -129,6 +130,7 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListWidget *view) if ((ui->MyZaddr->text().trimmed() == c.second.getAddress()) && (c.second.getMemo().startsWith("{") == false) && (c.second.getMemo().isEmpty() == false)){ line += QString("[") + myDateTime.toString("dd.MM.yyyy hh:mm:ss ") + QString("] "); line += QString("<") + QString("incoming") + QString("> :\n"); + line += QString("<") + c.second.getCid() + QString("> :\n"); line += QString(c.second.getMemo()) + QString("\n"); view->addItem(line); line =""; @@ -149,7 +151,7 @@ QString ChatModel::getCidByTx(QString tx) { qDebug() << "TXID=" << pair.first << " CID=" << pair.second; } - + if(this->cidMap.count(tx) > 0) { return this->cidMap[tx]; diff --git a/src/controller.cpp b/src/controller.cpp index 0845a16..b1e3f4f 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -947,7 +947,8 @@ void Controller::refreshTransactions() { if(chatModel->getCidByTx(txid) != QString("0xdeadbeef")) cid = chatModel->getCidByTx(txid); - cid = ""; + else + cid = ""; } ChatItem item = ChatItem( From 6ddb6855d49a1222a5f00cfafb80c6f80802787e Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 1 May 2020 19:36:38 +0200 Subject: [PATCH 043/256] merge and ui update - for debug --- src/addressbook.cpp | 4 ++-- src/addressbook.ui | 2 +- src/chatmodel.cpp | 2 ++ src/controller.cpp | 2 +- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/addressbook.cpp b/src/addressbook.cpp index 975c3e5..be13b82 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -168,9 +168,9 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) auto addr = ab.addr->text().trimmed(); auto myAddr = ab.addr_chat->text().trimmed(); QString newLabel = ab.label->text(); - QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); + // QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); - + QString cid = ab.cid->text(); if (addr.isEmpty() || newLabel.isEmpty()) { diff --git a/src/addressbook.ui b/src/addressbook.ui index 1c6ed52..f2344eb 100644 --- a/src/addressbook.ui +++ b/src/addressbook.ui @@ -55,7 +55,7 @@ - + diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index c4b7678..85b135a 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -117,6 +117,7 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListWidget *view) // 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.getCid() + QString("> :\n"); line += QString(c.second.getMemo()) + QString("\n"); view->addItem(line); line =""; @@ -129,6 +130,7 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListWidget *view) if ((ui->MyZaddr->text().trimmed() == c.second.getAddress()) && (c.second.getMemo().startsWith("{") == false) && (c.second.getMemo().isEmpty() == false)){ line += QString("[") + myDateTime.toString("dd.MM.yyyy hh:mm:ss ") + QString("] "); line += QString("<") + QString("incoming") + QString("> :\n"); + line += QString("<") + c.second.getCid() + QString("> :\n"); line += QString(c.second.getMemo()) + QString("\n"); view->addItem(line); line =""; diff --git a/src/controller.cpp b/src/controller.cpp index 0845a16..0457ccd 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -947,7 +947,7 @@ void Controller::refreshTransactions() { if(chatModel->getCidByTx(txid) != QString("0xdeadbeef")) cid = chatModel->getCidByTx(txid); - cid = ""; + //cid = ""; } ChatItem item = ChatItem( From 5ee796dc0f4842a36e45bba86c265b41cfb4179c Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 1 May 2020 19:46:38 +0200 Subject: [PATCH 044/256] set cid for outgoing memos --- src/controller.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/controller.cpp b/src/controller.cpp index b1e3f4f..cb32868 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -880,12 +880,19 @@ void Controller::refreshTransactions() { if (!o["memo"].is_null()) { memo = QString::fromStdString(o["memo"]); + QString cid; + for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) + if (ui->ContactZaddr->text().trimmed() == c.getPartnerAddress()) { + + cid = c.getCid(); + }else {cid = "";} + ChatItem item = ChatItem( datetime, address, QString(""), memo, - "", // we have to set the cid here, its included in our Addressbook for this contact + cid, // we have to set the cid here, its included in our Addressbook for this contact txid // true // is an outgoing message ); From a3e762a4adca33602ad7501232db5fd032226982 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 1 May 2020 20:19:29 +0200 Subject: [PATCH 045/256] add verified flag for Chatmessages --- src/chatmodel.cpp | 13 ++++++++----- src/controller.cpp | 2 +- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 6ba7255..8a0689b 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -117,23 +117,26 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListWidget *view) // 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.getCid() + 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)){ + for(auto &p : AddressBook::getInstance()->getAllAddressLabels()){ + if (p.getCid() == c.second.getCid()){ + line += QString("<") + "verified" + QString("> :\n");} + } line += QString("[") + myDateTime.toString("dd.MM.yyyy hh:mm:ss ") + QString("] "); line += QString("<") + QString("incoming") + QString("> :\n"); - line += QString("<") + c.second.getCid() + QString("> :\n"); line += QString(c.second.getMemo()) + QString("\n"); view->addItem(line); - line =""; + line =""; }else{} } diff --git a/src/controller.cpp b/src/controller.cpp index cb32868..36ac2c8 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -882,7 +882,7 @@ void Controller::refreshTransactions() { QString cid; for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) - if (ui->ContactZaddr->text().trimmed() == c.getPartnerAddress()) { + if ((ui->ContactZaddr->text().trimmed() == c.getPartnerAddress()) || (ui->MyZaddr->text().trimmed() == c.getMyAddress())) { cid = c.getCid(); }else {cid = "";} From 385c6a28b66ceb3ecaf9fb71aa97ac5591a25bfd Mon Sep 17 00:00:00 2001 From: Charles <18726788+csharpee@users.noreply.github.com> Date: Fri, 1 May 2020 14:29:05 -0400 Subject: [PATCH 046/256] added files and updated qrc --- application.qrc | 4 ++++ res/silentdragonlite-animated-dark.gif | Bin 0 -> 415326 bytes ...silentdragonlite-animated-startup-dark.gif | Bin 0 -> 1072548 bytes res/silentdragonlite-animated-startup.gif | Bin 0 -> 1039318 bytes res/silentdragonlite-animated.gif | Bin 0 -> 415920 bytes 5 files changed, 4 insertions(+) create mode 100644 res/silentdragonlite-animated-dark.gif create mode 100644 res/silentdragonlite-animated-startup-dark.gif create mode 100644 res/silentdragonlite-animated-startup.gif create mode 100644 res/silentdragonlite-animated.gif diff --git a/application.qrc b/application.qrc index 4c7a4d9..200524c 100644 --- a/application.qrc +++ b/application.qrc @@ -11,6 +11,10 @@ res/hushdlogo.gif res/logobig.gif + res/silentdragonlite-animated.gif + res/silentdragonlite-animated-dark.gif + res/silentdragonlite-animated-startup.gif + res/silentdragonlite-animated-startup-dark.gif res/silentdragonlite_de.qm diff --git a/res/silentdragonlite-animated-dark.gif b/res/silentdragonlite-animated-dark.gif new file mode 100644 index 0000000000000000000000000000000000000000..10999e1e7c9144cbbe07126d77988016487c7d82 GIT binary patch literal 415326 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%0D72@aC&kodZ<&d_JIBGnV5^xaa_^Y+x#Z8Sd& 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�QeeQnWkZn(&83EnE*yb!E|F@eI=58N)bg;e- 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≪`FS7*o$X?uGk)alf&Xp7tX*)xlL%ea`ekSAA_ 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

E!U!_LjOeVstDitrt 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

R4_otdz4chl+J=egZyP|q&q^Y%H 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 F06T1f)Jy;X literal 0 HcmV?d00001 diff --git a/res/silentdragonlite-animated-startup-dark.gif b/res/silentdragonlite-animated-startup-dark.gif new file mode 100644 index 0000000000000000000000000000000000000000..1e72373281f6a93812cd93dbefb238d65fb977ef GIT binary patch literal 1072548 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

w8xCl-He5AMO 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�V4kYSD5k5itzHykX)*J&*r!BHo-` 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

t_&t=kA5wAeXw%-+26;+`qu%OSi#X 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�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

vs(?7?JXwBvhVuku+E1 zkdw<>kjV}^ad%l0qofaa7--ZbA!s{t2({Te6OH|93VlLWV#5rB(`0l|-g_qJ_9QUX zIKPWM;^?tzQ*bc9+gx$ziw?b>S1BD8&MCUra44@#T>EI;_ZjRBC6%*X)g%9;;^6vD zpHGC{0(x$79?sLIZ8q$K{`31cff5^N%(t0{Uk1m!wL4BgK-5v{Rc&s|J1Aewf+zf> zgJEu9oGp|6#oL79tT6p@v-(&Lqb&(#ley=r{?)HG?A%t6vQ}wm^r8nd1Iv~+Bfb;X zta>OF@L?j28l2yD#@{aA<>xcxQ<)^lx8`YJqtFP}VH13A*5W}H*Ze$)Sr$^ukerHy z6s@y$t=^{7^BipdI#K?bZ_oe;2$pZPSvAkP$sXxiJ(vn^lzgndqZg;B&c( zDLd8MBEJ4tBK4f_@%C9=#NpLG0bQ5f%eHUA3Gx%afhgQM_>yZ^FL48}{z^wHS4+2` zJjUv3z(a5F7Lx>&ouCiqH0h6wk_mK0!h~NS@<}sIcq#xCCzfo?p3=q;sAD+DcJB96 z3x!~KP;K0FQvr;^NU9OTiQDt1y% zoAMkalFg>5k39>aAZll-@`y={dxKX(G6Emw$vKU;Q7R!@7#-&CI!$nnFQM3jj|eZH zCVGDOyyRj$S&ga`!15KDd5 zy}H>vIP_J54i0pW#*^6Dk{TrtD5g-Db_N|(k--*Sfg6`#ObXD%h#GpP652MA zGGCS(fTd|972AVk0XWx};h50!%w`tOL-i*dwY{a5!V4W6!IHI7c&w{cbkMfvwnIR^ znb<7`na0Vo@iG;&7sVPo&27q~ubau!8JOE?kR-nmZNMMRTWQ@q(}xI|k11F0Bm=x)?#egnVN%F9YGh?g_KKg<@r%*;Vf{Ogo zPgtm-5DAAQbhoT>YL%D(YM$=|&vwfg4r*n1{K3DwZs@7_$2eKKlklYn2L&)E3)Rp2*+1hohoi-!U3pB-tjD zJVm?aAdN8|FZx#_SA9M^4|^y`tO3nF?$TA`wl%1NZNh1Cpe^NRO_r`l&58Uoc-g;N z)X~CiSW79JGR_bUpB#B|Wta#*6Q$7>AG>M-jAMt#i98*FJgqBh)G{$CxHFFIxP$XI zk=UJtTm2ygmp@RguT|f$C-t)IERfkc_8V!~xUtIAW94@!f*XECJ@~9M&w4AiOm0PZ zi$D{RL_UfVk3br?J32>+j&bs>#n>sVRmXBSDSqgAHYXqmk8!jTQ{#>Jy?-QzRYAmT z_bP(g2#PY**=#;@TG32S-^_o=F-cDYCO7@5zXxIor&RgCuSa^G z%EcKHKaW*_bNY{K1+v`|fI**7lKXQE+mCV&B0!g1z+Tr&{hr|tM1 z6UA@=IHwU1a}@-Hn((&^A6~mY_ZH86x+hHy#!cpH@(L#K4p2r7AuI|Z#6qkm_EDgDL?|#c5bZQ%dm*5m54gKv|5DF-RvVmJ0TN#HuhssqFadNTo++8rdBXBV`3qH$?HL-DjqTLoZ zkz(GF%8UL*f}rAblv1X+=0)ECtO)nf*gid=kzSCDUaXLJe1As_a7sYX1~=Zu$9yP~ zUNRILHTo+PcmN(Eg=U{!lt4HdES?d{pzgEA6z~k{E4mlY2=_)S3MG)lpj!y#(+w87 zNmy7&z#5I0;sHirM6wA6a0`NVv;qZhd?@vRhgppL-tp%ZAZ+ZQKQ=+Xtb;mj62uqZ z&1xq^j0Bzu0@0a)V9)qe?>Ims_NH!1fqd{#X3X=(q(tjPcH+o$BoQx7*mjb=u z^~oF!saQ;+60#=|j7vmMy0QVLB*m`}WMDFb@^pfTveR+1-%$F*UhmsaWd>AKrfHFQ zA9qBYcBFlcw1_YZYOYkrnohOckCj;R_Db>SX3Vs-bc)Uvk;?+QwfPysv&%Ex7*7)= zqs8-2eP59n*ywvEdhl898*%9Kl^%GsXM4XMbuiQmtbQgzvgfazl?z0%>ucAoxAl-Y z01`%qMW(!$$IScL4qTfz85DBUfLm~+#brRzXR2I-5O#P-P!2yM-8!=?4}yfa75KYd z_azfLicipwrzvFh&^cQ_R3fM6@cc;6%qO;u*9Y1obq=?BGn$@{xfgspn)7_qioqoh z`#SF88i=iyppos&jBT5J6~oYxc!&-9a9wyKFTKZL*M60HlUc+N>IPCzsGRrbvbC9^ z2chKX0lOS=?QD#F9GHqE;NI`kqI{m)c~4g8oC-xpZ#fBcIcNlXOUi&+M_49xbKydu z9N7XIAxClq5uu9(Q)6jeTiGsSI*YJl08vb>8RS%`uqv`Jk{g)QnR16wo~Bb0oNl0W zkTs!`$)T4^2da3MTvmnQ#m|_&=mmD~vc9m18$dGn-l>;YWuOGc76UttH%Xnj?V{Nl zOVC<86VWTRx65&$zV8;j?9=`8=`#gjm1%PCrQ3B+54?RaBUOKbQ+#6i`+U;IgQ$c- z7Ach%wh4z7u^gs4Qaiz!3MpL4D0U3h&!Z!`K{Wwh?76bEzBo2Ko^_V(W-kuFC)gEV zZOr|zrCbl=1zT&FbV+Iry#2DMk79vb-)nG^X_Hv$KX;|XNt@ zKb5gr_O-K$Blb6lI$Kh^dD&j-%(dl`&bHZn3TU0O2~1?|D6|8LjjQR;wPA!%|LJR% zr*E6FgM}QC=w*Pl(7R4rYMfZ99;(cdKl8A6wJKH;HSS5;h2MI8RDmY9(Ph^TLA%~~ zsWm8)#E6h-40m)kxBo7+WpNRjKq``912frNQl5EyBIR*fR!l%m=W@G$u`U2TQSi~a zRLwr>W*z@DDOuS;{&@{T9B)`nozgvQ8rWs8e52X?yl<|b!KkuV zJ<6f2KZGtAew?8b_E`WAu~HSbf>Ci*p|3yB-FMMHXt$oLOrL-FQ`7T%vk!Ev)I1KR zkR15EskN+_Qf9A2IiDq--S~& zxREx%&fWJ6R`ue+$?Ua~^l`SU-+-dFfdifr^A|AL7Y67!_++E+bE&}sImx5Qu-DZ9 z-R*E!slmzApzB#p*vtqE5;oeFHvGb0D0QpTbakY?Wr$s!g!Pz~)*l%Epny$KpLy() z?aCa?25f$*d_zm%E!rFT@G9+C0kP5d=YE`ehOEqAaH@rjD>=I6jG@lKSJGeM;Ul>5 zjJ4*$VU!O0BmB$$J*^lXfz7}`ZFqwvo^8u(+IH4{GLPP3_vQ%J5oav6FvIbXJK4V3 zZf^C#9Wc1(bqCt9Vz`cAroVtb8*^Ch*P_13>>a(yRcCLvmje{TlwFF}4#10A{_FQ& z7eoBQ&QV!iiBNb=GWh9pG_}|Dpt9|8gpo8 zo@Rk~2=4k7xF0l$knD`7im#y18DpZPs&Mf)-4ihNZx8(@FQ-2imPQd@flXb$Z%dE! zpmN;d!G9cUV#v&@o)Aa?=lo=B0zbOqDzp4m5+GSah<$41aS_Vy=5td2e%aoa#!JWB z_nE3?o)^j?^$Je7{ADl%!aq2FqDO8(hbTTL5>9Y6`NU=*`xPVaThh*V6&I4sIH}G% zh!)?pjm6T5w?@_^8#ioBb&UXAIA;lvLe$L?f0D(YdfIfSLvXlegskPgktUeJr)w15X_KvJ5RE*Cf&^0$_&&7I+hE<^uxxP-n9Zs|#Kzu0?t`9&(+um@UNifIa!Jadkap2V3;5@kI=<8k26hUC zkx%*Q$d-AB=Wzd%-M~Tq4-<%u?}&w_SReJNRZVib zUP$OKMIqW_pVFhDK>-SO`TUTB>e55!ooS6fhoijodd0_cZfr?XTXm&m(;Yuv&t{D` z9u@5{@X`Isk=|izQg-?w1E(OF{G}`i#V&l1e!WGrt)cSyhFlK%yQNrcv00_Wm@iO; zC8UqYdwc)uEJVv(qBZ0MSaWcq-bCEap&HmI_v@6-2DYa4So= zr@{FzWhLi&ORT`2yKt1WroDeyzx-IbG;2C-O>+6721WCuCo~R+q+T{hPuA~|*ceHu z_LpQY>MtG6zw32`Y;jG#c6a`o`Ruqhc_g|c-cxrtT=(_U$Lp3lnjoZrkWWo-)%N!q z6B7`J<3W#JGv{snZ@TJeX(T^RD!QF3bt%;2S)n=9X@#HDz?(FRq!V!{knc-xfYZ4v|hm{D5l+o>y z@V{1kGW)7m+{RgYPW zNi>_7QC+v3!AuZSR2I3aBy~bmM~CJ@#`*EYw~DnsJb;i;KY<4mMJrMYXx!e+qLiER zw+TL<8i}5@=I|^LSEKOHPaBeE&=Co<8D{a4ek3*uU;5_=$_k^=muO!gF2SfmA5<$S z=M@Uk2Sf`Yxq5MPv1rzY7X6XCTJ_(Qab}+naEyrpW8}*05Ofcfc&`$!3MkpQJ+ zKuk?3VukATE924UBtXa=2b&Au9EblA5mk`g?{R@ytG!7AgQLS~)inQ0XS;=$SI=*+ zNv<`<1zz1i*C-y2c7hntm-s_E1Ma|^0OY&Y6wu)VahaabBmUNq2$I2Pz7d6~=oqL* zkC-BycrI9w$jwFn#c#vw;aUjWpaFjUu@EE9q8s1$PZ$ke5tcl>ADr_ioJpw&M|ZTJ zsOwJzS9}rPx29gwvUy7c4jSf)V{fUymD+VH?;DfO7hEO@BVsPf@AcOE}j9Pp# zqyj#~VsIL(_p~t5K03tVd;0$}4Q+`354R(QXfeU(Sxu|dJcgGq?zz!pCSI$mE?$Ez zq5F`@pdBH(_BW0R-bA55_e>@;PeW|a8yRFNC zmPi7dLpM?6sFh-H!(>ok9n%A^jZNu>a?Ij6U9K7h6LnX)mjRtBzILTGm*sTGVt)bA z5|%8VU6u=BP02HtpF-+(NueoeOf*Jt)@56;{byco041~Z2QP5GhD@Qr0M1+ELThB{qJ&`la0+ov%tLv!YIAR$b7ty&QcT|0bnyYjgttJFBN zP8pp$4E!lti+-lB4K`d3LABO7Sx)N`bF24vjD3(o(~7g;f{_Y2ydjKOh~{!{EM}&> z%P;`9Qqk2WS;lD4g4OKgEIwrOebJ^&0U0n~K{p^{Hqw41U-$>bEtR9~^^Y>J=9HhvJAjW%eVAiK2H3UK1=3f4ba=Yrm}+D@^+lpirlR7^gXd~?~!eCy~EYM(qQ zMaQ==#NqTg$8gJcu6v6T+k>=;c-u|@8pmVptGcxkw;@{wW_FMXJpFMSyW>pT$mU~m zWKvAm`w^&qLfuL~x_gh#uPz5&>gcgo3uv0?XhCsvkl2j%ngGR@o z9nAT^oJeGPoUImn6VO)}BgJdO2h|F}IB7b4Ws}u!V zne2EDxExUCS5Y-UhY;24qjb|soW)x~;;O4|T@9zbNQ>or;~0U<0N^W3f2hXIWg$18 z842|&tg02>h+FI&`(1Ej>+O6)p66*md-0OpPun5v{MS@FLBNNTMGs9wf3f+qJp2nL(oY=ep!JCM*Z*w-Simk^NIrU_FRTXK*W_HVT>;6WuZ`0T&v_zNOBOn zmk+qY$Ngt0U0-09WEi`A5N00_>(f4+yccU_nEP;`qX5v!OC8jKZ9d|oOB7P}Gl0Z2 zf{4l84ij~tB7mVHaA_w3#N>C9B>HF#qKCgF^|Dji3&YHG&?a`HfQQ4gfMV95RZMpY zK^um?r{_mWE;6yoME zzkYrl03vpx#`4@*h`_^)KGlu7C5Wir2P)8e6DLQ0Di65U0Tzw=<=QxwkA!Yo`Bzqk z%nwFSw!eXz^7_Cj4+WeEN67w0dY!ffIdwR$jl_M{jX{^h_-&5sXNlWsc4^Y&r~7gD0YgILuT6eWl*dcHZZF~ezm zhsOQZe&L;zt04v=@o&0=!f=ueX38+Jg${BrX^6=P8WN*$ZIO-KXrwpP~l+^4Zq=^VY)HtF4-9j@+nuAnbO%|s9rC_ZbA$< zoSkhg#q?ZHrU`z@KMVM~B597R`@Hoy#9W&pV3B=M{S0w^x8_0MxvFF{xL`DOrfKT=@L15J*-87A}Gq6cPCrk>nJS zbrn%87g606(U29xgp276iWz*1nR1F1A)=-FMe(|7n@j$Y%%Gu^LShz57GGf5vm_MZ zB2jQu2P%8mH2)1MM17j{6^QLNTd^}s?<*=N+qQBecNr*!^7DZr3TZ*-DKwB-3G-Rf z!xANTmjZjNeeW32t3&cFm~jSLhGS9L!mQ7;1B%bu`2gtzO6uV9-y z=`^gzzY!QO<`rhfYQAu%GojX1mDU=|(f-zt)D=dgq=PfM%5HP&GD{gbI|=Vt zXq&JaP{|Qy*DPElswvIgwsM(f z(G%S0QtNr)5`aa&xlE&Zn*Xk`)g}Br^RySbBExk=YGTV9VM8E_AXD#ltLHWRN!OKV zYy*JkCGO==%E3QRnFes$*;wH^xV6V}%pSSmZ=Uc?pXM}h$#-q|`>oapRulR)==VZW&V9(`Za}+Cf@VZz?{Vb+SlO;6E*Gs&$or z%>Gc^HiY8nPz1mM{OGl2DCjBo!cR}#+6yh4OV0lm3-EY#oZ^$tH)6k-9OO6 zKK;DZ`7;k4!R<%lHyW>QC&DMmrMJzhTF}H+M9k0cWWd0l->i~VjXlaTI3g6`s1&a{ zn*TTE-oh;kH*WU?1O-GGh6ag&p+mYsh8()PyA_cxr5lEBq`PBCQ94ArrMtUx@%QGw zd(L}y_qxut`%gUA{d~T6G>113$*tEgrzhNVw7!`a$Axz#w{s!j{(!e6h&XZZ+TdKC zbx=4NE_;d$$l`7?LJH1+i0mY9TOqxFe79eQxWXvj9_fq0&-KgX{3%UXXr)(9P!ufy7d9^1Y=V`4(c=PYhV6H8pV%3D@#CuE zmaTOEuI=mm^cE~S0LSTvU>Lfw>6gq4s>r4jbUwF*LlQ#@<6071Q z4w~pScD!3B&zJ1gw)la8EEtvUJSx{kTFoepP4fOz=Q>B<#N97`FuklV1v~a&A$w&j zlj=$M`(O-16k7iEGWxaCCcU0P+`>Atb)id=Kg>GR|)zUSisvxRrw=SLvB_PI%2E9*l2)QLYQ==M4Wu7kCZtZccX&c-4(|OcQE6 zoP_h1>X*3V+YxqL8jUB;20ihPYhMY}NC{82Cfzz(B5yIK=AV7H;*_G@rpTOV50Gkh zA>23OXgJhQrI4i*yyi(sDphgvXKxE9sqh3r>sqs6{G=f6gnoRB>TePIDwI7h39~n1 zmL0ub@x#m$1Mr3f>pc5wn z%Gu25{le1Y!x947GLrBzvcd98pJmj{W%RaXjKyWl$7KN73Q%|j*I)(TXN53xg}80y z?cxgA;|c}YDy8r$*kF~$XO%8pb1ag~*9ja_(+(_oGJQS^nwnz9Q5|KghP zx=h=;+~T^zrMiw>#ylYJbQ~MXr!k)_J^+a%`7b<6HbjJ?3zx2Y?U%nU1q{29o)(!Nh>V2jUi)u6tIoPBO2sjD zR$Ru2vGBzKHn`q;D=}3X1K2GCFPr_#v$*K;X#+G4?D8MDU>`bM08se{BDJ-_`mZlu zlgaV2PB811%#Gvie={bay%{T`ZhTer`KaUh@F`Uh|g1Hn8le z`ojjk=|4ORQ)bh~Zh^{N%qY?o$Lep2UCPtrPlp$bkwAOY>ICgMza{hS> z7)!CO^#)w%o%a5Qc;$V0+SIRaUvy>Ed(hR#ql>;Rzi&~Wt$TL&RY(k&9N@W4csj;_ zvity&eJXNTm$b$za6RXhptm2^N4-&~XR?(icFvbW=n9gPMeqxtQ=u$9jpQCLLg}cq zb+ldAqBfPgbB!+bHb%AH<7=lPtDH~e#8^Iz515Lv({Gq__jBbNxuCgkB>Io`nVUxk zUTh>QAcB0sW(JaJ$R-6l7Ao9rXfw8$=;C?lZYuEs$R`{9+Rm)E^hILQemq6ymui6v z*%3fo4fRhlO<-%Mn~Cjwl{!E2ByM#)0_3zP{GEIs(J=E!G;R9l<2EAeM5eFs6X%Y6 z?T`h1@dppHXonO|vkWeb28 zPf9sl;#Z#3BJfgHfEW|J??`~+Jf|CLjaSlm4oA)su`|d!aA9k=p|7`nP+cg$$SE>2 zt$&bMt}@=}VlqB}0d3ondjjTKt=(xP(x^I8HJkk)vTWXH;3`U;aqn}}>YeO*YnVV} zD|sMW(qyJyrg7eJqJ2CgNB4X|APcgt!~SMV`CxN=iR)uoy0^{7pjDc%DN4=wtb1@` zkfdR%!K7A8|JJ0IP!JcrnJFRMg^+P_c@9Y^6;B1BQ>cLX;NGTe0onTL_tnyy{Fcgv z&QuJ7Wy2_$F#wmRZidkiPOdjm-k?B8vW{k4pf8eGl*dc9 zq?7zJ8Wfa&*Gyyb0PJTKXcpg>mwH0^`t#3^y0Fl{N?8+-XNOeEwl|+*W6)%WxSf^3hPk+2S?tS;g2yKG<>EU{-^6ByZ>geeS z0V50H74#<(@$pwwxhy1tzMn52Ke%B=WFgZ++tFV-c;XLcz2xa@$NX=3mL;^4_n_Bde<*D^cr0xvvx7JWgTcL23(i0jAgOeGWsCmSwd~Jsg zX$IcX8s`vUS7n3I;4=mMh->n}eK>Al`X#||(Wk-4iO=B8bX0+>o!GDN&n939o%mdq zq96Vy!Gky&(V;uQQ)E0_zMWd^Cm#^45r?uI_EypwkC0x86IA@R*i8~R>P4)YA1jSS z#Mump@+boD1X# zwUl~cDlkSeuNde~ulbro>DRqUsj0rKHmS;wZ;RB0)?8?M1V|deW;j`pNZU9CKaHSs z^-Ag{MhSzn=z8w;Jcbu#%DcTPF@1FchpPMU49|xHN2n`fxunfGf)!)DIBOYZ1LTQL zv5Nih`M#)!B6F9*CNeK2@DMklo3}bKPs#X{LGt~3HnzBxZFv=32}l<1vcOcDfO_Ol z2M}S|=K=|M(;haX{sQ_!frvBptT+=yRA(U#K@$XbVE#;ylhEgK1r~9u5FHE$Tu`pV zx2XH8iaY_=sp4D%k(J^-Er4|w$scCj7zT)gvBr^!piAnIPj70BkUnwNMZ+W;6s2NM~O#B^Htlc z5wl`PiMpm3bSmORY#&bP4{`t%er=FlVjYA|2$mS8I<7Fv?%%z;y^=>X@e=W;9ErVx z#Jd1^5eurKSS&Y0HLtb00$PBk!lh8jH!Vva1Br;hF?yHUf5_&dVx%Acp7D+%M|i(B z4ru?>dOEP1>LT7{2b=Bl=tTm(@T}Lj)4@ST#d(9)P#b5B`bH|e0^P7E*gTr(iMaj1i4XyX~)4|A>1R#D1tIC6Fv3atrCN@)=kNe)5&)aCm zk9GAQ?~<<(hTb{m_&Ih#e8nj zv>KvT0O=5`DJg6flpvx;y(;YBqd+yZYP2l^C)ybu$&jxhFA>y2@WtIe0RkkckPO8+i4g7yZ0y4s(8BGbjwG0NpAEsCzqG&`HC?BPc#~~_2K$_hYBz0V(L7_q z--ykD8ce|LPh#b8upGHG0~iU2AmAank%-uSWw+S}5Tw(6-d*=`GrkSMb6km*#*fb7 z1p-n&D&+VdxbeAOxxa3T`b{09O<*lI^%6zej9Q!UHId<)9lug8pskzhwj_{t*5sg< z7#QkD`h;TBY>7`cYr%69J5Prz!%NU03Bc2iJ|_gOHb!%z`byJVBjGT~^#dAB@r7LR z-k{lmZWI79vEp!N9&G>`1{xxtyad`5+xf47r9Q>8TqQcV2ZR&pL>B8r6Q#uRrNnEeB)X?0r=+AdrKHcM zWZtA?5vAtvrRHg;7PzMtrKFZLr8@D(Wi*+gLm~(00@7CT;%+{=jK(o&2DuOshgi$> z@BkxDVnqpf8Z3>ma+ucEQ`HLIs{3+d#IO*HrpM%^8k!M2- z`Zmy>S<_|tY&!I>MhlbXL@I$gK+)a#2=9xDZkwbx&NDR=NOg|`_)Id~)w229NsY6U zv-+el=F$=%-(m`-l^c0C*%HtDvV7v{v21cf9Dx%l(y#`y8X|BkAlp0O+Y3kzgJtHy zNba)@anK3q>7MjFGQq+ig}};mtPN0;p%za2gLF$&q|8h08qn7 zP_=;xHPFNUoSAJ}*%D~0Ca}ghvl&vj&>>U8=J~cJyQ!-5f38ZYa=Mk7=8u`WYs*;Z){cP2J58=+Kc!)+q&cQhV9p zh3tx3sFaua=AA)G86Yp8>xxR6OH9W~j`}6P$>``LRJ=vv%HapNVHZdvBM5_vKYl7l zF)23kkeo)B-%q7%(vh5O_Hkd$JJJDkph&h_GM@pJ%1DtMdm`NrA^@{9Rhi?NwE~`jNNdbwOxZOOrFBt^`@~n zuXF(#CN*>uWvxNj6fM*#j`fEwMdD`U1I>IhKsXLf-CMQV<5>9YHP&7j-(rajnJt9# z7O3FYP#y;&l@YU0!L|EE7io(pO9JULX?$X>N}|+p5(r=p7wrT#5z|5}(nLI3K4r@? z_?Jd9)ip|hSo0ZK@|NpI3PdwYo90zZ-a$xm|GZb;1#0yRQLpjvD3h{di#D0!ej?%C zj^UJq6d-hkw~L7;>N*U`Ksu3_jY$|ZjT;m`zl|0E7_&nr&x?4;wg z_6Mf%>sNL{p^hELCp*X@sP{oEN=S_zIGFkovE>Gb z)>fsHV!dyZio~r<9AC9hNl&6x1)>n!%fi_+um(QK?tj;HfZv@-3*^(WspVRnpXvZ`fVHRUGq zl6n;@q_{8jy}Hl+w7&}j3VFe=0|Gat`Cf|f4|=(uj1I)>4PSZ<*WeCcw+`RW4?o@y zBV;Hc3XLG^kG%9ALCqLJ|2~4TFoO9o0w5g)3XS6GkK%ie5@w7Ne;<9jFiQ3?N z@s!k|Yrm2?Y!i1}&c^BhOrC!Ol@_hO@*LD0j#azQ3p?-i@AnK%XF2SjYF-gH94-AM ze`T4PP+30F8OQjlEynU-gZ(4H;D9RY`QFSs|G~%lPahBe1}e*0+U|ZHY>byCp~c?c zR_hY{_@=nD(wA|uaVq}p$B!?*u!ll&GF? zj9~$~ZUG=G21^lXH?Esg2-D|_UTvV}*~CJO*5mb3r%V&*^!c!L0cI&F$xJT&)c%g6 zGfJ`gh)O^NWcvw8YrB#gv-p4}sT6G|vYx`sfY`veH0PA!d=U|3kCb#2=gpaSVfX{a ze#oKp(=_6<>vVPqV2V_cNo$5Fdr=(^3VQ2-di4YnlP8{{lDdijD=iV7%VIZNQ3p$X z?cX}3Zp9^d@wjdWspRROND1bu_97WHqKVL{eQRD0Xzr*tETA*HK0k&knW*-6CJ_h4 z7kdrUq?5bq7%~GDs=7nrB(?fYvmJ@%UDib}BHWlty;t*NBBnmlnG}0cmxU zZTqn;@!i;^lIR`MeAe&Uq>a;0!VROmUuA9$fxWd9iXH;!v98yg;iQd9~n~vEdqv}FV*bGU$2DFR$Q+}@El&R z!K7Gj*5frl+-xLUR@`i+yB^+bWd*a`Zs#R^xZNo#thn7RYdE~!tLi;mTd0}-aCgwS zRdILNdUber^z+rb`{OQxkM}2iw3YX#gFHv~XCqSY9?mB;KR#T{SXMq<&buBxTrCH` zd%Rvx`uKRWU0C^eyWep14{~|BKcD{ipOMS27dZbFx$qzR0{#`b=p6eI{@+C|l3ljk zf+_+NiJi@(6~Ud@6o99z&1w*_vX_Kl4$z#Zk(&RLr>GYi*0<}NNM&q}pqAAoH~bj5 zb&M8W|0=;wEPK_An31XY04_5-fvz}PB!@H-X6Z{`nhtD%(~^+M!d*#dlVcC1BL1fJ>QKa7|(xD3B^iR8|jemW1`mw9P9eT^Fdz4Pna{-Q2D<p)=-Wr8*8#}scO3~+UBogNG0v#h69#E4v zDMgC!s3zh^oQmGHTg#AiDCb#7CMl41pW%W^JHJ3uAU8=oGj=qd?}FSDlYnDH01tSUVS z)gwjvGxIbzC2>i&W51L0T=3`8K=X;of!a?q09sOqc2jPTeFs=4L$2?vxB8?)r42jO zXzZlMuo?+l*r)6+Z%F8{`_)|($9o0uj_h|g{e%9Srib#pb<`+fipnf#>c;h&W`yRPGD6&F&UeuW2v#kIlyjs=@<0n?-?>0Qp3%AN}Aoku2 zxI7_WGb)MnRi?!i*aujtHn!_|ij>)~hV25KjqpXN~ z;vcBCet%dWddbHb-|%yT`jzB3q4cL9Pof`x-iER`IU554u#8C7&bx_>g)bNbGc7309mk})Xo3Qi`@$g= z=txSf?e8Ee8vaWi{*ww)bj7|dc|bN!;U;^)-*2g zRThuNAF5)6lVX(;}Y)@f61<$3%; z`UrF&42I^10xVShAzUvQr8>Qr;0FI0Tk)qT318E(657=AePe7al4`tfw# ztN3`D_H@6k_~UkZ`0=vk=^<#P1^)4!&ur)WpQjB?@bP&VyM_6I%_m%k6DDZ~N;eRi zt&7C)6)|2cAWPZ9OWdvG#R35g(X@0hW@S#g8X5Rome^}rKcOfi1F zJ?^_8E6dN~U^k+lngAN8=pZf04}68UAtV~e;%G3Zi*9Edq~P=MVBi?0>l0MW>YBu} z4B*wygk;qrfE=hu z5fofIBT~>PCyZoQUWJ{@D-2N%)mx!z(E4yE=D}KxlEh1GYbBx`8@vZHc&i4CE28Ns zG;DVhf&p=cx5+d5M1O~Hi6Y{pTnkfxA|I52K%u?)F+Hqg@Qr!VYI4iFa8ekFXVA*Jl^D}x=MCq^shZu`E#f}c-NtY6XA^ffJ!;J~$@ zW|NNTEKa$|OMQ1f4sE~~|_OfgN7k6k(p5XZi+kwr01VbuGk60-@n>#zqC0 z5}DHrG`Rs9PLqggDFIykxU;x&+q_YHfG?x?nK)6j?Kt5?T#nWNM8~8YoJ5&%zh0cw zVi&%0qtrZ=sIJ_^!8io9Sq_Quq&I9IhjaLnr1_-zuzxgh@14dW`_iRRAf^{Poh2q; z`lSJ?lSYs;P-2pveaT}x{8x~SSBONhqiKqi$&@H**iS(*fUJzRN&dmvFFJ7?2A?v% ztYz3z5pAXbM(G5U-FSCS@gUggvHo8XS5x`dGLxmls{E6UW(AL>`KI{3Rb0m8cM|vd zb99|i+`IE*$nbrLNr#K2CYyd7LK8sq;Ke}7su)kLUdw7ZONpt~O6>Cnmk0nIzC~W; zC{q!YNM{uU(!F&d$CI(N|CBp&mWakfh=k5;k(0eCh9@!iY@Vfuh6$@+=LAsZot~8t3=L#H}wd;urrKWP7JidJN zDD-G9^qMR5xh?!kT;#`J6rl6mp;;7?S`^k?6j3o(6m?q!BQB2RFOJtKo)F7TOf61r zE>52-&b%$oA}-0{FUiv>Dex#MN-cTDBV}_X6}Kf-#HBU-rFA-`aF5c))Y9hW($=}s zw%gL5#AO})WnDUDJ^Yf04rK$)?@_AC(CZO~h|9%jf6H7jMg# zi7R>&%T{$NHa#k~Q!93xEB5Cq4sR=ti7P`T5KeU}FFh)+Q!8(qD{C$hn6dvg1@g~G zs{TJCsRjSd7p^*|I~)VYXuhvHw>O&N->&9V`C0$biSr*LskMcQL1sQWYV=CEBf0C;H#3`THL^`oG|RyWe?eLjUQ+VSQS89!afS3cGwn zCzHEAs_Y2CVeBE%$_nU)Q5o7%Yg@DoJb&TZX5DI^Qy``)nDTQKGh;=nr3Sy7>-PdY z47cX%B;W^sLa=Dl!&|O?jko!~CRccyGq>7D8jD9La5J_qcVJ`9V z=)1ty)5W$>_Vu?BG~t)Sk9i+ZkE(k=Dw1;oD&URNOW$sUKRzOOOlW&RAA<1__C^Tm2$Xz)PRRpI^!c8)E%P6lhmzsC6b}g6K^GO~Nf>Iw&Jl zA|GQPrb|zL}P@3ZP*pK=zAu)22p*o+rWvr=f`3;IU67^hm zHj<29UK>UmCt7c&SQQjoSSVExCB=Q{q2Ee(nzAlbgd@0aW$M-UZ+%nULEFv>z_;1X z4xuU8&WYgO-OhzcGVJ8VYuN1MCtH;46r{WC?i6MPG3*xQCEDy37ZsH3mXyJFcT1~! zo*4GZ>ZWY=${ROJ_9|L0clRoPzGU35>cY3(ukNEM-LDzs-rKJokz_omo6xX5sGqSY zJ%G=<>>V^L2QeNtt|!_aHf)c~XMF6V+;1ro9E zGZ7l^xSgl;UhG;A4tE8=haxeKAM7ns=IB_%z1MX3ryUa`gO# zE75&g7@74WXroUL>YZp%v!Q+d!WAh%l@nl6=XLUtnwY>vY_t+SmGI}A%U0+oh1(qx z6@}41Mc>SBp#cpnclwpXhXm$HSVAcW!1~eH^;R5wk7Hi0M7|S}V$9K#zRq>`vk}{V zuk*L^ib7f*1n2h`LK{A?(|P{@=j&{)B%$Xo+&7cuT>&nyyW?LjpYPA5Tzwv{mz=*m zV*gfDUYeqU9!yM!A#itnMIoZNHQ9m@Rab(r*2%@^da$3Qk7@q2P$}S;omm*X1BbsZau81V|$rh5%lV9S5ma2fwim>5OV*1#!##ynga{PJv+3 z`u|OV7}j=Do0xr3K<>xLg-R56RXwLbR!sm!-H*=IRA)_;c)`~aQLt)|k{Z+$Mkv9e zg6(D=v8L=p*UK+SEo4%cOGfP|x$ymCG+w_c?t4^dSYJ6M(18jQP5Ynj_pFpvDm=7) zncaY>#6dGsw&H$;HgF)WG5Be|PcroFSX`o@xr7d=pE3-XP<3vCV=671oL-ffunuM+ zXP2ca0VY{Tgs`|u51Onh#W?Ik89C5oO!;f0yvv~PzDfVK8B>I1ye;6O1HakAzs}*kxnC&yNT=k7 ztQK|2i3MID>eiJ(&eU?+mhrg(gc-1Aqg;e=;{=b!vU2*696&j(XGa5}xX#oP1JWD= zW0;h5`6%|mg3LF=iTL&fFF=;G@8@7J?&vJc>R$Y>{4wS>j(OMP#qvo5YE-+D#juIj z3LrG)hNjc3iHUG!TBLDIh59J8A{$lGP<1sMu%fAasm}Dk6ukMO+##}5Z%byndG4aZ z?RTlc)xdPy?M3C+H)TezUgynG)Q6i$KsA-MH9GjGK8D-BRwS4Gk(y|o-(byT9zM-E zC}UQW7{R2^vA(;YchvUIxFM5v6Zcn z;+5##wv}`I$gK|66}=OT9A~F2)t5rkoE%L{edp5!hu#F98K!ghr#3A-Ove(qc1AyN zuQbiRRytMuG14;EnFZpDHgkwEk5y4%0SEEgQd zApA6Pn$iEU?XZ6KD~nrX%CSq832@dq=_Zc03ESUY0$Q zMrA}ZDn@v+p!9}ZMYms|P(z(jk9oH**+V;t<0Q$7xfBe|;$B_h!dE?j>N6G(4mN)- zXC$z_FJpKF7rR8qn zII5v_Oa92?&)wqnP($0*?<1ePyCnpy#-Fbgj{QjPmr)fPI|zo3g9PqZ0MU(IvvTrJiHIsgr-?218?4bygO&Z zT!+rSVi~0|9yN^wE1c($JZwW1o5zxd&U0C_c9f!8DdL-a z9QZ3be!T5PB9lulUH&UN3a=xy$))r92n z@cxGYya--k9))Z9LGqeE=Odk&GX&FmJqAkCPv9%@ED!9Wh3Kh2u`5__BxqUu6&;&a zS<(7If1{^~))w~inM6q;He_8EX%7F0j!QEvf9K6&jpv4rovm+QUo!m9M28Mta^k;; z4jH_H%>SQ?4$HEWe-|C6ec&X!(|)?bGRFet3OkZumR_c_LC$Hrv){aNQyN2ps=Ru` zgQS-nN&+vKQvxLodo0J~wwj#A!Sz>fC&J_-N5|E+x=p5jsP|t?8wE$6c$>JQ?22k6 zm0!-a#Qt`%v;I*|l<8Qz?xJQnU4FIr9KDGIEC3M6V!nE{OgOICqKiw;ha5TaNciz6 zXpP2dR!|asR0ycwAQ$q9-AWH0nx2vbF*nN?Fd{GR&`Gew?qMkp-R`^I$hRm5%bE#D z1}qH$_S;^)6D&)^IvU%3o$^8Xq$fPyn}IPIvkn8dinWs{wcxpnHyJbovkXy zyWdE$MF~qReV!1I$P0dVC;3O9>;4w4J9_l+x)#~%i4{bSK$1i8@Mh!-#jNZD=Cf5V ztiT&HukYT>@dv6XtDnk>;pKI(AO=4QRUx7XiqLcP)aJkoFD4UBHm4mAGcWLiW45vp zR1{YwAP8G83&S-T@8aZ`iu-;=>4}C;7;#r2guWdFd~HHTPN^Iyi_!my4%iipy7`4s zZ53UBu$zUByzM7F$ZpV;*!`A*S(-?S ztZfW59Du+c7y83mM<14TnYaqj2@QIZZ8*#G`gxa*p6Kdw>6s>SjqJNqe2?_b7PeOJD20&Y6{Fy z2*_HdLQ#OMDjmB^CLrEsD`73naA*bL)PI{B3aRQQ0XOTzgK;U}7@BS%}m_mPWW^p3tqeT@`Ptrq8S{ z!uZGPDMo`MC!fIFmIS{yR;A`B$KDCowsJnIkhFn%TE)FId7Wjf38A(OLue1MesdZ3 zQyPfa9SU2Eyy{HxbnD$zy*7kjdMm;iZBY`|({C)sb4q z1;p1-1%uneY|^;4#TjWh91hikgucT?RISFNoj8d&&Tu&6KH+39K2IIX@9F%xooXDa zuW`n_)p{-uLr4vs4wbLxJ~Jm2DWwksrUQ7NvAdT>iB z*I2cfAV4%H(3ot$79tG};F4>q+4z-=eMwrx_Ln{gC}8S4{u&y}d!`RU#K$(VX@-9j93{5op!g7g-N#s@UG{=>%IHlO1!{ zC-d%Azwam;<1td$QtL^T`k}a~6Ws-qu4XmvCZ^s8jhRB~bM7Vr$bs6bu#4wiaAn8a z;_aL_(%qokebTuV)z~4kJU7^CJx-PwGu)ye%g5TZD35H*qL_v{tRzF-WPqlywB~7c zBS*NMxHL2&@j29!yGWdqS>3T?8|Zv1GgU=E6U3y279zD>^ACNfw62q`oUjNdubNY7 zKmioG*p8H~Ch8h~+bnoZ77$VVZ}fqVLAKJkWAT4MA3jNaQ}|0C{>MV#bbzU0|MVB@ ze+YrCvVW%!%;zKG1or2nP}=hIF*%-t^Km69=8Fk6P5X;UEz9zYDLvPNze0fda>gvl z{&Lo;@L34hH9Q}X9eSDn(g*vi1-GqdA@KKre6{rT70dN<0Ktd<_JFL=SdtkW)lixv zfav6%*h7hzpn?N!O@+3h38LhpQ=3Y=~aT4nD&j($$tRZ7pl{Mc#?m%Q3PnYF1C zJPQ=UdT{GkRQz)YeE1+_(al)@aK#q)`tce)PFVR0AJItoroSdyrJGAy>HFOq?jYd@ z$v~30-Rplm`+6bgl#V|T@Tpy2MvN+1B#A`fR)Ow4`w(zWf4gG5Rx9Afm& zpCV5KMGTtST^1csdqaUf3rs{)aR~GuB^R&bfiVxhqr?u#7FXy?z}&5(VZUGTeR8A| zPdWyG2+dHN!?u6cH^M@-eaUgnMZ4&UdxD?OnQy3p;>46};SwMTfDpSVE4z3Yh4fGS z-&QGLbXcSfpNZHyYA-)}VHkdUF6l~*WN?u~w8tkZinE+vh>zJ<63#rE%%VQYsaFV{ zpUrft==x=R`omvAa;c?M`s6M0<1+6tsKjPt-YXyrn1k~fKE5avuQ;WW4Sj>qr+9n+yP~O~895yxonzc6N zMk(HTJSKoQBHpY1r%bGix#@ zl=;dx-JU!4xsYviTAQQi{k zpHq%1SkL<4jjH#&!lIE^Pw_BVYQzYfYFFthdybZ9f6318Aa;o&U)g2c=!~|^tmE056InJn-s*JFoHJ22+KhY5$=SHlb=8$S%W$)V(tLTl4S!ZR=Ls z0?Sw7i65Xo5?4zyxHwcQdlQ4;;ySmmG2~j6=~(IWvB~gz9a2MYofIbG$R9r@X<%ac z5ig!z40wLJYKyBcHtLr=!h4PCxg7>6^j7S>$2j=In-eiICKGd$=?*;WkD&)eCaAow z-~*8ZWvX-l<`sJnBh7%;XFH=(x3NxL5F45m|y zeFlalr{cwLzx>Y<59uoC%E=>T^=C#Xk=v32x1+GAx;$F>9U0x*vE-q;0-k@T4@FY) zyDDk76GcIsxf1i6YQew}cNEc5?2hHRvc{>0+?rDB8Wf?csNojwfs%3tb5b9knJK2r zkMV*qF&u@_;uPl(C$DVHXuGF#s5+BRkWBm#_*^>SE>b1mg^a?x`)8(f>pPhbVR?Tj z)(!roG`+C*h3bAV2EC}@*x3R*d9n`TGwkoL*bUr!e!Am^wlh-&etjb5w=vL**Eu=Z z&`1|P!cVU`>pblC0IztpG&&3}Si!bF|G|9PY5enc@vyv0cf*c~&s(XDCnc_D({STc zPd@z2Z(e|3h&H7EtjPgB*+OxGkNFGdD#M@Z)uwJD(omC&(4MQ3t>;Zin-6iK#lZkW6!urA5!Kq1%t7b)&l{>6fVb|vxRA2R0F z&vNM4ueq7)4`Tqg-(=r_cZ@TA| z%`QVLn3!05YuX5x-i@ouo-=dYLwMgY&ykFsVD8}1+kL5Q)AQ*XKfN6Q4qN};iapJJ zAUsno@RS1nxTpj_Hg4y8`^}hKyv3<{iatVljQIVBvT@1m0uRZ{Y6U#3wk6aF{(7rr z?|1oiN4O~dW7VZ9n8(tXbxTtP2}HNS!#eYd{b>ZV?Um$h5(`!%8#vYn83GDt^Jbw$ z-0KCfc6@O-$L&p0CFJ}y>wmAlh^hrLx;?!NPbBQI&8Dig=!O8@>*K5r)R{hQ@1!Cc1?tCx@mshNjPiW?qM85r*aP zhUIC66}W{JC5M$XhLz2PRa}Qv5r)_BhSzC@!`;Fglf#=E!&_&<+pfcZ5=M0JMs#UK z^teUzB}WW2MhwnG3|&Wz5JryiMowr&PPs+SBuCCQM$XSfE?!426GpA_My+c_ZMsEm zCr9lzM(xi;9bQKr6Gor%MxSd%x6>e8Zu7l_Mc>avKVC;85W$f6U`ZSZ$nG%I6c~CF z3}Y6C*~A^B#eH`T3sXg){I?6+zrwDn=bp97|CPr5AHXh__^f|hosh1j5s!R<12(4r z{H$?N5tskHXU&@q6pBl)3y1N|DHxUd3ZtC9<#j6l$0T_%hv%o7mDX3+%s=%!&a4aO zV%CC}Kd(-l?dHoK?;C_kQ-J%f8~*mJsqZ4A``Vj?rXgec{G)OCKqAyAD+C>1UP1Qo z7LIMEke%87UfAfAhROx_qvW4qS4`T>oPX6Fyn7K@`HoDXmAAe0Qjp~6`d4OoiFT6g zx6Bz!#tn2|)uijv-OHop_L`>&(nl)mMGcgfEW>Tyzv^ce;sk$~f4{%GW*!=f9{bFw zGI~P0{MEufCe0POIUvg$jk}T5A9JkEFaURsJ4NI~olsSvT)bcpaHGXCBO$tG z#!1aWpJA5{JTyYvMOz6d=RvO_kgiWhlOS@=OKlGCLWS5^o?F8+ddaU5WIPogpg=3*Ol0Rb1VwlB;Nk)30S28l)sP@5W(F4AyVi1oq&71ix(D?n zb`Cxs-*i0cwMuLhAWtGMb4#XfM*|EGEY0oqq*p-kCKo;Vw`if9hp_za)f4(9)R<`v1&xs9tQa>2vK>`DGk#n@e!ZbsqHvt4boj~E6prDL|<$b zNfu==9Q#V5(oRb0{xHn-Gxy%pXRx$-~olfwq_D`iJEbu4j|v!S~4j$0kXZyZyTVy(Y>3K`!H1%v4qLBC(}w z8kpcgp%iF21k!bAOi?G{^oVOj>bW&BAu%9DyD1 z2}D#pWF{BpiyO+k$_wyBh^0hxGoy@*6&DLKw~yn*q~s{Zm8R*6d$qRiRE8>57BUt@ z!j>xmg!Kl`oWz4pO!JIF3Fz}|DD#-8r>**b>Gaotewaa7NNf5HT+EUgo(FVa(#P-+ z*Rq$*qtbmt!;$m@i&f@r#&NI889U~s&DHhece5r{{Lg{i81M86D5UI^X7jWcYoKD%Ep<9*|GDNmfaXFzo zg%CiPa^8HLF)1|~KnD#N8gx!w;?yVc#!)r|_dE}qEnT!ql{tYGr@-yT%E7@VS^u<- zhDNAQO@{#{KYtF2y)G7e&5fVIpbna{8x*4lP8Q-*M?Gm3s~hJ`mNRr0>YSB)I)7gi$$B{z48yHLM=N0j zu}%l7;Z=X_4ACV&jb;#ap>dPzGkfP54<<{jb%pF%LUduj@x`m(_%d3nBPscZ^wgD- zN}HPg!Jm1;M6S{v zKbyvw2drxMVh)G{G)6aAq@2QG4=~MEQYut{P1s`0vP%_twY?{i%1kJQX6t@8s=yQP zQlJt6=#(1zdWegqhYx!qy;D>~m4qjn4KX$K}v(?#{26Zk7Sl)DFWOquojU$Lj^nlv5 zMTOUeTl$n(*EY)bM{7@YS*Sd=BbM0$(kQoC{<2zX%*vmAjnEv^*LMDcFMDo;LmHz^ zH(!stEur4I6wpS-h)R7h-ZQMJhE3b0 zcQpy2w}cWpO7A7q1O%j)2-17+9THmT3BC7@D7_;^x{82wuz*Mt9|aL9Dx3FtXJ*gL z{`Tyd@A!`Wcl}=LIM#jN*L9xOtt_XUAy)ls94CQBvAcQZT6f>5@mog>kq_P>KUgOI zB_chqf{fQ;@K z`YGVGnJ;AsnspV;evXDPVmM_m+~ycq2!<~oBhZ5pTE&Q*W9~7=ipj)En8!+m#6sJV zyG!EAys^{dcI&&5EM$(fAq*@sYCwcfUMro@2(8L7xK@IHL0U7)naSljz0_GOOE!9O z-n1rIRn?rS>p?s*ot)M=RHl_OlRiRHIz~NKjS^ssHq(gAQ?=sNkyCEm3RQSQ>>iR1&kae>!|F!|SO)t)mBVgaT5@ZlZ?W?Ss| zl(MQh-9ZR?(wy}ssF>8FvI@n@i zI3t&8&?f{dodtmVLdoWOG_`v?^B0s<teAUE1xFY*Ip8A1$Mg zE8u<-$Cq;@FQj8QQm9`>QKcg5b0x5rf;CuHvDqj8!5S5D4=l=F(aP2J4<`2_D_^x$ zL@6|lbe?VQdo&3@tn2_FJ*|LYa`)zx#a}2$u5mZ;$B%OnzEIaktl?daImWu~*H|dn zaLV~L$OG3Lo0E9l4&)0%0sR&EYL&pqHTh5Z`4;WPnW062y`Wa{;x@lR3t|Fanc_iw zMuxpmG`V!awXC8hQ3*CSd-J3yj<^Vy0Lqhr7r&Fwk zGAlCk0WSe7esX+;029$F(Kpo@^MC;kJPI z4?fxlmh!!nY170v+?s+CBRWd~S-)i22X;kc->Wk1b*7DKa^B>s5Y|4$mJ1Kpz=yE>(U`f5@*4nrmPt z5}IB2m(^wz?0Nh%?EJK7&8z@7IAweVM>{6%O>t2_s#NJ$77NPgi za^%Z#Dvf-qVkj4wuXbnSQqxV|GxGe{=~XRpw5OyCwQ7^8HvTWxf95^AiS|RXQrCif z`7`li;v@3|e^Zhexd7;!X0qVp)*LHJqZP5gDM{H$q`7Q8=YC`3XJeV$pL=f{h^2Rf zQmHD$4{<{(;_(okgMUzx8rDQU1L?G#oWp}> zjbU#?(DC#C;rW>61EnAgm$6$~j8`NJU9#n&nqKzrVrrHD=os73>micVO*v1rU^DRW(NW0puoRmE#z%1)~iU0_GKBF zig2(8*|8(n0&}pS&I!i4S|tkZhu1=K53oHv00HMrQ@TC7#$9dOOpo7O{2|Yo>x^_m zEAzOjXOv{NOhe`os3>HY(UEz-6U%!IL)^SxIWHB7HAY?A)*5vn>i(B6lE??xMRdVr zlq#3|`9u5$eU8h>PwkaQ#uUUnt`?nCOroYAVM10!J)or)+(D*Y%8(k5yQpuy8|m>B zpZ+xS6x`8+hl#!Jh-bpHL*7qttyQo+mF23VWa{TE$?2@RIQQ}#e>cc-{(ed!Zjc|< zJw2&w_Nv^{l(xfiS^fGxY=zQ_ylcGc7sZcNVvUrb3Simb*+%@I0ZIoSow(dt@-3^M z@APu7XQb25Iz)fIk7KyqodP)ZkO@_o84N*I3;pgv)9QQm=CoO}FX$rN-)*{-$}{wZ z45xebVd=`A$i)XX|6SSpA5EiW@_Ebucsy)sNerPl%yB_O!R}F=O=-s@6*_hs+@KqP$o2G8fM^Tq34!7#=ZbfR>ZC8 zN<>UaDh(yz>;M@r%Sa(H=j z5XMZH#rA~iW=;H*F=?A=w_7!ru+@|)Wt&-lm@)SsW2E(O?HuXRK&UCtk-8kwRDy?C zD|thcouHUmFr1(XYH{cwxnP1LIfE*`^+4Y1$H^7)aO3Ej_19Y$o(rhAHGcYpxH+n> zUN>?R=0wt|NzI#o30Uq@I;fG;DYX0`MbZU6c0l0VHxqnlx%Y&;{5KXR=Sp4sc=3O! zsK`kkotF($ul^*C^qHs5{%LuJBtBX~{mPwtyYwF;92Df7e_sCV*juCBnDLaGcLc&StD<7Z8uB4q-*Rcm-(nuGn%YNE;GhI?l66eit+0yY zqGmr$X!qzOgSCI=9!;ir)~BHeFKjLY=Z*?7j~&g~WA|HZz}9a)P&=mp4FZ5GQjPnu z9CJqvzoEjl%GR?(YX0L#ewyu5P6dkkA4J^5R3=jD!n_fZ+KljuxG%GaAMoC z%;FJiMg+n`tlZuY%W;p1v^@1pGfnpZ6nU&$0d7H_+BW`tMlBrN6%k4 zV&$0Dqd9wPt^JQ_$vwl*DVut&r1u$icBx~{4CfMpdj&Ju9%fy={JhkqS2bG8fZ{h#jtIz-bx#Xhs!uXw{}9R3ug?YbKoomLoLbAlny^0y?sq%J0M{;wdJ;1=GE-FCR|RXv$*jW{)$aYxn4Sd*SEjkHkER*EXQCstC_*x3f?PvgLc1 z#jMFCuB&|IOuU7v#P_tXcSx07x?-K?bR@2LEo@Y*`l;}bl-##GHZ^XQ*lrWg&xIS!ZGJ=FKIAqlCXOV14S{ORPH?`C2Zz|J_4n z@!zk@y(G0E8Mt3A_7lu1$;P;8t77*orjaHW4Lq z?~?kxIP*7j@N`(#YuwAB5J9muf~-Yuz1?tTo)9(PzDT*UP>?l%irOIg`;E*< z&&AQn(Vo!-AlnlI9`SeGwO0y?Hk&fDl?gC|k|JGDlrYSBwatS!x^Qz4Iy2THkWn-r zL;whc@Y?I}VQw)d7$Fjly3kb1R1c?2ZTYbIjvgP*BEQi;a=w;HxGfrk+t=lH)+eM$ zpd|OsU<60IIOfYFxa|XV5bn`BaBPc*vye{yj#*Z1p5ov4q;Az}v-qi`}I z7#CMBr&u*8X`mQwP8;PgQF{7fYHlElN+7%Plta;vU0u_RAM<7mRF%||-?>kOczH!o5;QE0G zbK^vEUn8c>bQzLpPEIKwb&auI{9#4r3K^c*7H_)9L}tMl0*Wf5P-D54$vWA}Ff)#j zA<7an&KTv(_9i5tu1Wn7H4?4d?vv2H1W5^ryxr>D zr-URCYpTiF0T5B%U*@a?Eu=z8k$IA8{*>7O8wNQhwm4ZeGM7Y-%p7t&fd~^EeH$8uJ!snjHa5|fzQ58%m*`6k4-u9( zZ6<+l5+Ijfr4MPQXDG%pUT9*G)a=Y7jm&23h(LEoZc=j8U+01ZDKcpnfxSPeyR!?x z3t&$q+=`*}#5V8NC-~L5%xq;eje6NFG{ccarm$^^Xh*@%%Hkiibkv-g6t4U?jYso> zh+Bn#Ge|iRxWLR&BoQqxG*3lxsQ7f+h)s@@sT;y#T6FQfLdGsTe~P^dShC@tc4S*_ zEk@ge1iVC7Zp0Rw*k>yc7H`mch(fFEPJozw=t+Y@=SeYGD|ikIf-zQDa}rK4(N;mL zm);cLGN_8LDm}^~p$biNtHf1flw=A4ET*-#Gd`tVfakU~FZ`>+KUR`eR1I?7RkE$r zhHLu0@S1&JFv@NXq*<7#MJw>0zk&^+HZ%xXjN)(b7`h z{8Dir1kMl;*Xm<<`Mo%Vi_l9zAq7~O@LU#N(Rlx3)omc1i?$4m5{z~e^>M4W;R;ha zZm=P)eLAiLK8t8mdt^)uF1MEt&1|4NuI?9SNF)NM$`w2z7U1e&dsZls#cVv5RS()~ zoT;Q;OAh?()Syw-M7^TCvBlDUDfgyOW8V$%Wu3?HBe=osNxOfdDU{Wli;|z0Ui%Q> z>C==z{G?w}s>KpWDKDSnrZ8k@$nAPikwfAtyw|JRP=gdBxTEE()XtI8{!R0dT$6W@L0gA-i|ADl@0Id_ zs-oJ4;$)+OM!3pHOBu8g3zb8@gOmb{5l($2gLGG75M>xAuHmf*95uo@wwn93Sx_kD zuo($RkunFNc%3-2G+`ITqFin)L#*0kzOgp0b{@&ab}_?_x*51@IG5rN#()% zIz>%;>XQkW?g;Hy2(c z1c1;i_*m#T{?+)vU?18girW(wNbspo{{6@^cQ!!ac-m|rY00a z_r!mh(D|BTA~gPSGL}S^0;U`~Q&xZ2C3Yc@ov&_Uk?$I0!*8=)c8~WKbA6S(QFHmX z8#=re{XC65g6TDMJmnf3VM=eHta93VU>qM#bF77%^I z)p>!!;onBXJGqvENMQ9ghRQrPMyCG4eBdBl8qbZIt5p5H7ZbCijV^N_-!}FZo=3xU zktgR({4{=lJB6Iog(1}_J_wQ~qkW!h4BU00H#MBw`-po-IFjY0{)DbVw}I!t!M%m) z^mUfYtIl|9V<)7Ari5$ga&|Xz_fvi(;V>dw)+$|A8t7f)jJ zMP5Td=ZTAZy`1Jmas}D7TeUrDr)8CT5Pu#Ra5~tzr&7FB+n~~=`asCgX8mIWuJv8R zT4SznEh^sn_owV2DbJI9H`Bp&p@MS1b&DXpX#YB@Pqk^a?Y$iTa(j-|xU*TypWG}k z3ew*{{?WuD@@wgep?ID%9g-Ht5AI@Jzl ze*@)m8rGmw9omK+(vrdLPjYIDk2;7V>>4zoYJVAm5%A2G=V&yEvqJCIZZNeeMPDm|tUe|I){+e!4yQeogr62m^;( zP$tV)z|)AR+K9}VXTKxVTTGM`)0eE@w{CUQrfU+WgI9Pj977akqR*Lhs= z-1;T?>vhTfXvF?|?_%M`&tH|#uBmM@5xoBaW&EE{#t`ID-Tz6HahAkm{{R2fT#CqU zgDzd?+WR#EX45k~mQQp3q2~JPknx9fJhwgKcB39I`1bCJ;>DF?`H`qn!MS1ndsnS{ zx}5PB&^Pi$kPq5Z!`;pkd-*qDFUfwRm!8|mA}(a9^p<^!BW8#9h=td`uNNNJ=tS+> zMj@kI$?JT(t&m9oWodnItv8dO1#JfKBDdG{Um62BD@HzPb@|L;zqOZ(8PuyGpt|^% zw3U%aRlx;|>}Zjl3P!6Wb(YcDwp58~SZ}>51#@QVYCBXw<6uld02rZ15+c@2BdSYe zh@F$DghDDKJ15>RWpJpENpoM`vW4RJA>K?qc^^BYy}AGAekzK`js4-L(?)81(@;N5`oZ= zTONkhjjPMtwohqXi7jYVSFs;DS~0F#jx3l(EF)bz^9jP`S6}8Vri&YALLtfEh^l7G_oEM z%Am~x6_OIRk*`tmM327E$mkrs^<27LocUEC4m>1`4R_agM3xcP%(*4fBJ?f#2!{cf+|sN9VM`_EFN zzgON;eV3qe4pHIb(TJMgM>^9&iS(xQ6u$s9^sD{pTE|0?!e(*#%+O4yAIL762Nq8? zUUrd9(+j-9oidYj^=c-8Lw?W4A}$$lw}X&G+KVYi7HeQv^0XY;OjWfj--gt z#KGwrbLW>a(b}xZ-32OMjtD3b12(hww@;48Ht+efsb`aeNss1axH*Qp20It5(#(pX zMc0tCSRF5*7;E?2ekobRW#oy`9S7ROKa*2AZ2l>@ZC|b@coaVL&@mUMJo=#tl1;{ zTDal?5m4@H^w3o<^|L*?i(Zuvg1@%f2RP-;x@Ks%#oq_Bud@vyPLX$aw}temTCE4J zzmvE9j{9!)h7PDR!u9@gG~*GhDQZaFE)8<}-uTbGX0z|p8Q0b+L(t;o=-{0227 ztTh|ji*!CPA~`DBbMmn#{<`^|FD3{S}KaSwXc(1FAVT3`&fZ)Df5 zuPZdPnmmde0a~as*q{xfpW=wAi9`hlfJfj$K|t6!hVQ30N=ui`);Nhih%*H6$r*qn zkL!v&(TE6ePq95nR8P$6;9N#%J^M%#{xF#_HL9vk|F)3sut@I8L%mbd8L8(N2 z$wVAZ?35ASG5aV#ESB2V`x=*sUIh-dB=M3Zl2>3S>XO)7NgwmX0;YToc9W=p z?gqi(Kf4kqYk1ooy=Y8;i=ts9XiU9}W1~5s_B`>U6ZV-JP+>Vq6qZa{ft5o5(-`gN zfBJEvQ?5Q?l=4YN%>kzSVF|phP)(O{7cVScoDQE(f=~Tmk~B$}&LEo3o##F&lg1|M zadYAm2{!&q6PPvSmdTLbz-KupW5b@C!RebuJb^QwPx?y+u*vt((_D{?((TN}i2;z;B;^o`vpeudzif*$zex9H%JY-W3$Vxw3e5{C$P4Sui&)Exy2y)R%E!p&$64ej zgyv%l@{@b>Q`hpzMpFG6T*MC|zQ@Ol`RBQG<;x-g&Pma6_RP3725(ytD+7BlKP7#v zkvl)~lQY9QBjcJV1JKYm70np1?S9Ce7KMe{h~Z0iK=K#iOd#LoF|_U!3*1y_($M&6 zl0iXF{>>Z3!~iOB)uofABX|(y6mOB$K>tkkrX^Xjd3{{+SQfOBL_bar((cs8AIIbD zA1wh3DYi;89YSxJai8o1Hwv^*k^q#B>;&IJo2IouDpY4GWvyF0zh!l{`59XnL3uFk z+iOh3jr7M1hLk=P9B7X}c!D8D(68^vnAMV8c*0_D0S25i6Oc1#P=Sl%A0q;dU2q6B z<_T}*jv|p6HAOP2aU0pR3fl1ul?L!eZ_1d;5C;YdInDu!*d14`cwn*g9;b#S;7r8; z!L0S_fQL3&R$oBtn*_+Twfr5tHiS6b0aqiLR|bJ*CxUB41*-NgSmu$HDIGPxp*7q| zRn8=JdUD(f6?Fg`$fHJ09RXi;B7*oZ#)xYHO+k=&=r(r>m2B3f#?6%|{$p*}P967F z<;$%!E?Y>sMBRHR<$Mxj>5O{A3T~+Y67J7_%S|K05maGYo7-j+pst%Q$KcioVPDUQ zbttcSPHT1f(B@ckR->u44tMQm!AWk5kDmu5+ZT zf@&9FR3S5SdEt$U4(0iB?B9~1-+@iqMh!}*c>b-z_hR>Ma<#S+ko@Ez zg6Fl-+;qe1fIn2Cf30gN*w&rSqyxk`Kr9iKac(@VEg_urtSC*?x8~;*gh!3C&4y2T z#{^Y#bU_c=qB2W&4h1e7Rqp|rIIcI`x01P0Vm?A&44YS>@kkZC*niE4L|DpS)fY8adlbs0bN^N`G5?rR>Knr)T z@miI)Vr;)-q$UDyv~yKRyR@FPR5Sb>#gQ#5v3OhhGa!`u9(!_Ei?rG!YH;L+NO>}d z@Usf3C1e|}B#TmQ0rrY+)AC91lwwpzXL<}{>dK8eR7Lrnbd*{M+Xc{#gr|*u?f~)3 zzLk#;v4ZL3i#?KSa2sl)9s!kPIdEwT9Br-lpZtze5=^~-Bs>fQ-fnF#Q*{Q&X-+8*}1biu4UnHPiiBwU1cA9!Qg2>*qAZK z47>*K=P(*b=c27Fgde$-5B8%d^KQ_+LZ4Yop^FL#yli#9nC7Ugk#BF`^P$`>iII;? z2-|0uS%XEU!xe3Vz={TLby>)f=NlbZG1ut#yn%1_FykWlgdk8@FjyqQje56@Hk)=0 zKN^z4NFDJk?A-QVHgL#J{p`a1$b5c-CXR1{|2iB2Ixy33syLrK zL%FNVwvJN8vEAE**9xkY$&ZU>)7llQ1Z0j2pW?YARDhTf5pD*U17t^DBg}8|)abcF z94u~AG2loIbNx%fs%cV@yNA|+EBd}>m}=K;V_Gj7jrb9LwN0UxoC(!2p582#EE=tc zmBOYTGU6#3x&{Lc17dHsr;Hr9_r}L7GN){JAb8ss=t}mK`_tRUFQP!qQ%3nq*>vVa z$O0OEi{tT-ZWaZFy!nTDZAbab5wBK@U#$GG?12`ag&=HvTVB#&5+55NwagTmB=;SeTi_ z=Rcy1(*T6SNL|Hc6-NS|f6eCqO~3l*qUHYsM1lSy;`X2DS1>{X0*qJ%m=Xz6!BL_e zUlhssA8!7ghPXvY0j45^#R;o?q3n>v(JWM|p|wl?nTFtc0_O970TXM6thPITWgw|l zyuKwN-|~2&Me7k&M?vS4zq9!~6fwK>V%7O=CXE5!w&u+b2dLfZ` zsiKGM*3(w!jrg~mr2czvZs=ED{1QnkrpKfw*A2iJ-JN@4;{Pqp zWdrXTG0^*c&opTvo&Y5kkUk`q$;svDwD|cS0OR)v)}xRt+X6MEn{0mgN|DXR$D?=9 zNc2zgQ6;J$;lHm5f^t=YtA|YhC=O^yDTb(1wU7jGO8+4aY)2YHVn|?GplKQ%|VzlcHp+tI51Ht}I--h5<_r`On;%N}WRJ-P)um8ugJ8d;r6kPRwC> zNv9~olb3(hEZbH?NVlzow6{zWNtTwItnD>69+yQruHJ47nig2M!v!&9Ic7v+7wvq0 zpSZgsO_SRnfct zmJ|YW77H)oXF=UN@O9N%_O~%T*ZP>DL27SlPX};SbW}c092XukKvV7vR zv{97cUSfX1y`FweZc+9O?}Jy0c*6FjkCZ&|Gp<{EyK^NI zZc8xA{QGC#0!TR3qTG_^dTy!Rb=UiqP7%dm|0j-vSr$&sic;-ZDas(7s@v~a*X7wJ z4o4qR30;(7>KMQDW!{}W+pW%<#k<$?CjZo88Y~D?b$|A!&#+HeL>?|?!Lt0Z`{TO% z-XP23(vy)gR{C$_cNeL?P75~re4on`u{>pPT%9>w3_h^E(V1w={xn`rP&fyT>-}-_ z%RBvb!I~z*cO^0_ulNhH7OD9A_>Q~$pB>VfYi!}wdo2OjFadvE42%*&G_FSVQ}`SD zq2cl;$c;1VzXllh(9^e(hl|`e(47%#+|bAWO9%S@#2J;m6Yg}sig{&fLaOgL%_p^r zbq_Hqw|<-+^0JEk=hURq<#9#~O*MoZIi<>cg2Udw0Z~lMehvXzJWe<1?JZ=)cC%=|XfNmidJ=&UGx5!qPqeK3+fg)^)Q|Vw4mqE z$?YrRj|4sZWI;l)F#aXL_hdaqNE%9s@HCL^w@TaWf(m~=)NDh&!+DG}lgoZls;A0wpg*__fMh{Z^9;i=kyf5@4=_79NLf2HKE^Qco*_h1WVh|&So0v4CBD|PpK$=A9S+l_ zR;#lxyV%vLDb)l-u&|h2qIwT>LRSpQZe;)7+8jdQgb;ipeY2udH-K2hnn=H3^ zC4gdI^R6AeNS4Jlr_JsZ{keR*wEbhKzEXWjcOS45hMuHGFO+H#JxV(75ssx#BH7>k zxCXoA@})me#oY%SD=~9g)ZQB7E^_{Cy)J+fLDnjN!4aA;J*S$#*8m^gm*659p^`mq zymj){{I%R&F@6bn*S%fT70Db;0i-3eInO!0aFxd*z+Rr=AhxCE&6FwP1|5^hFI>Qx zn=YjaD&HcQvD{#}IBKA5OX4@MRQ}L~y+8Rj``I_rbxH%tHnh)Q=oYtCO4*>kl2?C4 zeBIz}W-olO^V_@EP2CP)bB)?1D&_(xPpxYI@k^7~gn;}n9=WsQ^K}Lw667MUIsCpGb42Xl zwy^#|QMo04rv&^_C13h)gVX_i7m1OrSh2-rHzjNCvN6v@J zJ3B|PZml7Ea)P49$S+j39gP8cxJSb*U*C}qRQ}MT?MZRmA?+qzA@v41qQ)8{9#L;I z4FSrGtfA?76sX5kKciVMPNJ=TX(}jRME0}2(7iZTq5tFk;l+>cej^|tht1e2gbcJu2#96Is4ed=H1_4;7_CELB3+T2x zG6R+y+QP}gQk|3@F$CT4?X4$cFyw*1r2?lCy{*+r|>-92%=*_ zIx`>xZ}_yd5GmdkO&&&T2H33iDR+*ffIsZZ^Fo~m?Z(Fp^V-n|M`E1aptixvWazSG zcj^%VM`xg0i0kH9phLVrT`gt|=EblT1A$|*S3H%?fv;+5zG8#V8#V?Lp?JelMo=klf5M(@);S)o-=T&U7x`=Zp<`E1P>rkNsjMvb6QoTGKhXg z8shNnj&4W{89JmE8y*;vjOO!)bpd3hlHG%`FxxoKt{~lWz>hQRpbOwu2Y}$7pC~NI zcOUq@jns?YQwQS$#_OrhhjLFQkoiV#qZkm<^v2 zGMTQo>!QqvdsOeIAd`GP30#`86^myqmjObO0=|U+eej{l-*wB3qVhXKp}LCXpYos#@k^TH0q(l1g6uDKu7uQ>c42FwIxc9h9%L zgc%`Zm^J{!iE`LgfT`^6Omi1>O5h;qtY8BSO&I)DD2!*7tQN`Zw+3VuD6Q_*X8y^^ zzXnuUuBgKs~ETWznTjcbH*(NhTZQy{fBdzv1K4(Kp zLXi^i2Q3YUMY;3)Kecx_;@(kG_v*DIO=OGx DV;XZ7nr4TONiQ2R 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�kHwbg$lCd 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

O>I` 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

N-4VXV;> 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%0A6op`XOUOty#-x>v*kD7ehgNZ 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

vLGplH2oVuvY*N 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

u{JjV`cv$H%uc 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

} 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

hH|1rFYL00dex)E2`UMv!&bW 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 Ydus@&ZxN8*{?`EcKRvep?}6a|05HI}ZvX%Q literal 0 HcmV?d00001 diff --git a/res/silentdragonlite-animated.gif b/res/silentdragonlite-animated.gif new file mode 100644 index 0000000000000000000000000000000000000000..c7c521c8758595fafc2ce839908934b02df65d98 GIT binary patch literal 415920 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�VUT)dyMR)A859S44uU|hFe9O+?8{eM|&LKZ>3ae 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%0A)R?CJ-DMV3fskM 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 Bwut}$ literal 0 HcmV?d00001 From 43098f8c9f9e7dd3c9eeb98de888e453f849e023 Mon Sep 17 00:00:00 2001 From: Charles <18726788+csharpee@users.noreply.github.com> Date: Fri, 1 May 2020 14:30:42 -0400 Subject: [PATCH 047/256] added bool oper. for new theme, plus new animations --- src/connection.cpp | 112 +++++++++++++++------------- src/sendtab.cpp | 181 ++++++++++++++++++++++++--------------------- 2 files changed, 157 insertions(+), 136 deletions(-) diff --git a/src/connection.cpp b/src/connection.cpp index 99666ac..26d6d2b 100644 --- a/src/connection.cpp +++ b/src/connection.cpp @@ -10,40 +10,52 @@ using json = nlohmann::json; -ConnectionLoader::ConnectionLoader(MainWindow* main, Controller* rpc) +ConnectionLoader::ConnectionLoader(MainWindow* main, Controller* rpc) { this->main = main; this->rpc = rpc; + d = new QDialog(main); connD = new Ui_ConnectionDialog(); connD->setupUi(d); - QPixmap logo(":/img/res/logobig.gif"); - connD->topIcon->setBasePixmap( - logo.scaled( - 256, - 256, - Qt::KeepAspectRatio, - Qt::SmoothTransformation - ) - ); + + auto theme = Settings::getInstance()->get_theme_name(); + qDebug() << theme << "theme has loaded"; + auto size = QSize(512,512); + + if (theme == "dark" || theme == "midnight") { + QMovie *movie2 = new QMovie(":/img/res/silentdragonlite-animated-startup-dark.gif");; + movie2->setScaledSize(size); + qDebug() << "Animation dark loaded"; + connD->topIcon->setMovie(movie2); + movie2->start(); + } else { + QMovie *movie1 = new QMovie(":/img/res/silentdragonlite-animated-startup.gif");; + movie1->setScaledSize(size); + qDebug() << "Animation light loaded"; + connD->topIcon->setMovie(movie1); + movie1->start(); + } + main->logger->write("Set animation"); + qDebug() << "Set animation"; isSyncing = new QAtomicInteger(); } -ConnectionLoader::~ConnectionLoader() +ConnectionLoader::~ConnectionLoader() { delete isSyncing; delete connD; delete d; } -void ConnectionLoader::loadConnection() +void ConnectionLoader::loadConnection() { QTimer::singleShot(1, [=]() { this->doAutoConnect(); }); if (!Settings::getInstance()->isHeadless()) d->exec(); } -void ConnectionLoader::doAutoConnect() +void ConnectionLoader::doAutoConnect() { qDebug() << "Doing autoconnect"; auto config = std::shared_ptr(new ConnectionConfig()); @@ -54,29 +66,29 @@ void ConnectionLoader::doAutoConnect() main->logger->write(QObject::tr("Attempting to initialize library with ") + config->server); // Check to see if there's an existing wallet - if (litelib_wallet_exists(Settings::getDefaultChainName().toStdString().c_str())) + if (litelib_wallet_exists(Settings::getDefaultChainName().toStdString().c_str())) { main->logger->write(QObject::tr("Using existing wallet.")); char* resp = litelib_initialize_existing( - config->dangerous, + config->dangerous, config->server.toStdString().c_str() ); QString response = litelib_process_response(resp); - if (response.toUpper().trimmed() != "OK") + if (response.toUpper().trimmed() != "OK") { showError(response); return; } - } + } else { main->logger->write(QObject::tr("Create/restore wallet.")); createOrRestore(config->dangerous, config->server); d->show(); - } - + } + auto connection = makeConnection(config); auto me = this; @@ -97,14 +109,14 @@ void ConnectionLoader::doAutoConnect() // When sync is done, set the connection this->doRPCSetConnection(connection); }); - + // While it is syncing, we'll show the status updates while it is alive. QObject::connect(syncTimer, &QTimer::timeout, [=]() { // Check the sync status if (isSyncing != nullptr && isSyncing->load()) { // Get the sync status connection->doRPC("syncstatus", "", [=](json reply) { - if (isSyncing != nullptr && reply.find("synced_blocks") != reply.end()) + if (isSyncing != nullptr && reply.find("synced_blocks") != reply.end()) { qint64 synced = reply["synced_blocks"].get(); qint64 total = reply["total_blocks"].get(); @@ -117,8 +129,8 @@ void ConnectionLoader::doAutoConnect() qDebug() << "Sync error" << err; }); } - }); - + }); + syncTimer->setInterval(1* 1000); syncTimer->start(); @@ -127,16 +139,16 @@ void ConnectionLoader::doAutoConnect() }); } -void ConnectionLoader::createOrRestore(bool dangerous, QString server) +void ConnectionLoader::createOrRestore(bool dangerous, QString server) { // Close the startup dialog, since we'll be showing the wizard d->hide(); // Create a wizard - FirstTimeWizard wizard(dangerous, server); + FirstTimeWizard wizard(dangerous, server); wizard.exec(); } -void ConnectionLoader::doRPCSetConnection(Connection* conn) +void ConnectionLoader::doRPCSetConnection(Connection* conn) { qDebug() << "Connectionloader finished, setting connection"; rpc->setConnection(conn); @@ -144,26 +156,26 @@ void ConnectionLoader::doRPCSetConnection(Connection* conn) QTimer::singleShot(1, [=]() { delete this; }); } -Connection* ConnectionLoader::makeConnection(std::shared_ptr config) +Connection* ConnectionLoader::makeConnection(std::shared_ptr config) { return new Connection(main, config); } // Update the UI with the status -void ConnectionLoader::showInformation(QString info, QString detail) +void ConnectionLoader::showInformation(QString info, QString detail) { connD->status->setText(info); connD->statusDetail->setText(detail); } /** - * Show error will close the loading dialog and show an error. + * Show error will close the loading dialog and show an error. */ -void ConnectionLoader::showError(QString explanation) -{ +void ConnectionLoader::showError(QString explanation) +{ rpc->noConnection(); QMessageBox::critical( - main, + main, QObject::tr("Connection Error"), explanation, QMessageBox::Ok @@ -171,7 +183,7 @@ void ConnectionLoader::showError(QString explanation) d->close(); } -QString litelib_process_response(char* resp) +QString litelib_process_response(char* resp) { char* resp_copy = new char[strlen(resp) + 1]; //a safer version of strcpy @@ -185,15 +197,15 @@ QString litelib_process_response(char* resp) /*********************************************************************************** * Connection, Executor and Callback Class - ************************************************************************************/ -void Executor::run() + ************************************************************************************/ +void Executor::run() { char* resp = litelib_execute(this->cmd.toStdString().c_str(), this->args.toStdString().c_str()); QString reply = litelib_process_response(resp); //qDebug() << "RPC Reply=" << reply; auto parsed = json::parse( - reply.toStdString().c_str(), - nullptr, + reply.toStdString().c_str(), + nullptr, false ); if (parsed.is_discarded() || parsed.is_null()) @@ -204,14 +216,14 @@ void Executor::run() } -void Callback::processRPCCallback(json resp) +void Callback::processRPCCallback(json resp) { this->cb(resp); // Destroy self delete this; } -void Callback::processError(QString resp) +void Callback::processError(QString resp) { this->errCb(resp); // Destroy self @@ -226,7 +238,7 @@ Connection::Connection(MainWindow* m, std::shared_ptr conf) qRegisterMetaType("json"); } -void Connection::doRPC(const QString cmd, const QString args, const std::function& cb, const std::function& errCb) +void Connection::doRPC(const QString cmd, const QString args, const std::function& cb, const std::function& errCb) { if (shutdownInProgress) // Ignoring RPC because shutdown in progress @@ -242,26 +254,26 @@ void Connection::doRPC(const QString cmd, const QString args, const std::functio QObject::connect(runner, &Executor::responseReady, c, &Callback::processRPCCallback); QObject::connect(runner, &Executor::handleError, c, &Callback::processError); - QThreadPool::globalInstance()->start(runner); + QThreadPool::globalInstance()->start(runner); } -void Connection::doRPCWithDefaultErrorHandling(const QString cmd, const QString args, const std::function& cb) +void Connection::doRPCWithDefaultErrorHandling(const QString cmd, const QString args, const std::function& cb) { doRPC(cmd, args, cb, [=] (QString err) { this->showTxError(err); }); -} +} -void Connection::doRPCIgnoreError(const QString cmd, const QString args, const std::function& cb) +void Connection::doRPCIgnoreError(const QString cmd, const QString args, const std::function& cb) { doRPC(cmd, args, cb, [=] (auto) { // Ignored error handling }); } -void Connection::showTxError(const QString& error) +void Connection::showTxError(const QString& error) { - if (error.isNull()) + if (error.isNull()) return; // Prevent multiple dialog boxes from showing, because they're all called async @@ -271,8 +283,8 @@ void Connection::showTxError(const QString& error) shown = true; QMessageBox::critical( - main, - QObject::tr("Transaction Error"), + main, + QObject::tr("Transaction Error"), QObject::tr("There was an error sending the transaction. The error was:") + "\n\n" + error, QMessageBox::StandardButton::Ok ); @@ -281,8 +293,8 @@ void Connection::showTxError(const QString& error) /** * Prevent all future calls from going through - */ -void Connection::shutdown() + */ +void Connection::shutdown() { shutdownInProgress = true; } diff --git a/src/sendtab.cpp b/src/sendtab.cpp index 3fc5510..f854b2f 100644 --- a/src/sendtab.cpp +++ b/src/sendtab.cpp @@ -13,7 +13,7 @@ using json = nlohmann::json; void MainWindow::setupSendTab() { // Create the validator for send to/amount fields - amtValidator = new QRegExpValidator(QRegExp("[0-9]{0,8}\\.?[0-9]{0,8}")); + amtValidator = new QRegExpValidator(QRegExp("[0-9]{0,8}\\.?[0-9]{0,8}")); ui->Amount1->setValidator(amtValidator); @@ -39,10 +39,10 @@ void MainWindow::setupSendTab() { this->memoButtonClicked(1); }); setMemoEnabled(1, false); - + // This is the damnest thing ever. If we do AddressBook::readFromStorage() directly, the whole file // doesn't get read. It needs to run in a timer after everything has finished to be able to read - // the file properly. + // the file properly. QTimer::singleShot(2000, [=]() { updateLabelsAutoComplete(); }); // The first address book button @@ -84,7 +84,7 @@ void MainWindow::setupSendTab() { ui->lblMinerFeeUSD->setText(fee.toDecimalAUDString()); } }); - ui->minerFeeAmt->setText(Settings::getMinerFee().toDecimalString()); + ui->minerFeeAmt->setText(Settings::getMinerFee().toDecimalString()); // Set up focus enter to set fees QObject::connect(ui->tabWidget, &QTabWidget::currentChanged, [=] (int pos) { @@ -123,13 +123,13 @@ void MainWindow::setupSendTab() { } else if (Settings::getInstance()->get_currency_name() == "AUD") { QString feeUSD = CAmount::fromDecimalString(txt).toDecimalAUDString(); ui->lblMinerFeeUSD->setText(feeUSD); - } + } } }); - + //Fees validator - feesValidator = new QRegExpValidator(QRegExp("[0-9]{0,8}\\.?[0-9]{0,8}")); + feesValidator = new QRegExpValidator(QRegExp("[0-9]{0,8}\\.?[0-9]{0,8}")); ui->minerFeeAmt->setValidator(feesValidator); // Font for the first Memo label @@ -140,7 +140,7 @@ void MainWindow::setupSendTab() { // Recurring button QObject::connect(ui->chkRecurring, &QCheckBox::stateChanged, [=] (int checked) { if (checked) { - ui->btnRecurSchedule->setEnabled(true); + ui->btnRecurSchedule->setEnabled(true); // If this is the first time the button is checked, open the edit schedule dialog if (sendTxRecurringInfo == nullptr) { @@ -172,23 +172,23 @@ void MainWindow::disableRecurring() { void MainWindow::editSchedule() { // Only on testnet for now if (!Settings::getInstance()->isTestnet()) { - QMessageBox::critical(this, "Not Supported yet", + QMessageBox::critical(this, "Not Supported yet", "Recurring payments are only supported on Testnet for now.", QMessageBox::Ok); return; } // Check to see that recurring payments are not selected when there are 2 or more addresses if (ui->sendToWidgets->children().size()-1 > 2) { - QMessageBox::critical(this, tr("Cannot support multiple addresses"), + QMessageBox::critical(this, tr("Cannot support multiple addresses"), tr("Recurring payments doesn't currently support multiple addresses"), QMessageBox::Ok); return; } // Open the edit schedule dialog - auto recurringInfo = Recurring::getInstance()->getNewRecurringFromTx(this, this, + auto recurringInfo = Recurring::getInstance()->getNewRecurringFromTx(this, this, createTxFromSendPage(), this->sendTxRecurringInfo); if (recurringInfo == nullptr) { - // User pressed cancel. + // User pressed cancel. // If there is no existing recurring info, uncheck the recurring box if (sendTxRecurringInfo == nullptr) { ui->chkRecurring->setCheckState(Qt::Unchecked); @@ -205,11 +205,11 @@ void MainWindow::editSchedule() { void MainWindow::updateLabelsAutoComplete() { QList list; auto labels = AddressBook::getInstance()->getAllAddressLabels(); - + std::transform(labels.begin(), labels.end(), std::back_inserter(list), [=] (auto la) -> QString { return la.first % "/" % la.second; }); - + delete labelCompleter; labelCompleter = new QCompleter(list, this); labelCompleter->setCaseSensitivity(Qt::CaseInsensitive); @@ -221,7 +221,7 @@ void MainWindow::updateLabelsAutoComplete() { } } - + void MainWindow::addAddressSection() { int itemNumber = ui->sendToWidgets->children().size() - 1; @@ -239,7 +239,7 @@ void MainWindow::addAddressSection() { horizontalLayout_12->addWidget(label_4); auto Address1 = new QLineEdit(verticalGroupBox); - Address1->setObjectName(QString("Address") % QString::number(itemNumber)); + Address1->setObjectName(QString("Address") % QString::number(itemNumber)); Address1->setPlaceholderText(tr("Address")); QObject::connect(Address1, &QLineEdit::textChanged, [=] (auto text) { this->addressChanged(itemNumber, text); @@ -261,16 +261,16 @@ void MainWindow::addAddressSection() { auto horizontalLayout_13 = new QHBoxLayout(); horizontalLayout_13->setSpacing(6); - + auto label_6 = new QLabel(verticalGroupBox); label_6->setText(tr("Amount")); horizontalLayout_13->addWidget(label_6); auto Amount1 = new QLineEdit(verticalGroupBox); - Amount1->setPlaceholderText(tr("Amount")); - Amount1->setObjectName(QString("Amount") % QString::number(itemNumber)); + Amount1->setPlaceholderText(tr("Amount")); + Amount1->setObjectName(QString("Amount") % QString::number(itemNumber)); Amount1->setBaseSize(QSize(200, 0)); - Amount1->setAlignment(Qt::AlignRight); + Amount1->setAlignment(Qt::AlignRight); // Create the validator for send to/amount fields Amount1->setValidator(amtValidator); @@ -281,7 +281,7 @@ void MainWindow::addAddressSection() { horizontalLayout_13->addWidget(Amount1); auto AmtUSD1 = new QLabel(verticalGroupBox); - AmtUSD1->setObjectName(QString("AmtUSD") % QString::number(itemNumber)); + AmtUSD1->setObjectName(QString("AmtUSD") % QString::number(itemNumber)); horizontalLayout_13->addWidget(AmtUSD1); auto horizontalSpacer_4 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); @@ -289,7 +289,7 @@ void MainWindow::addAddressSection() { auto MemoBtn1 = new QPushButton(verticalGroupBox); MemoBtn1->setObjectName(QString("MemoBtn") % QString::number(itemNumber)); - MemoBtn1->setText(tr("Memo")); + MemoBtn1->setText(tr("Memo")); // Connect Memo Clicked button QObject::connect(MemoBtn1, &QPushButton::clicked, [=] () { this->memoButtonClicked(itemNumber); @@ -307,24 +307,24 @@ void MainWindow::addAddressSection() { MemoTxt1->setWordWrap(true); sendAddressLayout->addWidget(MemoTxt1); - ui->sendToLayout->insertWidget(itemNumber-1, verticalGroupBox); + ui->sendToLayout->insertWidget(itemNumber-1, verticalGroupBox); // Disable recurring payments if a address section is added, since recurring payments // aren't supported for more than 1 address delete sendTxRecurringInfo; sendTxRecurringInfo = nullptr; ui->lblRecurDesc->setText(""); - ui->chkRecurring->setChecked(false); + ui->chkRecurring->setChecked(false); ui->chkRecurring->setEnabled(false); // Set focus into the address Address1->setFocus(); // Delay the call to scroll to allow the scroll window to adjust - QTimer::singleShot(10, [=] () {ui->sendToScrollArea->ensureWidgetVisible(ui->addAddressButton);}); + QTimer::singleShot(10, [=] () {ui->sendToScrollArea->ensureWidgetVisible(ui->addAddressButton);}); } -void MainWindow::addressChanged(int itemNumber, const QString& text) { +void MainWindow::addressChanged(int itemNumber, const QString& text) { auto addr = AddressBook::addressFromAddressLabel(text); setMemoEnabled(itemNumber, Settings::isZAddress(addr)); } @@ -428,7 +428,7 @@ void MainWindow::memoButtonClicked(int number, bool includeReplyTo) { void MainWindow::clearSendForm() { // The last one is a spacer, so ignore that - int totalItems = ui->sendToWidgets->children().size() - 2; + int totalItems = ui->sendToWidgets->children().size() - 2; // Clear the first recipient fields auto addr = ui->sendToWidgets->findChild(QString("Address1")); @@ -451,14 +451,14 @@ void MainWindow::clearSendForm() { // Start the deletion after the first item, since we want to keep 1 send field there all there for (int i=1; i < totalItems; i++) { auto addressGroupBox = ui->sendToWidgets->findChild(QString("AddressGroupBox") % QString::number(i+1)); - + delete addressGroupBox; - } + } // Reset the recurring button if (Settings::getInstance()->isTestnet()) { - ui->chkRecurring->setEnabled(true); - } + ui->chkRecurring->setEnabled(true); + } ui->chkRecurring->setCheckState(Qt::Unchecked); ui->btnRecurSchedule->setEnabled(false); @@ -471,23 +471,23 @@ void MainWindow::maxAmountChecked(int checked) { if (checked == Qt::Checked) { ui->Amount1->setReadOnly(true); if (rpc == nullptr) return; - + // Calculate maximum amount CAmount sumAllAmounts; // Calculate all other amounts - int totalItems = ui->sendToWidgets->children().size() - 2; // The last one is a spacer, so ignore that + int totalItems = ui->sendToWidgets->children().size() - 2; // The last one is a spacer, so ignore that // Start counting the sum skipping the first one, because the MAX button is on the first one, and we don't - // want to include it in the sum. + // want to include it in the sum. for (int i=1; i < totalItems; i++) { auto amt = ui->sendToWidgets->findChild(QString("Amount") % QString::number(i+1)); sumAllAmounts = sumAllAmounts + CAmount::fromDecimalString(amt->text()); } sumAllAmounts = sumAllAmounts + Settings::getMinerFee(); - + auto maxamount = rpc->getModel()->getAvailableBalance() - sumAllAmounts; maxamount = (maxamount < 0) ? CAmount::fromqint64(0): maxamount; - + ui->Amount1->setText(maxamount.toDecimalString()); } else if (checked == Qt::Unchecked) { // Just remove the readonly part, don't change the content @@ -495,61 +495,61 @@ void MainWindow::maxAmountChecked(int checked) { } } -// Create a Tx from the current state of the send page. +// Create a Tx from the current state of the send page. Tx MainWindow::createTxFromSendPage() { Tx tx; // For each addr/amt in the sendTo tab - int totalItems = ui->sendToWidgets->children().size() - 2; // The last one is a spacer, so ignore that + int totalItems = ui->sendToWidgets->children().size() - 2; // The last one is a spacer, so ignore that CAmount totalAmt; for (int i=0; i < totalItems; i++) { QString addr = ui->sendToWidgets->findChild(QString("Address") % QString::number(i+1))->text().trimmed(); - + // Remove label if it exists addr = AddressBook::addressFromAddressLabel(addr); // QString dustamt = "0"; QString amtStr = ui->sendToWidgets->findChild(QString("Amount") % QString::number(i+1))->text().trimmed(); if (amtStr.isEmpty()) { amtStr = "-1";; // The user didn't specify an amount - } + } bool ok; CAmount amt; - - + + // Make sure it parses amtStr.toDouble(&ok); if (!ok) { amt = CAmount::fromqint64(-1); - + } else { amt = CAmount::fromDecimalString(amtStr); totalAmt = totalAmt + amt; - + } - + QString memo = ui->sendToWidgets->findChild(QString("MemoTxt") % QString::number(i+1))->text().trimmed(); - - + + tx.toAddrs.push_back( ToFields{addr, amt, memo} ); - - + + } - + tx.fee = Settings::getMinerFee(); - + return tx; } bool MainWindow::confirmTx(Tx tx, RecurringPaymentInfo* rpi) { - // Function to split the address to make it easier to read. - // Split it into chunks of 4 chars. + // Function to split the address to make it easier to read. + // Split it into chunks of 4 chars. auto fnSplitAddressForWrap = [=] (const QString& a) -> QString { if (Settings::isTAddress(a)) return a; @@ -601,8 +601,8 @@ bool MainWindow::confirmTx(Tx tx, RecurringPaymentInfo* rpi) { delete confirm.sendToAddrs->findChild("labelMinerFee"); delete confirm.sendToAddrs->findChild("minerFee"); delete confirm.sendToAddrs->findChild("minerFeeUSD"); - - // For each addr/amt/memo, construct the JSON and also build the confirm dialog box + + // For each addr/amt/memo, construct the JSON and also build the confirm dialog box int row = 0; CAmount totalSpending; @@ -632,7 +632,7 @@ bool MainWindow::confirmTx(Tx tx, RecurringPaymentInfo* rpi) { AmtUSD->setObjectName(QString("AmtUSD") % QString::number(i + 1)); AmtUSD->setText(toAddr.amount.toDecimalUSDString()); AmtUSD->setAlignment(Qt::AlignRight | Qt::AlignTrailing | Qt::AlignVCenter); - confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1); + confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1); // Amount (EUR) } else if (Settings::getInstance()->get_currency_name() == "EUR") { @@ -640,7 +640,7 @@ bool MainWindow::confirmTx(Tx tx, RecurringPaymentInfo* rpi) { AmtUSD->setObjectName(QString("AmtUSD") % QString::number(i + 1)); AmtUSD->setText(toAddr.amount.toDecimalEURString()); AmtUSD->setAlignment(Qt::AlignRight | Qt::AlignTrailing | Qt::AlignVCenter); - confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1); + confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1); // Amount (BTC) } else if (Settings::getInstance()->get_currency_name() == "BTC") { @@ -648,7 +648,7 @@ bool MainWindow::confirmTx(Tx tx, RecurringPaymentInfo* rpi) { AmtUSD->setObjectName(QString("AmtUSD") % QString::number(i + 1)); AmtUSD->setText(toAddr.amount.toDecimalBTCString()); AmtUSD->setAlignment(Qt::AlignRight | Qt::AlignTrailing | Qt::AlignVCenter); - confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1); + confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1); // Amount (CNY) } else if (Settings::getInstance()->get_currency_name() == "CNY") { @@ -656,7 +656,7 @@ bool MainWindow::confirmTx(Tx tx, RecurringPaymentInfo* rpi) { AmtUSD->setObjectName(QString("AmtUSD") % QString::number(i + 1)); AmtUSD->setText(toAddr.amount.toDecimalCNYString()); AmtUSD->setAlignment(Qt::AlignRight | Qt::AlignTrailing | Qt::AlignVCenter); - confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1); + confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1); // Amount (RUB) } else if (Settings::getInstance()->get_currency_name() == "RUB") { @@ -664,7 +664,7 @@ bool MainWindow::confirmTx(Tx tx, RecurringPaymentInfo* rpi) { AmtUSD->setObjectName(QString("AmtUSD") % QString::number(i + 1)); AmtUSD->setText(toAddr.amount.toDecimalRUBString()); AmtUSD->setAlignment(Qt::AlignRight | Qt::AlignTrailing | Qt::AlignVCenter); - confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1); + confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1); // Amount (CAD) } else if (Settings::getInstance()->get_currency_name() == "CAD") { @@ -672,7 +672,7 @@ bool MainWindow::confirmTx(Tx tx, RecurringPaymentInfo* rpi) { AmtUSD->setObjectName(QString("AmtUSD") % QString::number(i + 1)); AmtUSD->setText(toAddr.amount.toDecimalCADString()); AmtUSD->setAlignment(Qt::AlignRight | Qt::AlignTrailing | Qt::AlignVCenter); - confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1); + confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1); // Amount (SGD) } else if (Settings::getInstance()->get_currency_name() == "SGD") { @@ -680,7 +680,7 @@ bool MainWindow::confirmTx(Tx tx, RecurringPaymentInfo* rpi) { AmtUSD->setObjectName(QString("AmtUSD") % QString::number(i + 1)); AmtUSD->setText(toAddr.amount.toDecimalSGDString()); AmtUSD->setAlignment(Qt::AlignRight | Qt::AlignTrailing | Qt::AlignVCenter); - confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1); + confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1); // Amount (CHF) } else if (Settings::getInstance()->get_currency_name() == "CHF") { @@ -688,7 +688,7 @@ bool MainWindow::confirmTx(Tx tx, RecurringPaymentInfo* rpi) { AmtUSD->setObjectName(QString("AmtUSD") % QString::number(i + 1)); AmtUSD->setText(toAddr.amount.toDecimalCHFString()); AmtUSD->setAlignment(Qt::AlignRight | Qt::AlignTrailing | Qt::AlignVCenter); - confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1); + confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1); // Amount (INR) } else if (Settings::getInstance()->get_currency_name() == "INR") { @@ -696,7 +696,7 @@ bool MainWindow::confirmTx(Tx tx, RecurringPaymentInfo* rpi) { AmtUSD->setObjectName(QString("AmtUSD") % QString::number(i + 1)); AmtUSD->setText(toAddr.amount.toDecimalINRString()); AmtUSD->setAlignment(Qt::AlignRight | Qt::AlignTrailing | Qt::AlignVCenter); - confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1); + confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1); // Amount (GBP) } else if (Settings::getInstance()->get_currency_name() == "GBP") { @@ -704,7 +704,7 @@ bool MainWindow::confirmTx(Tx tx, RecurringPaymentInfo* rpi) { AmtUSD->setObjectName(QString("AmtUSD") % QString::number(i + 1)); AmtUSD->setText(toAddr.amount.toDecimalGBPString()); AmtUSD->setAlignment(Qt::AlignRight | Qt::AlignTrailing | Qt::AlignVCenter); - confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1); + confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1); // Amount (AUD) } else if (Settings::getInstance()->get_currency_name() == "AUD") { @@ -712,7 +712,7 @@ bool MainWindow::confirmTx(Tx tx, RecurringPaymentInfo* rpi) { AmtUSD->setObjectName(QString("AmtUSD") % QString::number(i + 1)); AmtUSD->setText(toAddr.amount.toDecimalAUDString()); AmtUSD->setAlignment(Qt::AlignRight | Qt::AlignTrailing | Qt::AlignVCenter); - confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1); + confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1); } // Memo if (Settings::isZAddress(toAddr.addr) && !toAddr.memo.isEmpty()) { @@ -798,10 +798,10 @@ bool MainWindow::confirmTx(Tx tx, RecurringPaymentInfo* rpi) { // Syncing warning confirm.syncingWarning->setVisible(Settings::getInstance()->isSyncing()); - + // Show the dialog and submit it if the user confirms - return d.exec() == QDialog::Accepted; + return d.exec() == QDialog::Accepted; } // Send button clicked @@ -824,9 +824,9 @@ void MainWindow::sendButton() { } // Show a dialog to confirm the Tx - if (confirmTx(tx, sendTxRecurringInfo)) { - // If this is a recurring payment, save the hash so we can - // update the payment if it submits. + if (confirmTx(tx, sendTxRecurringInfo)) { + // If this is a recurring payment, save the hash so we can + // update the payment if it submits. QString recurringPaymentHash; // Recurring payments are enabled only if there is exactly 1 destination address. @@ -843,8 +843,18 @@ void MainWindow::sendButton() { auto d = new QDialog(this); auto connD = new Ui_ConnectionDialog(); connD->setupUi(d); - QPixmap logo(":/img/res/logobig.gif"); - connD->topIcon->setBasePixmap(logo.scaled(256, 256, Qt::KeepAspectRatio, Qt::SmoothTransformation)); + QMovie *movie1 = new QMovie(":/img/res/silentdragonlite-animated.gif");; + QMovie *movie2 = new QMovie(":/img/res/silentdragonlite-animated-dark.gif");; + auto theme = Settings::getInstance()->get_theme_name(); + if (theme == "dark" || theme == "midnight") { + movie2->setScaledSize(QSize(512,512)); + connD->topIcon->setMovie(movie2); + movie2->start(); + } else { + movie1->setScaledSize(QSize(512,512)); + connD->topIcon->setMovie(movie1); + movie1->start(); + } connD->status->setText(tr("Please wait...")); connD->statusDetail->setText(tr("Computing your transaction")); @@ -852,8 +862,8 @@ void MainWindow::sendButton() { d->show(); // And send the Tx - rpc->executeTransaction(tx, - [=] (QString txid) { + rpc->executeTransaction(tx, + [=] (QString txid) { ui->statusBar->showMessage(Settings::txidStatusMessage + " " + txid); connD->status->setText(tr("Done!")); @@ -868,40 +878,40 @@ void MainWindow::sendButton() { // And switch to the balances tab ui->tabWidget->setCurrentIndex(0); }); - + // Force a UI update so we get the unconfirmed Tx rpc->refresh(true); // If this was a recurring payment, update the payment with the info if (!recurringPaymentHash.isEmpty()) { // Since this is the send button payment, this is the first payment - Recurring::getInstance()->updatePaymentItem(recurringPaymentHash, 0, + Recurring::getInstance()->updatePaymentItem(recurringPaymentHash, 0, txid, "", PaymentStatus::COMPLETED); } }, // Errored out [=] (QString opid, QString errStr) { ui->statusBar->showMessage(QObject::tr(" Tx ") % opid % QObject::tr(" failed"), 15 * 1000); - + d->accept(); d->close(); delete connD; delete d; if (!opid.isEmpty()) - errStr = QObject::tr("The transaction with id ") % opid % QObject::tr(" failed. The error was") + ":\n\n" + errStr; + errStr = QObject::tr("The transaction with id ") % opid % QObject::tr(" failed. The error was") + ":\n\n" + errStr; // If this was a recurring payment, update the payment with the failure if (!recurringPaymentHash.isEmpty()) { // Since this is the send button payment, this is the first payment - Recurring::getInstance()->updatePaymentItem(recurringPaymentHash, 0, - "", errStr, PaymentStatus::ERROR); - } + Recurring::getInstance()->updatePaymentItem(recurringPaymentHash, 0, + "", errStr, PaymentStatus::ERROR); + } - QMessageBox::critical(this, QObject::tr("Transaction Error"), errStr, QMessageBox::Ok); + QMessageBox::critical(this, QObject::tr("Transaction Error"), errStr, QMessageBox::Ok); } ); - } + } } QString MainWindow::doSendTxValidations(Tx tx) { @@ -915,7 +925,7 @@ QString MainWindow::doSendTxValidations(Tx tx) { } // This technically shouldn't be possible, but issue #62 seems to have discovered a bug - // somewhere, so just add a check to make sure. + // somewhere, so just add a check to make sure. if (toAddr.amount.toqint64() < 0) { return QString(tr("Amount for address '%1' is invalid!").arg(toAddr.addr)); } @@ -937,4 +947,3 @@ QString MainWindow::doSendTxValidations(Tx tx) { void MainWindow::cancelButton() { clearSendForm(); } - From d97a12cbae2e5061ca359e3b2fa79281e8046299 Mon Sep 17 00:00:00 2001 From: Charles <18726788+csharpee@users.noreply.github.com> Date: Fri, 1 May 2020 14:32:35 -0400 Subject: [PATCH 048/256] fixed setBasePixmap after UI change for animations, plus updated string to The Dragon Awakens... --- src/connection.ui | 15 ++++----------- src/controller.cpp | 2 +- 2 files changed, 5 insertions(+), 12 deletions(-) diff --git a/src/connection.ui b/src/connection.ui index c421f68..69c6a7c 100644 --- a/src/connection.ui +++ b/src/connection.ui @@ -9,8 +9,8 @@ 0 0 - 513 - 201 + 512 + 513 @@ -33,7 +33,7 @@ 0 - + 0 @@ -55,7 +55,7 @@ - Starting Up + The Dragon Awakens... Qt::AlignCenter @@ -84,13 +84,6 @@ - - - FilledIconLabel - QLabel -

fillediconlabel.h
- - diff --git a/src/controller.cpp b/src/controller.cpp index 18a158e..3667401 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -1523,7 +1523,7 @@ void Controller::shutdownhushd() QDialog d(main); Ui_ConnectionDialog connD; connD.setupUi(&d); - connD.topIcon->setBasePixmap(QIcon(":/icons/res/icon.ico").pixmap(256, 256)); + connD.topIcon->setPixmap(QIcon(":/icons/res/icon.ico").pixmap(256, 256)); connD.status->setText(QObject::tr("Please wait for SilentDragonLite to exit")); connD.statusDetail->setText(QObject::tr("Waiting for hushd to exit")); bool finished = false; From f515be1aa8898b6cb16febd3a06a1241926fb8ad Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 1 May 2020 21:40:45 +0200 Subject: [PATCH 049/256] create a cid in addressbook but make it editable for the beginning --- src/addressbook.cpp | 9 +++------ src/addressbook.ui | 25 ++++++++++++++++--------- src/chatmodel.cpp | 7 ++++--- src/mainwindow.ui | 21 +++++++++++++++++---- 4 files changed, 40 insertions(+), 22 deletions(-) diff --git a/src/addressbook.cpp b/src/addressbook.cpp index be13b82..1a2bad3 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -142,16 +142,15 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) bool sapling = true; rpc->createNewZaddr(sapling, [=] (json reply) { QString myAddr = QString::fromStdString(reply.get()[0]); - // QString myAddr = "zs1flslqurcnummsw37mfxkhx6d7uwpevlc78cdjyqrgng7357t8f3stm9fneeqtuupfnrt7f933a9"; QString message = QString("New Chat Address for your partner: ") + myAddr; + QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); parent->ui->listReceiveAddresses->insertItem(0, myAddr); parent->ui->listReceiveAddresses->setCurrentIndex(0); - // ab.addr_chat->setText(myAddr); + qDebug() << "new generated myAddr" << myAddr; - // + ab.cid->setText(cid); ab.addr_chat->setText(myAddr); - // AddressBook::getInstance()->addAddressLabel(newLabel, ab.addr->text(), myAddr, cid); }); model.updateUi(); //todo fix updating gui after adding rpc->refresh(true); @@ -168,8 +167,6 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) auto addr = ab.addr->text().trimmed(); auto myAddr = ab.addr_chat->text().trimmed(); QString newLabel = ab.label->text(); - // QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); - QString cid = ab.cid->text(); if (addr.isEmpty() || newLabel.isEmpty()) diff --git a/src/addressbook.ui b/src/addressbook.ui index f2344eb..c2d255d 100644 --- a/src/addressbook.ui +++ b/src/addressbook.ui @@ -27,9 +27,23 @@ + + + + Nickname + + + + + + + 40 + + + @@ -41,20 +55,13 @@ - + - Label + <html><head/><body><p>Conversation ID (editable):</p></body></html> - - - 40 - - - - diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 8a0689b..24523a1 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -129,8 +129,9 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListWidget *view) 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 (p.getCid() == c.second.getCid()){ - line += QString("<") + "verified" + QString("> :\n");} + if ((p.getCid() == c.second.getCid())){ + line+= QString("[") + "Verified Message" + QString("]"); ////Todo: Render a green checkmark instead of QString + } } line += QString("[") + myDateTime.toString("dd.MM.yyyy hh:mm:ss ") + QString("] "); line += QString("<") + QString("incoming") + QString("> :\n"); @@ -152,7 +153,7 @@ QString ChatModel::getCidByTx(QString tx) { for(auto& pair : this->cidMap) { - qDebug() << "TXID=" << pair.first << " CID=" << pair.second; + // qDebug() << "TXID=" << pair.first << " CID=" << pair.second; } if(this->cidMap.count(tx) > 0) diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 913907f..32affce 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1393,9 +1393,9 @@ - 720 + 350 50 - 481 + 291 20 @@ -1527,8 +1527,8 @@ - 870 - 90 + 820 + 60 331 20 @@ -1537,6 +1537,19 @@ <html><head/><body><p align="center"><br/></p></body></html> + + + + 690 + 60 + 131 + 20 + + + + <html><head/><body><p align="center">Conversation ID:</p></body></html> + + From c7d0acac71c03c44d553c97c35eef4435153810a Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 1 May 2020 21:49:47 +0200 Subject: [PATCH 050/256] delete some debug outputs --- src/chatmodel.cpp | 2 +- src/controller.cpp | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 24523a1..89a7dde 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -65,7 +65,7 @@ void ChatModel::clear() void ChatModel::addMessage(ChatItem item) { QString key = this->generateChatItemID(item); - qDebug() << "inserting chatitem with id: " << key; + // qDebug() << "inserting chatitem with id: " << key; this->chatItems[key] = item; } diff --git a/src/controller.cpp b/src/controller.cpp index 36ac2c8..b0453d2 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -966,7 +966,7 @@ void Controller::refreshTransactions() { cid, // we have to set the cid here, its included in the headermemo txid ); - qDebug()<< "Message CID: " << cid; + // qDebug()<< "Message CID: " << cid; chatModel->addMessage(item); } @@ -1006,7 +1006,6 @@ void Controller::refreshChat(QListWidget *listWidget) void Controller::refreshContacts(QListWidget *listWidget) { - qDebug() << "Called Controller::refreshContacts(QListWidget *listWidget)"; contactModel->renderContactList(listWidget); } From 3b80b98c0dcd09e8a1c828c2ebaa4e905f32f153 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 1 May 2020 23:06:50 +0200 Subject: [PATCH 051/256] prevent sending of empty memos from chatpage --- src/chatmodel.cpp | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 89a7dde..d3c78a0 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -131,6 +131,9 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListWidget *view) for(auto &p : AddressBook::getInstance()->getAllAddressLabels()){ if ((p.getCid() == c.second.getCid())){ line+= QString("[") + "Verified Message" + QString("]"); ////Todo: Render a green checkmark instead of QString + }else{ + + // line+= QString("[") + "Warning. Not verified!" + QString("]"); } } line += QString("[") + myDateTime.toString("dd.MM.yyyy hh:mm:ss ") + QString("] "); @@ -234,7 +237,7 @@ Tx MainWindow::createTxFromChatPage() { } void MainWindow::sendChatButton() { - ////////////////////////////Todo: Check if its a zaddr////////// + ////////////////////////////Todo: Check if a Contact is selected////////// // Create a Tx from the values on the send tab. Note that this Tx object // might not be valid yet. @@ -242,17 +245,17 @@ 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() == c.getName()) { + if (ui->ContactZaddr->text().trimmed().isEmpty() || ui->memoTxtChat->toPlainText().trimmed().isEmpty()) { // auto addr = ""; // if (! Settings::isZAddress(AddressBook::addressFromAddressLabel(addr->text()))) { - // QMessageBox msg(QMessageBox::Critical, tr("Memos can only be used with z-addresses"), - // tr("The memo field can only be used with a z-address.\n") + addr->text() + tr("\ndoesn't look like a z-address"), - // QMessageBox::Ok, this); + QMessageBox msg(QMessageBox::Critical, tr("You have to select a contact and insert a Memo"), + tr("You have selected no Contact from Contactlist,\n") + tr("\nor your Memo is empty"), + QMessageBox::Ok, this); - // msg.exec(); - // return; - // } + msg.exec(); + return; + } Tx tx = createTxFromChatPage(); From e97a0b07c2b3aa43c55686f25885e2306e841c3c Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 1 May 2020 23:40:14 +0200 Subject: [PATCH 052/256] merge in the sdl gifs from @csharpee, add check bob to render only verified messages --- src/chatmodel.cpp | 14 ++++++- src/mainwindow.ui | 99 +++++++++++++++++++++++++++-------------------- 2 files changed, 68 insertions(+), 45 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index d3c78a0..066eb60 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -277,8 +277,18 @@ void MainWindow::sendChatButton() { auto d = new QDialog(this); auto connD = new Ui_ConnectionDialog(); connD->setupUi(d); - QPixmap logo(":/img/res/logobig.gif"); - connD->topIcon->setBasePixmap(logo.scaled(256, 256, Qt::KeepAspectRatio, Qt::SmoothTransformation)); + QMovie *movie1 = new QMovie(":/img/res/silentdragonlite-animated.gif");; + QMovie *movie2 = new QMovie(":/img/res/silentdragonlite-animated-dark.gif");; + auto theme = Settings::getInstance()->get_theme_name(); + if (theme == "dark" || theme == "midnight") { + movie2->setScaledSize(QSize(512,512)); + connD->topIcon->setMovie(movie2); + movie2->start(); + } else { + movie1->setScaledSize(QSize(512,512)); + connD->topIcon->setMovie(movie1); + movie1->start(); + } connD->status->setText(tr("Please wait...")); connD->statusDetail->setText(tr("Your Message will be send")); diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 32affce..3196dff 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -18,8 +18,8 @@ :/icons/res/icon.ico:/icons/res/icon.ico - - + + 5 @@ -389,7 +389,7 @@ 0 0 1226 - 504 + 488 @@ -1332,17 +1332,17 @@ 0 - 80 + 40 341 - 561 + 551 - 6 - 40 + 0 + 0 311 20 @@ -1351,25 +1351,12 @@ <html><head/><body><p align="center">Hushchat Contactlist</p></body></html> - - - - 400 - 410 - 331 - 17 - - - - Memo - - 340 - 510 - 901 + 410 + 921 128 @@ -1377,8 +1364,8 @@ - 1180 - 460 + 1200 + 540 47 17 @@ -1393,9 +1380,9 @@ - 350 - 50 - 291 + 450 + 20 + 161 20 @@ -1410,7 +1397,7 @@ 340 - 80 + 40 921 371 @@ -1432,7 +1419,7 @@ 1130 - 650 + 590 114 25 @@ -1453,21 +1440,21 @@ - 340 - 460 - 67 + 350 + 550 + 81 17 - <html><head/><body><p>Send to :</p></body></html> + Send To : - 340 - 490 + 350 + 580 81 17 @@ -1480,7 +1467,7 @@ 420 - 460 + 550 691 20 @@ -1492,8 +1479,8 @@ - 943 - 20 + 50 + 600 211 25 @@ -1515,7 +1502,7 @@ 420 - 490 + 580 691 20 @@ -1527,8 +1514,8 @@ - 820 - 60 + 720 + 20 331 20 @@ -1540,8 +1527,8 @@ - 690 - 60 + 590 + 20 131 20 @@ -1550,6 +1537,32 @@ <html><head/><body><p align="center">Conversation ID:</p></body></html> + + + + 980 + 0 + 271 + 23 + + + + Render only authenticated messages + + + + + + 340 + 20 + 111 + 20 + + + + <html><head/><body><p align="center">Contact Name:</p></body></html> + + From 29492b73c3f8894888189834c8b57b5c067fff11 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 2 May 2020 00:06:36 +0200 Subject: [PATCH 053/256] render only memos from a valid cid if checkbox is true --- src/chatmodel.cpp | 24 +++++++++++++++++------- src/mainwindow.cpp | 1 + 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 066eb60..c6dd75d 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -129,24 +129,34 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListWidget *view) 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 ((p.getCid() == c.second.getCid())){ - line+= QString("[") + "Verified Message" + QString("]"); ////Todo: Render a green checkmark instead of QString - }else{ + + if ((ui->checkBox->isChecked() == true) && (p.getCid() != c.second.getCid())) + { + + + }else{ // line+= QString("[") + "Warning. Not verified!" + QString("]"); - } - } + + line += QString("[") + myDateTime.toString("dd.MM.yyyy hh:mm:ss ") + QString("] "); line += QString("<") + QString("incoming") + QString("> :\n"); line += QString(c.second.getMemo()) + QString("\n"); view->addItem(line); - line =""; - }else{} + line =""; + } + + + } + } + + } } + void ChatModel::addCid(QString tx, QString cid) { this->cidMap[tx] = cid; diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 2b252e4..f17bfc9 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -39,6 +39,7 @@ MainWindow::MainWindow(QWidget *parent) : ui->setupUi(this); + ui->checkBox->setChecked(true); logger = new Logger(this, QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)).filePath("silentdragonlite-wallet.log")); // Status Bar From 0223d6def84a940a794979b4031554ccf2120f5c Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 3 May 2020 01:03:29 +0200 Subject: [PATCH 054/256] add chatbubbles to render chat --- src/chatmodel.cpp | 103 ++++++++++++++++------------- src/chatmodel.h | 161 ++++++++++++++++++++++++++++++++++++++++++++- src/controller.cpp | 11 ++-- src/controller.h | 2 +- src/mainwindow.cpp | 95 +++++++++++++++++++++++++- src/mainwindow.h | 4 +- src/mainwindow.ui | 59 ++++++++++------- 7 files changed, 351 insertions(+), 84 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index c6dd75d..7ca3090 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -10,6 +10,7 @@ #include #include #include +#include using namespace std; using namespace boost; @@ -80,11 +81,11 @@ void ChatModel::showMessages() { for(auto &c : this->chatItems) { - qDebug() << "[" << c.second.getTimestamp() << "] " << "<" << c.second.getAddress() << "> :" << c.second.getMemo(); + qDebug() << c.second.toChatLine(); } } -void ChatModel::renderChatBox(Ui::MainWindow* ui, QListWidget &view) +void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView &view) { /*for(auto &c : this->chatItems) { @@ -94,66 +95,68 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListWidget &view) //todo render items to view } -void ChatModel::renderChatBox(Ui::MainWindow* ui, QListWidget *view) +void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) { - - while(view->count() > 0) + // QStandardItemModel mymodel; + // QStandardItem* Items = new QStandardItem(myString); + QStandardItemModel* myModel = new QStandardItemModel(); + for(auto &c : this->chatItems) { - view->takeItem(0); - } - - QString line = ""; - - for(auto &c : this->chatItems){ - - QDateTime myDateTime; - - myDateTime.setTime_t(c.second.getTimestamp()); - //////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 =""; + if ( + (ui->ContactZaddr->text().trimmed() == c.second.getAddress()) && + (c.second.getMemo().startsWith("{") == false) && + (c.second.getMemo().isEmpty() == false) + ) + { + + QStandardItem* Items = new QStandardItem(c.second.toChatLine()); + Items->setData("Incoming", Qt::UserRole +1); + myModel->appendRow(Items); + qDebug()<text(); + ui->listChat->setModel(myModel); + ui->listChat->setMinimumSize(200,350); + ui->listChat->setItemDelegate(new ListViewDelegate()); + ui->listChat->show(); + } - ////////////////////////////////// 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())) - { + if ( + (ui->MyZaddr->text().trimmed() == c.second.getAddress()) && + (c.second.getMemo().startsWith("{") == false) && + (c.second.getMemo().isEmpty() == false) + ) + { - }else{ - - // line+= QString("[") + "Warning. Not verified!" + QString("]"); - + QStandardItem* Items1 = new QStandardItem(c.second.toChatLine()); + Items1->setData("Outgoing", Qt::UserRole +1); + myModel->appendRow(Items1); + qDebug()<text(); + } + ui->listChat->setModel(myModel); + ui->listChat->setMinimumSize(200,350); + ui->listChat->setItemDelegate(new ListViewDelegate()); + ui->listChat->show(); + } - line += QString("[") + myDateTime.toString("dd.MM.yyyy hh:mm:ss ") + QString("] "); - line += QString("<") + QString("incoming") + QString("> :\n"); - line += QString(c.second.getMemo()) + QString("\n"); - view->addItem(line); - line =""; - } + + /////////////////////////Render only when CID=CID? + + // for(auto &p : AddressBook::getInstance()->getAllAddressLabels()) + // { + + // if ((ui->checkBox->isChecked() == true) && (p.getCid() != c.second.getCid())) + // { - } + //} + // - } - - } - } @@ -247,6 +250,9 @@ Tx MainWindow::createTxFromChatPage() { } void MainWindow::sendChatButton() { + + + ////////////////////////////Todo: Check if a Contact is selected////////// // Create a Tx from the values on the send tab. Note that this Tx object @@ -420,6 +426,9 @@ 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/chatmodel.h b/src/chatmodel.h index fcc68bf..a060530 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -1,15 +1,161 @@ #ifndef CHATMODEL_H #define CHATMODEL_H #include +#include +#include +#include #include #include -#include +#include #include "precompiled.h" #include "mainwindow.h" #include "controller.h" #include "settings.h" #include "camount.h" +class ListViewDelegate : public QAbstractItemDelegate +{ + int d_radius; + int d_toppadding; + int d_bottompadding; + int d_leftpadding; + int d_rightpadding; + int d_verticalmargin; + int d_horizontalmargin; + int d_pointerwidth; + int d_pointerheight; + float d_widthfraction; + public: + inline ListViewDelegate(QObject *parent = nullptr); + + protected: + inline void paint(QPainter *painter, QStyleOptionViewItem const &option, QModelIndex const &index) const; + inline QSize sizeHint(QStyleOptionViewItem const &option, QModelIndex const &index) const; +}; + +inline ListViewDelegate::ListViewDelegate(QObject *parent): QAbstractItemDelegate(parent), d_radius(5), d_toppadding(5), d_bottompadding(3), d_leftpadding(5), d_rightpadding(5), d_verticalmargin(15), d_horizontalmargin(10), d_pointerwidth(10), d_pointerheight(17), d_widthfraction(.7) +{ + +} + +inline void ListViewDelegate::paint(QPainter *painter, QStyleOptionViewItem const &option, QModelIndex const &index) const +{ + QTextDocument bodydoc; + QTextOption textOption(bodydoc.defaultTextOption()); + textOption.setWrapMode(QTextOption::WrapAtWordBoundaryOrAnywhere); + bodydoc.setDefaultTextOption(textOption); + bodydoc.setDefaultFont(QFont("Roboto", 12)); + QString bodytext(index.data(Qt::DisplayRole).toString()); + bodydoc.setHtml(bodytext); + qreal contentswidth = option.rect.width() * d_widthfraction - d_horizontalmargin - d_pointerwidth - d_leftpadding - d_rightpadding; + bodydoc.setTextWidth(contentswidth); + qreal bodyheight = bodydoc.size().height(); + bool outgoing = index.data(Qt::UserRole + 1).toString() == "Outgoing"; + painter->save(); + painter->setRenderHint(QPainter::Antialiasing); + + // uncomment to see the area provided to paint this item + + //painter->drawRect(option.rect); + + painter->translate(option.rect.left() + d_horizontalmargin, option.rect.top() + ((index.row() == 0) ? d_verticalmargin : 0)); + + // background color for chat bubble + QColor bgcolor("fbffff"); + if (outgoing) + bgcolor = "#fffcfb"; + + // create chat bubble + QPainterPath pointie; + + // left bottom + pointie.moveTo(0, bodyheight + d_toppadding + d_bottompadding); + + // right bottom + pointie.lineTo(0 + contentswidth + d_pointerwidth + d_leftpadding + d_rightpadding - d_radius, + bodyheight + d_toppadding + d_bottompadding); + pointie.arcTo(0 + contentswidth + d_pointerwidth + d_leftpadding + d_rightpadding - 2 * d_radius, + bodyheight + d_toppadding + d_bottompadding - 2 * d_radius, + 2 * d_radius, 2 * d_radius, 270, 90); + + // right top + pointie.lineTo(0 + contentswidth + d_pointerwidth + d_leftpadding + d_rightpadding, 0 + d_radius); + pointie.arcTo(0 + contentswidth + d_pointerwidth + d_leftpadding + d_rightpadding - 2 * d_radius, 0, + 2 * d_radius, 2 * d_radius, 0, 90); + + // left top + pointie.lineTo(0 + d_pointerwidth + d_radius, 0); + pointie.arcTo(0 + d_pointerwidth, 0, 2 * d_radius, 2 * d_radius, 90, 90); + + // left bottom almost (here is the pointie) + pointie.lineTo(0 + d_pointerwidth, bodyheight + d_toppadding + d_bottompadding - d_pointerheight); + pointie.closeSubpath(); + + // rotate bubble for outgoing messages + if (outgoing) + { + painter->translate(option.rect.width() - pointie.boundingRect().width() - d_horizontalmargin - d_pointerwidth, 0); + painter->translate(pointie.boundingRect().center()); + painter->rotate(180); + painter->translate(-pointie.boundingRect().center()); + } + + // now paint it! + painter->setPen(QPen(bgcolor)); + painter->drawPath(pointie); + painter->fillPath(pointie, QBrush(bgcolor)); + + // rotate back or painter is going to paint the text rotated... + if (outgoing) + { + painter->translate(pointie.boundingRect().center()); + painter->rotate(-180); + painter->translate(-pointie.boundingRect().center()); + } + + // set text color used to draw message body + QAbstractTextDocumentLayout::PaintContext ctx; + if (outgoing) + ctx.palette.setColor(QPalette::Text, QColor("black")); + else + ctx.palette.setColor(QPalette::Text, QColor("white")); + + // draw body text + painter->translate((outgoing ? 0 : d_pointerwidth) + d_leftpadding, 0); + bodydoc.documentLayout()->draw(painter, ctx); + + painter->restore(); +} + +inline QSize ListViewDelegate::sizeHint(QStyleOptionViewItem const &option, QModelIndex const &index) const +{ + QTextDocument bodydoc; + QTextOption textOption(bodydoc.defaultTextOption()); + textOption.setWrapMode(QTextOption::WrapAtWordBoundaryOrAnywhere); + bodydoc.setDefaultTextOption(textOption); + bodydoc.setDefaultFont(QFont("Roboto", 12)); + QString bodytext(index.data(Qt::DisplayRole).toString()); + bodydoc.setHtml(bodytext); + + // the width of the contents are the (a fraction of the window width) minus (margins + padding + width of the bubble's tail) + qreal contentswidth = option.rect.width() * d_widthfraction - d_horizontalmargin - d_pointerwidth - d_leftpadding - d_rightpadding; + + // set this available width on the text document + bodydoc.setTextWidth(contentswidth); + + QSize size(bodydoc.idealWidth() + d_horizontalmargin + d_pointerwidth + d_leftpadding + d_rightpadding, + bodydoc.size().height() + d_bottompadding + d_toppadding + d_verticalmargin + 1); // I dont remember why +1, haha, might not be necessary + + if (index.row() == 0) // have extra margin at top of first item + size += QSize(0, d_verticalmargin); + + return size; +} + + + + + class ChatItem { private: @@ -117,6 +263,15 @@ class ChatItem _outgoing = true; } + QString toChatLine() + { + QDateTime myDateTime; + myDateTime.setTime_t(_timestamp); + QString line = QString("[") + myDateTime.toString("dd.MM.yyyy hh:mm:ss ") + QString("] "); + line += QString(_memo) + QString("\n"); + return line; + } + ~ChatItem() { /*delete timestamp; @@ -145,8 +300,8 @@ class ChatModel void setItems(std::map items); QString zaddr(); void setItems(std::vector items); - void renderChatBox(Ui::MainWindow* ui, QListWidget &view); - void renderChatBox(Ui::MainWindow* ui, QListWidget *view); + void renderChatBox(Ui::MainWindow* ui, QListView &view); + void renderChatBox(Ui::MainWindow* ui, QListView *view); void showMessages(); void clear(); void addMessage(ChatItem item); diff --git a/src/controller.cpp b/src/controller.cpp index 2fe9b52..50db859 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -893,8 +893,8 @@ void Controller::refreshTransactions() { QString(""), memo, cid, // we have to set the cid here, its included in our Addressbook for this contact - txid - // true // is an outgoing message + txid, + true // is an outgoing message ); chatModel->addMessage(item); } @@ -964,7 +964,8 @@ void Controller::refreshTransactions() { QString(""), memo, cid, // we have to set the cid here, its included in the headermemo - txid + txid, + false ); // qDebug()<< "Message CID: " << cid; chatModel->addMessage(item); @@ -990,7 +991,7 @@ void Controller::refreshTransactions() { // Update model data, which updates the table view transactionsTableModel->replaceData(txdata); - chatModel->renderChatBox(ui, ui->listChatMemo); + chatModel->renderChatBox(ui, ui->listChat); refreshContacts( ui->listContactWidget @@ -998,7 +999,7 @@ void Controller::refreshTransactions() { }); } -void Controller::refreshChat(QListWidget *listWidget) +void Controller::refreshChat(QListView *listWidget) { chatModel->renderChatBox(ui, listWidget); diff --git a/src/controller.h b/src/controller.h index 4a0835f..59cfa40 100644 --- a/src/controller.h +++ b/src/controller.h @@ -72,7 +72,7 @@ public: void refreshGBPCAP(); void refreshAUDCAP(); - void refreshChat(QListWidget *listWidget); + void refreshChat(QListView *listWidget); void refreshContacts(QListWidget *listWidget); void executeStandardUITransaction(Tx tx); diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index f17bfc9..254798f 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -993,6 +993,92 @@ void MainWindow::setupchatTab() { ///////// Set selected Zaddr for Chat with Doubleklick 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(); @@ -1005,8 +1091,12 @@ void MainWindow::setupchatTab() { ui->contactCid->setText(p.getCid()); rpc->refresh(true); + updateChat(); } }); + + + } ChatMemoEdit::ChatMemoEdit(QWidget* parent) : QPlainTextEdit(parent) { @@ -1052,12 +1142,13 @@ void ChatMemoEdit::setSendChatButton(QPushButton* button) { void MainWindow::updateChat() { - rpc->refreshChat(ui->listChatMemo); + rpc->refreshChat(ui->listChat); + rpc->refresh(true); + } void MainWindow::updateContacts() { - qDebug() << "Called MainWindow::updateContacts()"; rpc->refreshContacts(ui->listContactWidget); } diff --git a/src/mainwindow.h b/src/mainwindow.h index 7114eda..1110f67 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -54,6 +54,7 @@ public: bool isWebsocketListening(); void createWebsocket(QString wormholecode); void stopWebsocket(); + void balancesReady(); void payhushURI(QString uri = "", QString myAddr = ""); @@ -92,8 +93,9 @@ private: void setupBalancesTab(); void setuphushdTab(); void setupchatTab(); - void updateChat(); + void updateContacts(); + void updateChat(); void setupSettingsModal(); void setupStatusBar(); diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 3196dff..fb02214 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1390,31 +1390,6 @@ <html><head/><body><p align="center"><br/></p></body></html> - - - true - - - - 340 - 40 - 921 - 371 - - - - QAbstractItemView::NoEditTriggers - - - false - - - Qt::IgnoreAction - - - QAbstractItemView::NoSelection - - @@ -1563,6 +1538,40 @@ <html><head/><body><p align="center">Contact Name:</p></body></html> + + + + 340 + 40 + 921 + 371 + + + + Qt::ScrollBarAlwaysOff + + + Qt::ScrollBarAlwaysOff + + + QAbstractScrollArea::AdjustToContents + + + QAbstractItemView::NoEditTriggers + + + QListView::Adjust + + + 0 + + + false + + + true + + From 58bee815a54909be19a6bbb14ce7b1bd179240a2 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 3 May 2020 01:25:56 +0200 Subject: [PATCH 055/256] change color in chat --- src/chatmodel.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/chatmodel.h b/src/chatmodel.h index a060530..b4caa95 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -61,9 +61,9 @@ inline void ListViewDelegate::paint(QPainter *painter, QStyleOptionViewItem cons painter->translate(option.rect.left() + d_horizontalmargin, option.rect.top() + ((index.row() == 0) ? d_verticalmargin : 0)); // background color for chat bubble - QColor bgcolor("fbffff"); + QColor bgcolor("#535353"); if (outgoing) - bgcolor = "#fffcfb"; + bgcolor = "#eeeeee"; // create chat bubble QPainterPath pointie; From 7b40755d42582e82a80bd2aa9c15bce2e0509758 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 3 May 2020 11:35:05 +0200 Subject: [PATCH 056/256] improve some UI elements --- src/chatmodel.cpp | 73 +++++++++++++------------- src/controller.cpp | 44 ++++++++++++---- src/mainwindow.cpp | 101 ++++------------------------------- src/mainwindow.ui | 128 +++++++++------------------------------------ 4 files changed, 105 insertions(+), 241 deletions(-) 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 From dc4c386f3845142daf50efefdbe1aa43a2eb3aa3 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 3 May 2020 12:10:51 +0200 Subject: [PATCH 057/256] change datetime format in chatmodel --- src/chatmodel.cpp | 35 ++++++++++++++++++----------------- src/chatmodel.h | 5 +++-- src/mainwindow.ui | 13 ------------- 3 files changed, 21 insertions(+), 32 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 7b656f7..c139c03 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -117,27 +117,22 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) (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); - qDebug()<text(); - ui->listChat->setModel(myModel); - ui->listChat->setMinimumSize(200,350); - ui->listChat->setItemDelegate(new ListViewDelegate()); - ui->listChat->show(); + + + ui->listChat->setResizeMode(QListView::Adjust); + ui->listChat->setWordWrap(true); + ui->listChat->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel); + ui->listChat->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + ui->listChat->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + ui->listChat->setModel(myModel); + ui->listChat->setMinimumSize(200,350); + ui->listChat->setItemDelegate(new ListViewDelegate()); + ui->listChat->show(); } @@ -155,6 +150,12 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) myModel->appendRow(Items1); qDebug()<text(); } + + ui->listChat->setResizeMode(QListView::Adjust); + ui->listChat->setWordWrap(true); + ui->listChat->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel); + ui->listChat->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + ui->listChat->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); ui->listChat->setModel(myModel); ui->listChat->setMinimumSize(200,350); ui->listChat->setItemDelegate(new ListViewDelegate()); diff --git a/src/chatmodel.h b/src/chatmodel.h index b4caa95..490f336 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -13,6 +13,7 @@ #include "settings.h" #include "camount.h" + class ListViewDelegate : public QAbstractItemDelegate { int d_radius; @@ -267,8 +268,8 @@ class ChatItem { QDateTime myDateTime; myDateTime.setTime_t(_timestamp); - QString line = QString("[") + myDateTime.toString("dd.MM.yyyy hh:mm:ss ") + QString("] "); - line += QString(_memo) + QString("\n"); + QString line = QString("[") + myDateTime.toString("d.M.yy hh:mm") + QString("] ") ; + line += QString("") + QString(_memo) + QString("\n\n"); return line; } diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 0c6d66b..56b180b 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1484,19 +1484,6 @@ true - - - - 340 - 430 - 911 - 31 - - - - Qt::Horizontal - - From 765bedde8076fde7870c37286b18968137dc20c6 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 3 May 2020 12:36:18 +0200 Subject: [PATCH 058/256] add watermark to chatlist --- src/chatmodel.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index c139c03..679b0c5 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -132,6 +132,7 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) ui->listChat->setModel(myModel); ui->listChat->setMinimumSize(200,350); ui->listChat->setItemDelegate(new ListViewDelegate()); + // ui->listChat->setStyleSheet("background-image: url(res/hushdark.png)"); /////Todo set an png as Watermark backgroung in listChat ui->listChat->show(); } From c8b274ecfe195a1c7d6da448e76224753de63d57 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 3 May 2020 13:28:41 +0200 Subject: [PATCH 059/256] switch to listview for contacts --- src/chatmodel.cpp | 10 +++++----- src/contactmodel.cpp | 25 +++++++++++++++++++------ src/contactmodel.h | 2 +- src/controller.cpp | 2 +- src/controller.h | 2 +- src/mainwindow.ui | 2 +- 6 files changed, 28 insertions(+), 15 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 679b0c5..aad9a8d 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -99,7 +99,7 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) { - QStandardItemModel* myModel = new QStandardItemModel(); + QStandardItemModel* chat = new QStandardItemModel(); for (auto &c : this->chatItems) @@ -121,7 +121,7 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) QStandardItem* Items = new QStandardItem(c.second.toChatLine()); Items->setData("Incoming", Qt::UserRole +1); - myModel->appendRow(Items); + chat->appendRow(Items); ui->listChat->setResizeMode(QListView::Adjust); @@ -129,7 +129,7 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) ui->listChat->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel); ui->listChat->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); ui->listChat->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); - ui->listChat->setModel(myModel); + ui->listChat->setModel(chat); ui->listChat->setMinimumSize(200,350); ui->listChat->setItemDelegate(new ListViewDelegate()); // ui->listChat->setStyleSheet("background-image: url(res/hushdark.png)"); /////Todo set an png as Watermark backgroung in listChat @@ -148,7 +148,7 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) QStandardItem* Items1 = new QStandardItem(c.second.toChatLine()); Items1->setData("Outgoing", Qt::UserRole +1); - myModel->appendRow(Items1); + chat->appendRow(Items1); qDebug()<text(); } @@ -157,7 +157,7 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) ui->listChat->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel); ui->listChat->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); ui->listChat->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); - ui->listChat->setModel(myModel); + ui->listChat->setModel(chat); ui->listChat->setMinimumSize(200,350); ui->listChat->setItemDelegate(new ListViewDelegate()); ui->listChat->show(); diff --git a/src/contactmodel.cpp b/src/contactmodel.cpp index 0e9a6ea..e4d32e1 100644 --- a/src/contactmodel.cpp +++ b/src/contactmodel.cpp @@ -2,15 +2,28 @@ #include "addressbook.h" #include "mainwindow.h" -void ContactModel::renderContactList(QListWidget* view) +void ContactModel::renderContactList(QListView* view) { - while(view->count() > 0) - { - view->takeItem(0); - } + QStandardItemModel* contact = new QStandardItemModel(); + //} for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) { - view->addItem(c.getName()); + // view->addItem(c.getName()); + + + QStandardItem* Items = new QStandardItem(c.getName()); + contact->appendRow(Items); + // view->setItemDelegate({text: contact}) + // width: view->width }) + // height: avatar.implicitHeight, + // leftPadding: avatar.implicitWidth + 32}) + + // Image { + // id: avatar + // source: "qrc:/" + modelData.replace(" ", "_") + ".png" + // } + //} + view->setModel(contact); } diff --git a/src/contactmodel.h b/src/contactmodel.h index 886b285..b97cc8a 100644 --- a/src/contactmodel.h +++ b/src/contactmodel.h @@ -74,7 +74,7 @@ class ContactModel { public: ContactModel() {} - void renderContactList(QListWidget* view); + void renderContactList(QListView* view); }; #endif \ No newline at end of file diff --git a/src/controller.cpp b/src/controller.cpp index 7db0ff0..577d438 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -1029,7 +1029,7 @@ void Controller::refreshChat(QListView *listWidget) } -void Controller::refreshContacts(QListWidget *listWidget) +void Controller::refreshContacts(QListView *listWidget) { contactModel->renderContactList(listWidget); } diff --git a/src/controller.h b/src/controller.h index 59cfa40..bc56587 100644 --- a/src/controller.h +++ b/src/controller.h @@ -73,7 +73,7 @@ public: void refreshAUDCAP(); void refreshChat(QListView *listWidget); - void refreshContacts(QListWidget *listWidget); + void refreshContacts(QListView *listWidget); void executeStandardUITransaction(Tx tx); diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 56b180b..e58e4ad 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1328,7 +1328,7 @@ HushChat - + 0 From 0e2c8503fef816cbf6afd0264bd6d0e429b4ec57 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 3 May 2020 17:22:16 +0200 Subject: [PATCH 060/256] add new background images to chatlist --- application.qrc | 3 +++ src/chatmodel.cpp | 21 +++------------------ src/contactmodel.cpp | 24 +++++++++--------------- src/mainwindow.cpp | 15 ++++++++++++++- 4 files changed, 29 insertions(+), 34 deletions(-) diff --git a/application.qrc b/application.qrc index 0507184..e4cd3d2 100644 --- a/application.qrc +++ b/application.qrc @@ -8,6 +8,9 @@ res/paymentreq.gif res/icon.ico res/mail.png + res/darkwing.png + res/sdlogo.png + res/sdlogo2.png res/hushdlogo.gif diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index aad9a8d..68b496a 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -123,17 +123,9 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) Items->setData("Incoming", Qt::UserRole +1); chat->appendRow(Items); - - ui->listChat->setResizeMode(QListView::Adjust); - ui->listChat->setWordWrap(true); - ui->listChat->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel); - ui->listChat->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); - ui->listChat->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); - ui->listChat->setModel(chat); - ui->listChat->setMinimumSize(200,350); + ui->listChat->setModel(chat); ui->listChat->setItemDelegate(new ListViewDelegate()); - // ui->listChat->setStyleSheet("background-image: url(res/hushdark.png)"); /////Todo set an png as Watermark backgroung in listChat - ui->listChat->show(); + } @@ -149,18 +141,11 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) QStandardItem* Items1 = new QStandardItem(c.second.toChatLine()); Items1->setData("Outgoing", Qt::UserRole +1); chat->appendRow(Items1); - qDebug()<text(); } - ui->listChat->setResizeMode(QListView::Adjust); - ui->listChat->setWordWrap(true); - ui->listChat->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel); - ui->listChat->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); - ui->listChat->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); ui->listChat->setModel(chat); - ui->listChat->setMinimumSize(200,350); ui->listChat->setItemDelegate(new ListViewDelegate()); - ui->listChat->show(); + } diff --git a/src/contactmodel.cpp b/src/contactmodel.cpp index e4d32e1..a19fe1c 100644 --- a/src/contactmodel.cpp +++ b/src/contactmodel.cpp @@ -3,27 +3,21 @@ #include "mainwindow.h" void ContactModel::renderContactList(QListView* view) -{ +{ // QStandardItem(const QIcon & icon, const QString & text) QStandardItemModel* contact = new QStandardItemModel(); //} for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) { - // view->addItem(c.getName()); - - QStandardItem* Items = new QStandardItem(c.getName()); - contact->appendRow(Items); - // view->setItemDelegate({text: contact}) - // width: view->width }) - // height: avatar.implicitHeight, - // leftPadding: avatar.implicitWidth + 32}) - - // Image { - // id: avatar - // source: "qrc:/" + modelData.replace(" ", "_") + ".png" - // } - //} + //QStandardItem* Items = new QStandardItem(); + QStandardItem* Items1 = new QStandardItem(QIcon("res/darkwing.png"),c.getName()); + // contact->appendRow(Items); + contact->appendRow(Items1); view->setModel(contact); + view->setIconSize(QSize(80,100)); + view->setUniformItemSizes(true); + view->setDragDropMode(QAbstractItemView::DropOnly);; + } diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 0d1e984..0104f56 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -905,6 +905,17 @@ void MainWindow::setupTransactionsTab() { }); // Set up context menu on transactions tab + auto theme = Settings::getInstance()->get_theme_name(); + if (theme == "dark"){ + ui->listChat->setStyleSheet("background-image: url(res/sdlogo.png) ;background-attachment: fixed ;background-position: center center ;background-repeat: no-repeat;background-size: cover"); + }else{ui->listChat->setStyleSheet("background-image: url(res/sdlogo2.png) ;background-attachment: fixed ;background-position: center center ;background-repeat: no-repeat;background-size: cover");} + ui->listChat->setResizeMode(QListView::Adjust); + ui->listChat->setWordWrap(true); + ui->listChat->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel); + ui->listChat->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + ui->listChat->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + ui->listChat->setMinimumSize(200,350); + ui->listChat->show(); ui->transactionsTable->setContextMenuPolicy(Qt::CustomContextMenu); // Table right click QObject::connect(ui->transactionsTable, &QTableView::customContextMenuRequested, [=] (QPoint pos) { @@ -1014,6 +1025,8 @@ void MainWindow::setupchatTab() { } }); + + } ChatMemoEdit::ChatMemoEdit(QWidget* parent) : QPlainTextEdit(parent) { @@ -1066,7 +1079,7 @@ void MainWindow::updateChat() void MainWindow::updateContacts() { - rpc->refreshContacts(ui->listContactWidget); + //rpc->refreshContacts(ui->listContactWidget); } void MainWindow::addNewZaddr(bool sapling) { From 5a563f169d85376b64b67ce571df284fed200520 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 3 May 2020 17:45:44 +0200 Subject: [PATCH 061/256] set background for themes --- res/darkwing.png | Bin 0 -> 178122 bytes res/hushdark.png | Bin 0 -> 50336 bytes res/sdlogo.png | Bin 0 -> 43333 bytes res/sdlogo2.png | Bin 0 -> 59377 bytes src/mainwindow.cpp | 7 +++++-- 5 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 res/darkwing.png create mode 100644 res/hushdark.png create mode 100644 res/sdlogo.png create mode 100644 res/sdlogo2.png diff --git a/res/darkwing.png b/res/darkwing.png new file mode 100644 index 0000000000000000000000000000000000000000..6fbe04611b0b546bb3eea55fda99c68a8a7a95dc GIT binary patch literal 178122 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
Q$el3_V(7Ig3_V~G1*sy&!7b8?lnr=l?awd4 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

m>kX0Zx{I>E_Ciu0D&bHGtY>aajLM-K4@Y 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

_}rKaK|L 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�GNDnFDwkz})QY~Y&|1)zigH@emWJiDpsWiO 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 literal 0 HcmV?d00001 diff --git a/res/hirsch.png b/res/hirsch.png new file mode 100644 index 0000000000000000000000000000000000000000..e2b8dbdf2675ad367bd0a2f33a33023ec3e0eacd GIT binary patch literal 142903 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�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

hr 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

lv*E+@rFPO&C)_k7(gc@q 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

4qzHn?qg}4mYxXEOZ1W?5M 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 literal 0 HcmV?d00001 diff --git a/res/mickey.png b/res/mickey.png new file mode 100644 index 0000000000000000000000000000000000000000..e278799dfa94411bf2600cb9e56c177443ea1530 GIT binary patch literal 58807 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 literal 0 HcmV?d00001 diff --git a/res/pinguin.png b/res/pinguin.png new file mode 100644 index 0000000000000000000000000000000000000000..f8083b6395a140563962a1c043d98076fede9fd6 GIT binary patch literal 53787 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 literal 0 HcmV?d00001 diff --git a/res/popey.png b/res/popey.png new file mode 100644 index 0000000000000000000000000000000000000000..9b986af5b1509238accd6a749cbc3f46c69a5b98 GIT binary patch literal 39428 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 literal 0 HcmV?d00001 diff --git a/res/snoopy.png b/res/snoopy.png new file mode 100644 index 0000000000000000000000000000000000000000..38f8fac0c19013cc029f98e4581bb69a88c91c90 GIT binary patch literal 46143 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%0AsP2$CHA;kclI; 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 szEXg#@i$LL?j?htz)Z@n+a literal 0 HcmV?d00001 diff --git a/silentdragon-lite.pro b/silentdragon-lite.pro index c76b209..5e745f4 100644 --- a/silentdragon-lite.pro +++ b/silentdragon-lite.pro @@ -12,6 +12,7 @@ PRECOMPILED_HEADER = src/precompiled.h QT += widgets QT += websockets +QT += qml quick TARGET = SilentDragonLite @@ -33,6 +34,7 @@ mac: LIBS+= -Wl,-bind_at_load RESOURCES = application.qrc + MOC_DIR = bin OBJECTS_DIR = bin UI_DIR = src @@ -105,6 +107,7 @@ HEADERS += \ src/contactmodel.h FORMS += \ + src/contactrequest.ui \ src/encryption.ui \ src/mainwindow.ui \ src/migration.ui \ diff --git a/src/addressbook.cpp b/src/addressbook.cpp index 1a2bad3..70df68e 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -8,7 +8,7 @@ AddressBookModel::AddressBookModel(QTableView *parent) : QAbstractTableModel(parent) { - headers << tr("Label") << tr("Address") << tr("HushChatAddress") << tr("cid"); + headers << tr("Avatar")<< tr("Label") << tr("Address") << tr("HushChatAddress") << tr("CID"); this->parent = parent; loadData(); } @@ -38,10 +38,10 @@ void AddressBookModel::loadData() ); } -void AddressBookModel::addNewLabel(QString label, QString addr, QString myAddr, QString cid) +void AddressBookModel::addNewLabel(QString label, QString addr, QString myAddr, QString cid, QString avatar) { //labels.push_back(QPair(label, addr)); - AddressBook::getInstance()->addAddressLabel(label, addr, myAddr, cid); + AddressBook::getInstance()->addAddressLabel(label, addr, myAddr, cid, avatar); updateUi(); } @@ -59,7 +59,7 @@ void AddressBookModel::removeItemAt(int row) if (row >= labels.size()) return; - AddressBook::getInstance()->removeAddressLabel(labels[row].getName(), labels[row].getPartnerAddress(), labels[row].getMyAddress(),labels[row].getCid()); + AddressBook::getInstance()->removeAddressLabel(labels[row].getName(), labels[row].getPartnerAddress(), labels[row].getMyAddress(),labels[row].getCid(),labels[row].getAvatar()); labels.clear(); labels = AddressBook::getInstance()->getAllAddressLabels(); dataChanged(index(0, 0), index(labels.size()-1, columnCount(index(0,0))-1)); @@ -70,7 +70,7 @@ ContactItem AddressBookModel::itemAt(int row) { if (row >= labels.size()) { - ContactItem item = ContactItem("", "", "", ""); + ContactItem item = ContactItem("", "", "", "",""); return item; } @@ -97,10 +97,11 @@ QVariant AddressBookModel::data(const QModelIndex &index, int role) const { switch(index.column()) { - case 0: return labels.at(index.row()).getName(); - case 1: return labels.at(index.row()).getPartnerAddress(); - case 2: return labels.at(index.row()).getMyAddress(); - case 3: return labels.at(index.row()).getCid(); + case 0: return labels.at(index.row()).getAvatar(); + case 1: return labels.at(index.row()).getName(); + case 2: return labels.at(index.row()).getPartnerAddress(); + case 3: return labels.at(index.row()).getMyAddress(); + case 4: return labels.at(index.row()).getCid(); } } @@ -168,6 +169,7 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) auto myAddr = ab.addr_chat->text().trimmed(); QString newLabel = ab.label->text(); QString cid = ab.cid->text(); + QString avatar = "res/yoda.png"; if (addr.isEmpty() || newLabel.isEmpty()) { @@ -204,7 +206,7 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) } ////// We need a better popup here. - AddressBook::getInstance()->addAddressLabel(newLabel, addr, myAddr, cid); + AddressBook::getInstance()->addAddressLabel(newLabel, addr, myAddr, cid,avatar); QMessageBox::critical( parent, QObject::tr("Add Successfully"), @@ -256,7 +258,7 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) continue; // Add label, address. - model.addNewLabel(items.at(1), items.at(0), "", ""); + model.addNewLabel(items.at(1), items.at(0), "", "", ""); numImported++; } @@ -267,7 +269,7 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) ); }); - auto fnSetTargetLabelAddr = [=] (QLineEdit* target, QString label, QString addr, QString myAddr, QString cid) { + auto fnSetTargetLabelAddr = [=] (QLineEdit* target, QString label, QString addr, QString myAddr, QString cid, QString avatar) { target->setText(label % "/" % addr % myAddr); }; @@ -284,8 +286,9 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) QString addr = model.itemAt(index.row()).getPartnerAddress(); QString myAddr = model.itemAt(index.row()).getMyAddress(); QString cid = model.itemAt(index.row()).getCid(); + QString avatar = model.itemAt(index.row()).getCid(); d.accept(); - fnSetTargetLabelAddr(target, lbl, addr, myAddr, cid); + fnSetTargetLabelAddr(target, lbl, addr, myAddr, cid, avatar); }); // Right-Click @@ -299,13 +302,14 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) QString addr = model.itemAt(index.row()).getPartnerAddress(); QString myAddr = model.itemAt(index.row()).getMyAddress(); QString cid = model.itemAt(index.row()).getCid(); + QString avatar = model.itemAt(index.row()).getAvatar(); QMenu menu(parent); if (target != nullptr) menu.addAction("Pick", [&] () { d.accept(); - fnSetTargetLabelAddr(target, lbl, addr, myAddr, cid); + fnSetTargetLabelAddr(target, lbl, addr, myAddr, cid, avatar); }); menu.addAction(QObject::tr("Copy address"), [&] () { @@ -324,7 +328,7 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) auto selection = ab.addresses->selectionModel(); if (selection && selection->hasSelection() && selection->selectedRows().size() > 0) { auto item = model.itemAt(selection->selectedRows().at(0).row()); - fnSetTargetLabelAddr(target, item.getName(), item.getMyAddress(), item.getPartnerAddress(), item.getCid()); + fnSetTargetLabelAddr(target, item.getName(), item.getMyAddress(), item.getPartnerAddress(), item.getCid(), item.getAvatar()); } }; @@ -370,7 +374,7 @@ void AddressBook::readFromStorage() //qDebug() << "0:" << stuff[i][0]; //qDebug() << "1:" << stuff[i][1]; //qDebug() << "2:" << stuff[i][2]; - ContactItem contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3]); + ContactItem contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3],stuff[i][4]); //qDebug() << "contact=" << contact.toQTString(); allLabels.push_back(contact); } @@ -406,6 +410,7 @@ void AddressBook::writeToStorage() c.push_back(item.getPartnerAddress()); c.push_back(item.getMyAddress()); c.push_back(item.getCid()); + c.push_back(item.getAvatar()); contacts.push_back(c); } out << QString("v1") << contacts; @@ -428,22 +433,22 @@ QString AddressBook::writeableFile() // Add a new address/label to the database -void AddressBook::addAddressLabel(QString label, QString address, QString myAddr, QString cid) +void AddressBook::addAddressLabel(QString label, QString address, QString myAddr, QString cid, QString avatar) { Q_ASSERT(Settings::isValidAddress(address)); // getName(), remove any existing label // Iterate over the list and remove the label/address for (int i=0; i < allLabels.size(); i++) if (allLabels[i].getName() == label) - removeAddressLabel(allLabels[i].getName(), allLabels[i].getPartnerAddress(),allLabels[i].getMyAddress(), allLabels[i].getCid()); + removeAddressLabel(allLabels[i].getName(), allLabels[i].getPartnerAddress(),allLabels[i].getMyAddress(), allLabels[i].getCid(), allLabels[i].getAvatar()); - ContactItem item = ContactItem(label, address, myAddr, cid); + ContactItem item = ContactItem(label, address, myAddr, cid, avatar); allLabels.push_back(item); writeToStorage(); } // Remove a new address/label from the database -void AddressBook::removeAddressLabel(QString label, QString address, QString myAddr, QString cid) +void AddressBook::removeAddressLabel(QString label, QString address, QString myAddr, QString cid, QString avatar) { // Iterate over the list and remove the label/address for (int i=0; i < allLabels.size(); i++) diff --git a/src/addressbook.h b/src/addressbook.h index 6f8308b..6c7a450 100644 --- a/src/addressbook.h +++ b/src/addressbook.h @@ -12,7 +12,7 @@ public: AddressBookModel(QTableView* parent); ~AddressBookModel(); - void addNewLabel(QString label, QString address, QString myAddr, QString cid); + void addNewLabel(QString label, QString address, QString myAddr, QString cid, QString avatar); void updateUi(); void removeItemAt(int row); //QPair itemAt(int row); @@ -43,10 +43,10 @@ public: static QString addressFromAddressLabel(const QString& lblAddr); // Add a new address/label to the database - void addAddressLabel(QString label, QString address, QString myAddr, QString cid); + void addAddressLabel(QString label, QString address, QString myAddr, QString cid, QString avatar); // Remove a new address/label from the database - void removeAddressLabel(QString label, QString address, QString myAddr, QString cid); + void removeAddressLabel(QString label, QString address, QString myAddr, QString cid, QString avatar); // Update a label/address void updateLabel(QString oldlabel, QString address, QString newlabel); diff --git a/src/addressbook.ui b/src/addressbook.ui index c2d255d..6f3015d 100644 --- a/src/addressbook.ui +++ b/src/addressbook.ui @@ -30,7 +30,7 @@ - Nickname + <html><head/><body><p align="right">Nickname :</p></body></html> @@ -51,9 +51,130 @@ + + + + <html><head/><body><p align="right">Avatar :</p></body></html> + + + + + + + + Stag + + + + :/icons/res/hirsch.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 + + + + + + Garflied + + + + :/icons/res/garfield.png + + + + + + Snoopy + + + + :/icons/res/snoopy.png + + + + + + Popey + + + + :/icons/res/popey.png + + + + + + Pinguin + + + + :/icons/res/pinguin.png + + + + + + SDLogo + + + + :/icons/res/sdlogo2.png + + + + + diff --git a/src/contactmodel.cpp b/src/contactmodel.cpp index 956bd63..6131485 100644 --- a/src/contactmodel.cpp +++ b/src/contactmodel.cpp @@ -3,32 +3,27 @@ #include "mainwindow.h" void ContactModel::renderContactList(QListView* view) -{ // QStandardItem(const QIcon & icon, const QString & text) +{ QStandardItemModel* contact = new QStandardItemModel(); - //} + for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) { - //QStandardItem* Items = new QStandardItem(); auto theme = Settings::getInstance()->get_theme_name(); - if ((theme == "dark" || theme == "midnight")) { - QStandardItem* Items1 = new QStandardItem(QIcon("res/sdlogo.png"),c.getName()); - contact->appendRow(Items1); - view->setModel(contact); - view->setIconSize(QSize(60,70)); - view->setUniformItemSizes(true); - view->setDragDropMode(QAbstractItemView::DropOnly);; - } - if (theme == "default" || theme == "blue"){ + if ((theme == "dark" || theme == "midnight")) { + + // QIcon avatar = c.getAvatar(); + QString avatar = "res/yoda.png"; - QStandardItem* Items1 = new QStandardItem(QIcon("res/sdlogo2.png"),c.getName()); - contact->appendRow(Items1); - view->setModel(contact); - view->setIconSize(QSize(60,70)); - view->setUniformItemSizes(true); - view->setDragDropMode(QAbstractItemView::DropOnly);; + QStandardItem* Items1 = new QStandardItem(QIcon(avatar) ,c.getName()); + contact->appendRow(Items1); + view->setModel(contact); + view->setIconSize(QSize(60,70)); + view->setUniformItemSizes(true); + view->setDragDropMode(QAbstractItemView::DropOnly); } + diff --git a/src/contactmodel.h b/src/contactmodel.h index 2bf3fe3..b643bdb 100644 --- a/src/contactmodel.h +++ b/src/contactmodel.h @@ -14,15 +14,17 @@ class ContactItem QString _partnerAddress; QString _name; QString _cid; + QString _avatar; public: ContactItem(); - ContactItem(QString name, QString partnerAddress, QString myAddress, QString cid) + ContactItem(QString name, QString partnerAddress, QString myAddress, QString cid, QString avatar) { _name = name; _myAddress = myAddress; _partnerAddress = partnerAddress; _cid = cid; + _avatar = avatar; } QString getName() const @@ -45,6 +47,11 @@ class ContactItem return _cid; } + QString getAvatar() const + { + return _avatar; + } + void setName(QString name) { _name = name; @@ -64,10 +71,14 @@ class ContactItem { _cid = cid; } + void setAvatar(QString avatar) + { + _avatar = avatar; + } QString toQTString() { - return _name + "|" + _partnerAddress + "|" + _myAddress + "|" + _cid; + return _name + "|" + _partnerAddress + "|" + _myAddress + "|" + _cid + "|"+ _avatar; } }; diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index d685005..05126f8 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1319,6 +1319,7 @@ void MainWindow::setupReceiveTab() { // Receive tab add/update label QObject::connect(ui->rcvUpdateLabel, &QPushButton::clicked, [=]() { QString addr = ui->listReceiveAddresses->currentText(); + if (addr.isEmpty()) return; @@ -1332,7 +1333,7 @@ void MainWindow::setupReceiveTab() { if (!curLabel.isEmpty() && label.isEmpty()) { info = "Removed Label '" % curLabel % "'"; - AddressBook::getInstance()->removeAddressLabel(curLabel, addr, "", ""); + AddressBook::getInstance()->removeAddressLabel(curLabel, addr, "", "","" ); } else if (!curLabel.isEmpty() && !label.isEmpty()) { info = "Updated Label '" % curLabel % "' to '" % label % "'"; @@ -1340,7 +1341,7 @@ void MainWindow::setupReceiveTab() { } else if (curLabel.isEmpty() && !label.isEmpty()) { info = "Added Label '" % label % "'"; - AddressBook::getInstance()->addAddressLabel(label, addr, "", ""); + AddressBook::getInstance()->addAddressLabel(label, addr, "", "", ""); } // Update labels everywhere on the UI From 5dbfe1e4adbd5f6e2a127447061e90866e3b99d0 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Mon, 4 May 2020 16:06:08 +0200 Subject: [PATCH 067/256] choose a avatar when create a contact --- application.qrc | 20 +++++++++---------- res/{denio.png => Denio.png} | Bin res/{duke.png => Duke.png} | Bin res/{garfield.png => Garfield.png} | Bin res/{hirsch.png => Hirsch.png} | Bin res/{mickey.png => Mickey.png} | Bin res/{pinguin.png => Pinguin.png} | Bin res/{popey.png => Popey.png} | Bin res/{sharpee.png => Sharpee.png} | Bin res/{snoopy.png => Snoopy.png} | Bin res/Unbenannt-4 Kopie.png | Bin 88464 -> 0 bytes res/{yoda.png => Yoda.png} | Bin src/addressbook.cpp | 30 ++++++++++++++++++++++++++++- src/addressbook.h | 9 +++++++++ src/addressbook.ui | 28 ++++++++++++++++++--------- src/contactmodel.cpp | 2 +- src/mainwindow.cpp | 26 +++++++++++++++++++++++-- src/mainwindow.h | 1 + src/settings.cpp | 9 ++++----- src/settings.h | 2 ++ 20 files changed, 99 insertions(+), 28 deletions(-) rename res/{denio.png => Denio.png} (100%) rename res/{duke.png => Duke.png} (100%) rename res/{garfield.png => Garfield.png} (100%) rename res/{hirsch.png => Hirsch.png} (100%) rename res/{mickey.png => Mickey.png} (100%) rename res/{pinguin.png => Pinguin.png} (100%) rename res/{popey.png => Popey.png} (100%) rename res/{sharpee.png => Sharpee.png} (100%) rename res/{snoopy.png => Snoopy.png} (100%) delete mode 100644 res/Unbenannt-4 Kopie.png rename res/{yoda.png => Yoda.png} (100%) diff --git a/application.qrc b/application.qrc index 42f093b..62ceb1d 100644 --- a/application.qrc +++ b/application.qrc @@ -12,16 +12,16 @@ res/sdlogo.png res/sdlogo2.png res/Berg.png - res/denio.png - res/duke.png - res/sharpee.png - res/yoda.png - res/mickey.png - res/snoopy.png - res/popey.png - res/garfield.png - res/pinguin.png - res/hirsch.png + res/Denio.png + res/Duke.png + res/Sharpee.png + res/Yoda.png + res/Mickey.png + res/Snoopy.png + res/Popey.png + res/Garfield.png + res/Pinguin.png + res/Hirsch.png res/hushdlogo.gif diff --git a/res/denio.png b/res/Denio.png similarity index 100% rename from res/denio.png rename to res/Denio.png diff --git a/res/duke.png b/res/Duke.png similarity index 100% rename from res/duke.png rename to res/Duke.png diff --git a/res/garfield.png b/res/Garfield.png similarity index 100% rename from res/garfield.png rename to res/Garfield.png diff --git a/res/hirsch.png b/res/Hirsch.png similarity index 100% rename from res/hirsch.png rename to res/Hirsch.png diff --git a/res/mickey.png b/res/Mickey.png similarity index 100% rename from res/mickey.png rename to res/Mickey.png diff --git a/res/pinguin.png b/res/Pinguin.png similarity index 100% rename from res/pinguin.png rename to res/Pinguin.png diff --git a/res/popey.png b/res/Popey.png similarity index 100% rename from res/popey.png rename to res/Popey.png diff --git a/res/sharpee.png b/res/Sharpee.png similarity index 100% rename from res/sharpee.png rename to res/Sharpee.png diff --git a/res/snoopy.png b/res/Snoopy.png similarity index 100% rename from res/snoopy.png rename to res/Snoopy.png diff --git a/res/Unbenannt-4 Kopie.png b/res/Unbenannt-4 Kopie.png deleted file mode 100644 index e9d0d54e65200d11b447666bfe67509719442df2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 88464 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%0ALx8KyW@??b$Thi56L| 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.trimmed(); QString newLabel = ab.label->text(); QString cid = ab.cid->text(); - QString avatar = "res/yoda.png"; + + + QString avatar = QString("res/") + ab.comboBoxAvatar->currentText() + QString(".png"); + qDebug()<<"AVATAR NAME : " << avatar; if (addr.isEmpty() || newLabel.isEmpty()) { @@ -332,11 +335,34 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) } }; + // Get Avatar Data + + + // int avatar_index = ab.comboBoxAvatar->findText(AddressBook::getInstance()->get_avatar_name(), Qt::MatchExactly); + // ab.comboBoxAvatar->setCurrentIndex(avatar_index); + + // QObject::connect(ab.comboBoxAvatar, &QComboBox::currentTextChanged, [=] (QString avatar_name) { + // parent->slot_change_avatar(avatar_name); + // rpc->refresh(true); + // }); + // Refresh after the dialog is closed to update the labels everywhere. parent->getRPC()->refresh(true); model.updateUi(); //todo fix updating gui after adding } +QString AddressBook::get_avatar_name() { + // Load from the QT Settings. + // QString avatar = ab.comboBoxAvatar.text(); + // return QString() +} + +void AddressBook::set_avatar_name(QString avatar_name) { + avatar_name = "abs.comboBoxAvatar.text()"; +} + + + //============= // AddressBook singleton class //============= @@ -515,6 +541,8 @@ QString AddressBook::addLabelToAddress(QString addr) return addr; } + + QString AddressBook::addressFromAddressLabel(const QString& lblAddr) { return lblAddr.trimmed().split("/").last(); diff --git a/src/addressbook.h b/src/addressbook.h index 6c7a450..fee3ac6 100644 --- a/src/addressbook.h +++ b/src/addressbook.h @@ -22,6 +22,7 @@ public: int columnCount(const QModelIndex &parent) const; QVariant data(const QModelIndex &index, int role) const; QVariant headerData(int section, Qt::Orientation orientation, int role) const; + private: void loadData(); @@ -58,6 +59,14 @@ public: QString getLabelForAddress(QString address); // Get a Label's address QString getAddressForLabel(QString label); + + QString get_avatar_name(); + void set_avatar_name(QString avatar_name); + + + + + private: AddressBook(); diff --git a/src/addressbook.ui b/src/addressbook.ui index 6f3015d..4cec4b1 100644 --- a/src/addressbook.ui +++ b/src/addressbook.ui @@ -69,7 +69,7 @@ - :/icons/res/hirsch.png + :/icons/res/Hirsch.png @@ -79,7 +79,7 @@ - :/icons/res/denio.png + :/icons/res/Denio.png @@ -89,7 +89,7 @@ - :/icons/res/duke.png + :/icons/res/Duke.png @@ -99,7 +99,7 @@ - :/icons/res/yoda.png + :/icons/res/Yoda.png @@ -119,7 +119,7 @@ - :/icons/res/sharpee.png + :/icons/res/Sharpee.png @@ -129,7 +129,7 @@ - :/icons/res/garfield.png + :/icons/res/Garfield.png @@ -139,7 +139,7 @@ - :/icons/res/snoopy.png + :/icons/res/Snoopy.png @@ -149,7 +149,7 @@ - :/icons/res/popey.png + :/icons/res/Popey.png @@ -159,7 +159,17 @@ - :/icons/res/pinguin.png + :/icons/res/Pinguin.png + + + + + + Mickey + + + + :/icons/res/Mickey.png diff --git a/src/contactmodel.cpp b/src/contactmodel.cpp index 6131485..0475e6e 100644 --- a/src/contactmodel.cpp +++ b/src/contactmodel.cpp @@ -13,7 +13,7 @@ void ContactModel::renderContactList(QListView* view) if ((theme == "dark" || theme == "midnight")) { // QIcon avatar = c.getAvatar(); - QString avatar = "res/yoda.png"; + QString avatar = c.getAvatar(); QStandardItem* Items1 = new QStandardItem(QIcon(avatar) ,c.getName()); contact->appendRow(Items1); diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 05126f8..5e166e4 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -436,7 +436,9 @@ void MainWindow::setupSettingsModal() { this->slot_change_currency(currency_name); - ; + // Include Avatar + + // Setup theme combo @@ -461,7 +463,7 @@ void MainWindow::setupSettingsModal() { // Tell the user to restart QMessageBox::information(this, tr("Currency Change"), tr("This change can take a few seconds."), QMessageBox::Ok); }); - + // Check for updates settings.chkCheckUpdates->setChecked(Settings::getInstance()->getCheckForUpdates()); @@ -1468,6 +1470,26 @@ void MainWindow::slot_change_currency(const QString& currency_name) } } +void MainWindow::slot_change_avatar(const QString& avatar_name) + +{ + + AddressBook::getInstance()->set_avatar_name(avatar_name); + + // Include currency + + QString saved_avatar_name; + try + { + saved_avatar_name = AddressBook::getInstance()->get_avatar_name(); + + } + catch (...) + { + saved_avatar_name = "Yoda"; + + } +} void MainWindow::slot_change_theme(const QString& theme_name) diff --git a/src/mainwindow.h b/src/mainwindow.h index c767128..0441de3 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -83,6 +83,7 @@ public: public slots: void slot_change_theme(const QString& themeName); void slot_change_currency(const QString& currencyName); + void slot_change_avatar(const QString& avatarName); private: void closeEvent(QCloseEvent* event); diff --git a/src/settings.cpp b/src/settings.cpp index fbfb1cb..2d99ff7 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -225,13 +225,9 @@ QString Settings::get_currency_name() { } void Settings::set_currency_name(QString currency_name) { - QSettings().setValue("options/currency_name", currency_name); - - - + QSettings().setValue("options/currency_name", currency_name); } - QString Settings::get_theme_name() { // Load from the QT Settings. return QSettings().value("options/theme_name", false).toString(); @@ -242,6 +238,9 @@ void Settings::set_theme_name(QString theme_name) { } + + + //================================= // Static Stuff //================================= diff --git a/src/settings.h b/src/settings.h index a917d67..c598369 100644 --- a/src/settings.h +++ b/src/settings.h @@ -67,6 +67,8 @@ public: void set_currency_name(QString currency_name); + + bool isSaplingActive(); void setZECPrice(double p) { ZECPrice = p; } From dc61bb38c7e8751a5f035a673014a9050f11af1e Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Mon, 4 May 2020 20:17:20 +0200 Subject: [PATCH 068/256] add contact on Chattab --- application.qrc | 2 +- res/{Hirsch.png => Stag.png} | Bin src/addressbook.cpp | 23 --- src/addressbook.ui | 2 +- src/chatmodel.cpp | 137 ++++++++------ src/chatmodel.h | 1 + src/contactmodel.cpp | 1 - src/contactrequest.ui | 338 +++++++++++++++++++++++------------ src/mainwindow.cpp | 46 ++--- src/mainwindow.h | 2 +- src/mainwindow.ui | 54 ++++-- 11 files changed, 362 insertions(+), 244 deletions(-) rename res/{Hirsch.png => Stag.png} (100%) diff --git a/application.qrc b/application.qrc index 62ceb1d..09ec74c 100644 --- a/application.qrc +++ b/application.qrc @@ -21,7 +21,7 @@ res/Popey.png res/Garfield.png res/Pinguin.png - res/Hirsch.png + res/Stag.png res/hushdlogo.gif diff --git a/res/Hirsch.png b/res/Stag.png similarity index 100% rename from res/Hirsch.png rename to res/Stag.png diff --git a/src/addressbook.cpp b/src/addressbook.cpp index 6f209d1..d318f35 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -335,34 +335,11 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) } }; - // Get Avatar Data - - - // int avatar_index = ab.comboBoxAvatar->findText(AddressBook::getInstance()->get_avatar_name(), Qt::MatchExactly); - // ab.comboBoxAvatar->setCurrentIndex(avatar_index); - - // QObject::connect(ab.comboBoxAvatar, &QComboBox::currentTextChanged, [=] (QString avatar_name) { - // parent->slot_change_avatar(avatar_name); - // rpc->refresh(true); - // }); - // Refresh after the dialog is closed to update the labels everywhere. parent->getRPC()->refresh(true); model.updateUi(); //todo fix updating gui after adding } -QString AddressBook::get_avatar_name() { - // Load from the QT Settings. - // QString avatar = ab.comboBoxAvatar.text(); - // return QString() -} - -void AddressBook::set_avatar_name(QString avatar_name) { - avatar_name = "abs.comboBoxAvatar.text()"; -} - - - //============= // AddressBook singleton class //============= diff --git a/src/addressbook.ui b/src/addressbook.ui index 4cec4b1..b6d8d0a 100644 --- a/src/addressbook.ui +++ b/src/addressbook.ui @@ -69,7 +69,7 @@ - :/icons/res/Hirsch.png + :/icons/res/Stag.png diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 550081c..e80c436 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -164,7 +164,7 @@ QString ChatModel::getCidByTx(QString tx) { for(auto& pair : this->cidMap) { - // qDebug() << "TXID=" << pair.first << " CID=" << pair.second; + } if(this->cidMap.count(tx) > 0) @@ -247,9 +247,7 @@ Tx MainWindow::createTxFromChatPage() { void MainWindow::sendChatButton() { - - - ////////////////////////////Todo: Check if a Contact is selected////////// +////////////////////////////Todo: Check if a Contact is selected////////// // Create a Tx from the values on the send tab. Note that this Tx object // might not be valid yet. @@ -377,25 +375,80 @@ QString MainWindow::doSendChatTxValidations(Tx tx) { return ""; } +void::MainWindow::addContact() { -// Create a Tx from the current state of the Chat page. -Tx MainWindow::createTxForSafeContactRequest() { - - Ui_Dialog request; + Ui_Dialog request; QDialog dialog(this); request.setupUi(&dialog); Settings::saveRestore(&dialog); -dialog.exec(); - - Tx tx; - QObject::connect(request.cancel, &QPushButton::clicked, [&] () { + bool sapling = true; + rpc->createNewZaddr(sapling, [=] (json reply) { + QString myAddr = QString::fromStdString(reply.get()[0]); + QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); + ui->listReceiveAddresses->insertItem(0, myAddr); + ui->listReceiveAddresses->setCurrentIndex(0); + + qDebug() << "new generated myAddr" << myAddr; + request.myzaddr->setText(myAddr); + request.cid->setText(cid); + + }); + + + QObject::connect(request.sendRequestButton, &QPushButton::clicked, [&] () { + + QString cid = request.cid->text(); + auto addr = request.zaddr->text().trimmed(); + QString newLabel = request.labelRequest->text().trimmed(); + auto myAddr = request.myzaddr->text().trimmed(); + + QString avatar = QString("res/") + request.comboBoxAvatar->currentText() + QString(".png"); + + if (addr.isEmpty() || newLabel.isEmpty()) + { + QMessageBox::critical( + this, + QObject::tr("Address or Label Error"), + QObject::tr("Address or Label cannot be empty"), + QMessageBox::Ok + ); + return; + } + + // Test if address is valid. + if (!Settings::isValidAddress(addr)) + { + QMessageBox::critical( + this, + QObject::tr("Address Format Error"), + QObject::tr("%1 doesn't seem to be a valid hush address.").arg(addr), + QMessageBox::Ok + ); + return; + } + + ////// We need a better popup here. + AddressBook::getInstance()->addAddressLabel(newLabel, addr, myAddr, cid, avatar); + QMessageBox::critical( + this, + QObject::tr("Add Successfully"), + QObject::tr("juhu").arg(newLabel), + QMessageBox::Ok + ); + return; - dialog.close(); }); + + dialog.exec(); +} - QObject::connect(request.sendRequestButton, &QPushButton::clicked, this, &MainWindow::ContactRequest); +// Create a Tx for a contact Request +Tx MainWindow::createTxForSafeContactRequest() { + + Tx tx; + // For each addr/amt in the Chat tab { CAmount totalAmt; @@ -408,71 +461,41 @@ dialog.exec(); for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) - if (request.zaddr->text().trimmed() != c.getPartnerAddress()) { + if (ui->contactNameMemo->text().trimmed() == c.getName()) { QString cid = c.getCid(); QString myAddr = c.getMyAddress(); QString type = "cont"; - QString addr = request.zaddr->text(); - - + QString addr = c.getPartnerAddress(); - QString hmemo= createHeaderMemo(type,cid,myAddr,0,0); - QString memo = request.requestmemo->toPlainText().trimmed(); + QString hmemo= createHeaderMemo(type,cid,myAddr); + QString memo = ui->memoTxtChat->toPlainText().trimmed(); tx.toAddrs.push_back(ToFields{addr, amt, hmemo}); tx.toAddrs.push_back(ToFields{addr, amt, memo}); qDebug() << "pushback chattx"; - tx.fee = Settings::getMinerFee(); + + } + + tx.fee = Settings::getMinerFee(); return tx; - qDebug() << "ChatTx created"; - } if (request.zaddr->text().trimmed().isEmpty() == false){ + qDebug() << "RequestTx created"; - QMessageBox msg(QMessageBox::Critical, tr("Please insert a contact Address"), request.zaddr->text(), - QMessageBox::Ok, this); - - msg.exec(); - - } } - + } -void MainWindow::ContactRequest() { - - - - ////////////////////////////Todo: Check if a Contact is selected////////// - - // Create a Tx from the values on the send tab. Note that this Tx object - // might not be valid yet. - // Memos can only be used with zAddrs. So check that first - // for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) - - // if (ui->contactNameMemo->text().trimmed().isEmpty() || ui->memoTxtChat->toPlainText().trimmed().isEmpty()) { - - // auto addr = ""; - // if (! Settings::isZAddress(AddressBook::addressFromAddressLabel(addr->text()))) { - // QMessageBox msg(QMessageBox::Critical, tr("You have to select a contact and insert a Memo"), - // tr("You have selected no Contact from Contactlist,\n") + tr("\nor your Memo is empty"), - // QMessageBox::Ok, this); - - // msg.exec(); - // return; - // } - - -//}; +void MainWindow::ContactRequest() { Tx tx = createTxForSafeContactRequest(); - QString error = doSendChatTxValidations(tx); + QString error = doSendRequestTxValidations(tx); if (!error.isEmpty()) { // Something went wrong, so show an error and exit @@ -504,7 +527,7 @@ void MainWindow::ContactRequest() { } connD->status->setText(tr("Please wait...")); - connD->statusDetail->setText(tr("Your Message will be send")); + connD->statusDetail->setText(tr("Your Contact will be send")); d->show(); ui->memoTxtChat->clear(); diff --git a/src/chatmodel.h b/src/chatmodel.h index 490f336..cde16cb 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -310,6 +310,7 @@ class ChatModel void addCid(QString tx, QString cid); QString getCidByTx(QString tx); void killCidCache(); + }; #endif \ No newline at end of file diff --git a/src/contactmodel.cpp b/src/contactmodel.cpp index 0475e6e..d6a7e25 100644 --- a/src/contactmodel.cpp +++ b/src/contactmodel.cpp @@ -12,7 +12,6 @@ void ContactModel::renderContactList(QListView* view) auto theme = Settings::getInstance()->get_theme_name(); if ((theme == "dark" || theme == "midnight")) { - // QIcon avatar = c.getAvatar(); QString avatar = c.getAvatar(); QStandardItem* Items1 = new QStandardItem(QIcon(avatar) ,c.getName()); diff --git a/src/contactrequest.ui b/src/contactrequest.ui index 1bd758f..cee434f 100644 --- a/src/contactrequest.ui +++ b/src/contactrequest.ui @@ -13,130 +13,230 @@ Dialog - - - - 0 - 100 - 351 - 17 - - - - <html><head/><body><p>Please insert the Address of your contact :</p></body></html> - - - - - - 10 - 190 - 461 - 17 - - - - <html><head/><body><p>Insert a Message, and ask your friend for the contact request : </p><p><br/></p></body></html> - - - - - - 0 - 240 - 591 - 101 - - - - - - - 0 - 140 - 591 - 25 - - - - - - - 490 - 360 - 114 - 25 - - - - - 100 - 0 - - - - Send - - - false - - - - - - 320 - 360 - 114 - 25 - - - - - 100 - 0 - - - - Cancel - - - false - - - - - - 0 - 10 - 351 - 17 - - - - <html><head/><body><p>Please insert a Nickname for your contact :</p></body></html> - - - - - - 0 - 50 - 591 - 25 - - - + + + + + <html><head/><body><p align="right">Choose a avatar for your contact :</p></body></html> + + + + + + + <html><head/><body><p>Please insert a Nickname for your contact :</p></body></html> + + + + + + + + Stag + + + + :/icons/res/Hirsch.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 + + + + + + + + + + + + <html><head/><body><p>Please insert the Address of your contact :</p></body></html> + + + + + + + + + + Your HushChat Address + + + + + + + + + + + + + + The Conversation ID + + + + + + + + + + + + + + + 100 + 0 + + + + Cancel + + + false + + + + + + + + 100 + 0 + + + + Add Contact + + + false + + + + - sendRequestButton + cancel clicked() Dialog - accept() + reject() - 536 + 396 262 @@ -146,13 +246,13 @@ - cancel + sendRequestButton clicked() Dialog - reject() + accept() - 396 + 536 262 diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 5e166e4..c2b1403 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -40,10 +40,9 @@ MainWindow::MainWindow(QWidget *parent) : ui->setupUi(this); - // ui->checkBox->setChecked(true); + ui->request->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); @@ -436,11 +435,6 @@ void MainWindow::setupSettingsModal() { this->slot_change_currency(currency_name); - // Include Avatar - - - - // Setup theme combo int theme_index = settings.comboBoxTheme->findText(Settings::getInstance()->get_theme_name(), Qt::MatchExactly); settings.comboBoxTheme->setCurrentIndex(theme_index); @@ -1008,8 +1002,22 @@ void MainWindow::setupTransactionsTab() { void MainWindow::setupchatTab() { // Send button - QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::sendChatButton); - QObject::connect(ui->safeContactRequest, &QPushButton::clicked, this, &MainWindow::ContactRequest); + + // Is request Contact checked? + + if (ui->request->isChecked()) { + + + QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::ContactRequest); + + // qDebug() <request->isChecked()->text(); + }else{ + + QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::sendChatButton); + + } + + QObject::connect(ui->safeContactRequest, &QPushButton::clicked, this, &MainWindow::addContact); ///////// Set selected Zaddr for Chat with Doubleklick @@ -1470,26 +1478,6 @@ void MainWindow::slot_change_currency(const QString& currency_name) } } -void MainWindow::slot_change_avatar(const QString& avatar_name) - -{ - - AddressBook::getInstance()->set_avatar_name(avatar_name); - - // Include currency - - QString saved_avatar_name; - try - { - saved_avatar_name = AddressBook::getInstance()->get_avatar_name(); - - } - catch (...) - { - saved_avatar_name = "Yoda"; - - } -} void MainWindow::slot_change_theme(const QString& theme_name) diff --git a/src/mainwindow.h b/src/mainwindow.h index 0441de3..a98e622 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -83,7 +83,6 @@ public: public slots: void slot_change_theme(const QString& themeName); void slot_change_currency(const QString& currencyName); - void slot_change_avatar(const QString& avatarName); private: void closeEvent(QCloseEvent* event); @@ -116,6 +115,7 @@ private: void cancelButton(); void sendButton(); void sendChatButton(); + void addContact(); void ContactRequest(); void addAddressSection(); void maxAmountChecked(int checked); diff --git a/src/mainwindow.ui b/src/mainwindow.ui index e58e4ad..4c958a3 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1334,7 +1334,7 @@ 0 40 341 - 551 + 601 @@ -1342,8 +1342,8 @@ 0 - 0 - 311 + 20 + 341 20 @@ -1355,9 +1355,9 @@ 340 - 460 + 560 921 - 131 + 81 @@ -1368,7 +1368,7 @@ 1190 - 610 + 650 47 17 @@ -1396,8 +1396,8 @@ - 710 - 610 + 720 + 640 114 25 @@ -1418,8 +1418,8 @@ - 50 - 600 + 30 + 640 211 25 @@ -1456,7 +1456,7 @@ 340 40 921 - 421 + 521 @@ -1484,6 +1484,19 @@ true + + + + 340 + 650 + 261 + 23 + + + + Is this message a contact request? + + @@ -1694,5 +1707,22 @@ - + + + request + stateChanged(int) + MainWindow + update() + + + 481 + 721 + + + 636 + 389 + + + + From 5a8d8c7421ef899157e11f47a8c4c9a3cf3d68df Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Mon, 4 May 2020 20:23:08 +0200 Subject: [PATCH 069/256] fix stag png --- src/contactrequest.ui | 2 +- src/mainwindow.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/contactrequest.ui b/src/contactrequest.ui index cee434f..5edcfa6 100644 --- a/src/contactrequest.ui +++ b/src/contactrequest.ui @@ -36,7 +36,7 @@ - :/icons/res/Hirsch.png + :/icons/res/Stag.png diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index c2b1403..a4bee22 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -40,7 +40,7 @@ MainWindow::MainWindow(QWidget *parent) : ui->setupUi(this); - ui->request->setChecked(true); + ui->request->setChecked(false); logger = new Logger(this, QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)).filePath("silentdragonlite-wallet.log")); ui->memoTxtChat->setAutoFillBackground(false); ui->memoTxtChat->setPlaceholderText("Send Message"); From b8a14438329a6c98f7abf26004e737a78e8406c5 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Mon, 4 May 2020 23:40:28 +0200 Subject: [PATCH 070/256] show outgoing memos correctly --- application.qrc | 2 +- res/Elsa.png | Bin 0 -> 93888 bytes src/addressbook.ui | 10 ++++++++++ src/chatmodel.cpp | 13 +++++++------ src/contactrequest.ui | 22 ++++++++++++++-------- src/controller.cpp | 12 ++++++------ src/mainwindow.cpp | 4 ---- src/mainwindow.h | 3 ++- src/mainwindow.ui | 28 ++++++++++++---------------- 9 files changed, 52 insertions(+), 42 deletions(-) create mode 100644 res/Elsa.png diff --git a/application.qrc b/application.qrc index 09ec74c..51a4cc4 100644 --- a/application.qrc +++ b/application.qrc @@ -22,10 +22,10 @@ res/Garfield.png res/Pinguin.png res/Stag.png + res/Elsa.png res/hushdlogo.gif - res/logobig.gif res/silentdragonlite-animated.gif res/silentdragonlite-animated-dark.gif res/silentdragonlite-animated-startup.gif diff --git a/res/Elsa.png b/res/Elsa.png new file mode 100644 index 0000000000000000000000000000000000000000..b9d1341501a88c8fa2dca612b7509453301402df GIT binary patch literal 93888 zcmX_nRa6|o7U0al;O-VIxCD0_T!Op1YjB6b-AQm5AXw1g1ef6M?!kjYAVHS*-tK<% zsngY`Ze6Qubvs5?Sr#3I1O)&9pv%iisRIB&+y6XB2yZifzswfi2INn2dhP%KD(-(C zARs%J=xq|-MqEi80QjC5@J}u6?VZv>PF?A32`vBs4FdokU*E=K0Kk(S05~xP00c7u z0792klbfCY&!W<64a!1chfLdBPfqVWqOzW1_UZRyzpG3hYWFjUrHy%_5F2Ba8#%RmW+MpChaEF&m{u^-yjZG&NE zDSMCrc!jXbtr=5d@Bjb`AYp~c0!3lbnv`o?XlDGQdOt=n-dt-9ShHR&;j~!UzN4jpF~pDvvlr|A|oC%dx%9)(G1~ zA8>#^yx1nk8~zW}Fx>bwfg4hzD#1JSRB`lk2liGK+c8$ zS!bkRNld7AI7=kKGNDYE#RJ@bcZlMHHl@Rb=-P7gN8$s}16fE}tD^Y+xAp-zEx6BZ z>)`A0U~UPRW*;_W2ofP7>qi8@Pul`TgaMe15Cr^j>o@GofwrNpxNiswl8{MK{O@}s zu$)~PVVA*{N(4m)hz4ygnhGUYRFMs{um$~ZZ*suz^*HdZV&sgKYcZ4`V6UWN31!)M z!xZU%AUpuJ!UBk~vh+_fK!I%%tUnwO?a(I@^u%7w|Hqt4i)1c(31(Xz64D_l7rET z=?_x=cO2=uO90tKc9ukWWQC{?QFsWKHzckg&-mgQ6#z7m7o4D!WZWx_ z@V|XMU`S3pYe@({dkB~38DM6<00B03PEHA1I)bN&zqUXnmQ2uq60Krl2bYT6i1s)dgze-1kaVd#gt0HuJeZo4ua7r~iecew_bjr*c^rW>d#GEo%~&1w`$#)Wl+q1kfXxBTsM%98Kmq_3G>=&hNEB}7 z%-`}VW=XL;_HA*Z5kLH$*Ln$%F+pb?16+{eGCmZW&dz zjz=TfXaZ$~#1#Wy2=~k$o~2o41{rIggs_?-pL0=a`-rtOKbpooI2Rq9u*?*duD+bO zaSjvtNVa+FW9d=*7cQg1t{^M_@;{c21fPZ-LI)>1svDZAK7@UY%k(8*;B#0oFGjP?j_ zv=9@+Yoy*PZJrd5`ou{TO^8X6G$e@#Yci$TMGx^b{JBI^leJqRC~xz@d_@PJYWrT=#r9U2l3~0q*2*AOL{Hw(1Nm|5c>QQ6E@>Qtnn7F-xF%jWfL<-2OpZ@nO zCTrw7q1@I?N72!kU*6hFFcp30^aCE`1m_JK-8XE2VXr^Wx0hUl7e zQ=okUqT5&Z>Bv3F=oR+%k4;=stnPyG$G5tILoltND5AVF)($t9VkC$GUTR-^u zC;5)PgBGOa{)Ce5VfE=Oo9kbhox~(DBW=1mUMUs)0MSmT4!_W0W1e;H^EZ(>`a`-) zWQQ*;{ZI?mJL{}9A~*+D8TW<1)IFt1X6Y~D&U5vHX(!Y5RtUVVqJZai5t@y~0G)dR z$oucm4^~jaZ9xbH?Yg z$!^#ckhSyo?$q=yH8mAYU0oe5J3AXKG&B?q1OjbK5c^j0E~CjHwEEV8NEWjr(KC9y z@Ip~+R4bo;ueG4PSw)+Nzjw@VT;*5@KX5gV!p^pT?IGR-KfSW!66D^!qL}V zBIJPoJigg>Y5;3DDrh(C{m2{uxGWTgk6=cG7R7`TCMuy4_=?DM%g%yE0r}*ZXYevW zAcE0RL5UkRU=AB<(4{lSq5^m+rS&!@J2WG1R*R1wf`m8T-CNI$iFs`r~8$qx-b)5P-qfarVJ zueP}Im1_BrMtDwse9rV~(B3_;+a3MO_$O+|`0kVD^%sk}8uPm}8v(I>yj+o?{ll#QkhqA;+T7G$T>t}TahQuM$j#y?X^?O_7FWcYnJnf(Y|Hd$3;!7J)7YA| z2ar-}$DSjD#&g{R(6JF5iDBG>mW%ob4KnoXx=wCKm&mIG_7jGk%=^V=tsWf)uo_Qc z1Sg{g;KlknKY4@9*LtiDv*|j!0Y<^)q8usw_bFt00z-^qFcY$eG@qQluuV{%`v(EE zK6We~JYeT*?>DzpFW@dN_4T0VA0tm7OTwp6%lzDta4tZ0ZH&cQM#8xYw6w1^=i1pn zTkHdBgH^6$KzB#O+4=_7IciUQI;`2w2y6>wwFwW>)I=Vg8rmK!#(|55WPK3wFgwYy zfztVgaB@)AC`pW&P;gnaII%@9CJ4y_n$O&Ru>!7|A4kO9qAam-uOCT<^N$^u#rw2eG(|9PU2Zc+jKy_3Tz(WJ~WP5b(mqvpDJH_yZ5FPM^^% zM`vF1z5tNveo>eBevrFIOnF^W{}>DWx*Ls}xXD3T;!}2vKkdAYV0#H~>qUCO(amiv ziC^0vr)s_05w&XI+aDXpyfBNtDHAbJp)ut=-LkqJfYiI8IsGY|WL@%p2 z0Ldhn+xBtYm~xRsX{_-q%uGdMm|pQ&d^NrgMf7!-t-qzVfLOG{e~j`26B_X%v^iHC zOlK{-F&No>eJOK{boG{d|8_q=V0>u2*la`pU@6enMudltPi$$m zPXzDdOIfM(0%x!fY3MmEF0`1W?EVhgV8rmqh^}MzF(m6kMrfoXE!3JQONJHE4V?kLc7!OeIK=DEFT~dO=Sp88?Y3@-{Fzlwrq8Rm-3`J&Z|6v%ktg z`seQkE4+z4^(E|C9|ZSuk0hh$H8NFdM%uo0{|gDE8sGFUF2{&KLAH`_mSo+U1ar+< z14J8_FIe-cgsrc9hZ}|c%m$#kdJRBo`t`=D;jI#p{L;$iMa|KJ`!+p^E)knfYIFuk zCEzS~0wolJ7m<`5BR=1kaTItG=${g+7bBD~N_^m-*6EO9|wy3vPNkML4v-A2X|feZSk4a-ihy zy!X^$|Xg zl9S-9kpX&$Dr##m(GYO9tWEsydw`Hl9f%SMUX3&ThY!Ku;G_1ZGKO zFlwpU`pQh#3rFu`6jQVZ^Lo)jpJT~fuh2s5@xc+oZo|FEj6;)LPW#k8S`VISDZyQe zpn1F-`d$RShS=eHqiLhrwJuPd$oG?9G|_$aO6#w(I)+o;p2N2ERCYT>_M@##bAatR za1s8oaNj}^m|F`PK7cg#OF&kwLjW($DuF5&SrlBNi0|}mz{h6$iLwB%Nf=n1GPsR2dxm;L8nam5h|jxg zI6S0b1#omuwrWDQ65UxKCAF`#y>VYB1RouX(7UoVO+xW??8oC{KpnQr>+20q~ncIxYe7K;syWpkM zj5*?8+HGLtd!X#$m`iqajFy<5Do1a-6X3nsn^Qh%T7w8Wr<9V~S|z~!Bpuj{D7tS>toXOYe1Z?6$}ez-dvD&Yjar?)=VlIF zEB1QKti*6pqr8G|qsiv@Qy9d8kkHEgey;tIH6n;@vcGtVZ9sgrG*v^d-o)8keP4O^ zXtHCH;A|#=zyE>7kA1aECCo=clj<#>O&n6a{P& zAiCBMClB`!Q*&?DFDi3u4o0d@MlahlB)sT~DO zr;aR2ToZs@T>&nVr`G-999J*+Zj!ffea+BhlhjhVs;B+#)0bo#$ORL~M|Px{#ox@H-WPopXsj%p`Gq};zS5VN46%W z5h&UQ^I~_1Pf~Do2RFW4$$I39`F+}bWG^7mWZ?#>Da5sR+D6)_Vw7Qzl4i)F z^;Bo$at_Z&RB7;g{3+-wW_u@;^ie@ePD#N0XTCD7+E)35OS418&J-c0fXc9f;g!Sg z`MoXP&*a;H=F-&j-6-9~WaFkg5XDj3H=29(m-No|Mi69rkpxB{n|v0_zsz@gsTXjkm-LTZ z*!&Vw^_am-%m@yMEP#0txCJ2*GRkUd+gK-OjuxDO_dqogP^h+`XI!ANX&IB`WBupq zkUtXhwOCN)Z|cl?)Ekf5N07X(d8G0BavMFDnHY&~!Rs#WOK-y@`qxB5x>;08^a3sb zp*zfd8v6@(;?=lc!?iVt!&tcgS6Xe$Z(i;(x{my_4`I`m3+`dATt9|nc%NOwkgQRU zz1xK`EYzQv->gbQ4m%qBjuO5GA_**t+|QvPv}ODGCw@hRzBKDkDj;b)*J-)8v$S~$ z!w938dRJb2=cxnSt>1WL%Y#j?=oBsb+|kXo$`G4f3uzlEplAPQQ^D@ae)$-_w~^Q| zBXPym?=w;T@@Wz*CR)5OMWDr9dZBT~9HLhKx<531D0lO|F?Wm(L7+7Z@~R*xd*@-- z=HdV65OLi4^9ObVJbB=#!eGmRL1ErllK?N#CqmUqA5fS>X);azO~=vZZ~Q6(_NLp> z38}HxmBLkR83MN2Y+Iz)4HY=pVU6e6MsIf<^v`#n+`aWgRE+8Rm|2QE=Z%qy-x8S_ zasbVliwW&~TK|Ky4Q%05tR9mU{rFA_M0A(%E_QzWjD$Ju;_R;22mCiT`5$u?`U!`W z!JheO<`1HY;-#%!Z-MSwz>4GfCJVQ!pPn3w8E4k{(}-wp&K#83L8uDX)FJL z&bWb;ha>)9qjUNzzb6;r^k)ZLW+PmPPn&yGd5SeK`$=im_C!PWrq47 z-$}jcQo2ELURKHlxQ_OKq01G&DrENCGWpXd)m!zSJl;z=SzT91qg{)<{C2s&=o+pn z53ct3ZIUD9y+7(+vH<*b8sAbMI0q@jP^7`vSBYYn?YQb?&4yyY9Wt&Q0XdZQxc~Q& z-_m{(XbhpYq5Tn0gS7u6_fN9<09F9~Xyto{cv^Q+K+RZH|8N6ENxMH(iC$!xIr!hi z{HASMEvEr#fPXrNb!dUOmNT+J2pXW2lo!<(cj)D)MWgE846m2>i5>( zC(kgb;RTaX#s+x!dTmdh?+aXyI3l&Xzyvec?$ zWf5N(Dcv`qUjJ5iZ`nuqDvgm=?f+uJ%JzlzsL3DlA0KCC_oJ7_HG(?IGfeLY{mGO! zTlQGrC~pX*#6oD&o`|k%aGBe?9VGV)LHQAmhu6r}(BOGt4%-&*V4>ccY}tBxk__>3 zn4NlEluF|3T0hDC0J1#oEqJ$XYfG^;=dwo|-r@X(Ws{%O>-O^$EK4{Q!H2>8YYQzc z6&44AQ&|H_1-7%6OFjF5u&u_8R1z-Y52qH*XY~G*Q)x4VoPm6jsi^tbj7l6MiBY;L z9j1FZ!@{bLhX-Lc=wf@~pL5Xz3<_o!cS?^a4y&k&o`Nh2NPq@s9WZShrx^&;>rRvHQK)xXQ{`0 zYn;|b#KJ~|;mHvNspRL-(ipHx5PX@h}TP+ zYqv8yw5-3mbOXH{8^I54*x0@9BL@@h){4EJsQq z$hp`%rQalT*TPY-XW(mJI?T&`lqiBA6fn`p{m9j(Q(O+T(f;Vdi!EO3l%@Sa(uJVm z{=C37=_>we_zoc$ROihqfCS=b#8!Qh#pPy-+~YQvrGd0rv@x?$R9@==;(u-frg9O zKg_SE&+o+`%fMg$MAhVes5?m1Tc z1>IsVU~n-Q5M(Y>c;?R~(&D(HNO3Onv>6!0-dn_Jpax}g;K>mIf%paP{H&(h!1x+x z!MyFNuc$$sTfBnl!<57?ub=+CYiz|~F8|R0GI%ovx$kPlF@5?NyH|d!7e)CHBisEs z{k@#yO7b3b)a*KVa(S*S(arIX$;qw#7Mel0SWzeK_~I7nDQKvaX#*!?9U+ zOLrzf`EzCid}!vZY5-`2*T3JrlGCXcO_*c$M~#oz;IC9Zcbef}++S*vxM!ze1Pihx zXPM9?QRH+1O)si#B+9{tp2lkVn^Dsl)6t2V9XxPCW;iQ_%HdbC^dH0(wDF|l0_p`xMAaQ5b=C(IctE4W&viw!H*132Q#4cfNu9$fPUtm&J2b~wJL{E z{e~vI?YfRT z)a3*oe+a6g?X1ySqftPfqRr+w_B2_=_hRX#M>djvJ$sCMz~Y^Zl`o+DqNvbplR&{j zp-GAzZK3gZSq@jl!1vmvKMPoiyw>2LDwCE|u&DwVN=n~D1YzkDq{9D6UUxduqhNhJ zLr5O=?T2cVZ_RL&Al_+sdfBC^?&YbRMyvKbNmYdJ<|tgi;~aa5QhwYijVkuwPte@W zRk$oH{PS8YEk&^dlvAZ`eNhrJsqM-9VxuGYy0c=LqkNmlfA3qh+PCLhz%w~37rm{) zVk4@fkyCL5mHX1C-r_nZQ>0Zd{Qez%f8GyNSnymc3huvxX7{ya9l(7J5#n1)2~N@8 zSZ)WY%aD%`I&fa1VC}-m6~cY$YVZY0rjRh6Oc&Z|whq3hUbz zyemhujimaAy^bD}Npw3ZqE7B4vFphBFurdg85AWa?1v+&$MfK&I%f1~65zca6&%5I zP4g=a-Oh(0Y9vthE+U=g1+6NIz||fFHrl%h!N)%1zbALKfUpJfB-b>Rjy-=-V6(9%+kxI#DMue0I!jPBT0LUh4u?3P+oHQh>mUO`Eqmfu~ls*%A z+bH!R@~g&(=*3j?XI%Mtd)+Sr{30k@16y7RPOwyGIGw$a>=?bciE+#t$#b8wdSRwY zs!o1hlC39cc`&VT#YRu#&db`r2A+)Tv+oN;dgF0???e75QSI5m3Px;JOHqxQkc~xW z?>3Tr%Fij0Sa7Q(c@wW364^Bq<0!CJRD*u60CpM~=+DRqrm{x3aDg8n2)Yq~R}ZggXZP{Oi2Rzg9pn#b^^vEjQ9Px20&ZinWWhFP=oPE`Ky!F9vx|U)2 z{Ok1eE#^6_e~Wn{c8Yl;aqy%FsaKIZ4cTTt{zzb`<5n1&nS69-`ooH*xgJAEBo;jR z`vL{##Jg~@G#u;%(6{P>o^)}sdZ~6gZAJD?azgZa;D6~8^>BTxtrnNN*T=EOQi0y~ zK^G7a>Sb_L2ze4hk@H-TtzCy}gr!BpxYMn1hNL@4jQmSwR@UBkYM7haOE+Alr}xM5 zB8{YlNW}st*lS6Is=giE9reXt{bW>OCiE^Twv<9J*bENOs=wtVYHlx(=W+JIX zOkCL6q$J3j1!$)(sLJnarj-Qrus`d9$afi);nKJ5+V8#miDMug}AOD??=JuBoT&8ll8` zclUSSUd-prN;DNVoh$OT`Cb)Cz=hnWiejXVoKH@&0dB>Ehq+&f%bU;=Xl?(Rv6GPl|{@$AKa`k{Nu7NW)o zlXePM)g2P+w%r|o!p84cGRKa`|2bt{bUQM78I-IJeSxGn&S{p`w2q!F-*1`1 z9r!XE8(s|B9_M-bDUf6}7qUmC099L`W;40bs3;V=B6_*njs-!_ze)5{4isZ|8=)FV zC*9b!$_?q?`a=qneT6+c+%*dZhxQoUUAhb@p8s=4E@y^?P*h%#Eyvp_>pbglFR|gJ z=Q2&eX#24|*gB}(UmOKxmr07fV?Zp}y7}eXr^kXnO_#4amne90IQ`EYaF%${z|mGc zhxg0JL^x5c*i}L(Y5YI12=RYo>FzP!6H3hI9QTz^I1lzIIt8*NRcGf5JQ= zq&~Rw<945H{v1KU^VzsRCX@?w1&x- z89q#;c)+|$k%-4>yPk!tz$3X+!8`s`${_%CG)2Iz@;Q(@DAudT>sQ__6P&9;dGhM!ks2`ncGW{}X(IbOJ z6mDFPglg6*cYm*#d#bH8*dyJz;xuyEtd*pv7f#zIGQmNBmId zJkN-s`Cu!&>wM-2@AhXDZib%NN|7VXyXzZWcdyhG=b$X;`FkF&SxN1X#v8RY|H<`g zC^87;zPy~i*xTJD!=D)Q`TIwT$cp>0g@$^6Vn3Uh7=J;5?W_yb_`k{ms&}q-ain@u zEPzEHmrybr<+qb!GMrZfH8f(#15hH>iqmOLU%mM_xgYgB~tn{=?ivkzfxakT5j zv#1?b{dGV~Io`;+{z{)_{PPI)-L2+T6(6|(fR5fwDLLKJ7INDC{!81{woveO`O)-z+(83o=QzBGik3Y7Irn~u?iZ)m}$P`@at0bw#t7>toY#}L`WAOn(tMwd;=8Oy0UhQ z<$hK_^9q^$tYnabiy;4-W?b4&ll6oGQ|YzdUV2EI_HtPYxH;QEy0-Xm-QTav0{D1^ zddX-^j_wo7@n!P_Wu63|;%{}%C7ka17N^};bde}YNEB5N>UyfgkMxab3P3`Wj$T{Y zw~#5ut^*=I<6MifZD*ifY*@x=n{Gz7i`-zyR&&h75cQrZsH6gt$t#uVFq6J8Q6w)p zITGW-P2aVnWHXp%LA9~tRUolN`}$aQHN&r2vG?$sPz*c`!JAeqmL%;b?1`i_bwZyW zMHrr-4pxnnG__%9;Gm8aGL4{X1;AIpB`rvxN|=siz0>CpLlGWcnXI}DCFZ6>UqcFw z7iYCu9wfR{7NHU9NlSh$?57)_HiMf!@2BV{hB~R&@e}f$`AO0Z!&8@U!)Nuvudqyx zpy{2{_e}nTeJC5I93L9GRFuizc}bJqey_L{3?k^*HW=@Q>R5idx{}}|za`STk=K-`W z5w^CBVqoCqOz-Vd5C7T_s?CH=uUM;Qv=|$Wtkh*@t^!qN}ZAiE5B2|02WJ zw=vLWO1SIhYX|2yqx7ZLujwO6X|q_lSH$8*?i6x4CbHUJdt@i`+l1GqvR@vwP=bzX z5~cs2wfR6>h*(G+y*+aAAZ)Tzi#Me$EYI_u?%c7Nw(TS4Yy>$9l^rP0kuGgy9uTOS zoWG~Sh!GBWCrJ)LO63OfozUha`e9kz9!%SezX0O1qHZY*#`uuZ76oF1Be5e8yR|hH zv0(LYy>RI{ya3}3sqqjN;Vm#_v48`M%{=mUk6ph$@_L&h+Nw$VM`FPdrk-U%V#)~P z+okr2FN<-JHE7e7*7ApAG3U8TTdQAAmvS_6>A%gf9ksH(TYn(WQ>D1fN08h5YBg&q z>&7;9Cwnct2;&X+Ptvstc<>*UcOYsI2qN*f0wiki{I^E>zpF%8tQb=0gI`w@Ol7Au zZu+D|$(E4s-PaB2Fs%N=Uo{V{t&H7!1-!O{INR{HcwaQsXH21p0}-se7a0yTO$H@y zYVIk*lD}p!WivF3Vg&CCwQnW9X4@MF2^d`q+jbbUkua3A%lhiWTk-d@e6 zhgs)j|8<2mJJ=c%u1aRN1lT6}a~`A z4r#|qPX zZs>5xn0gh-c`5t@gNitkw}9?%Y~AwvE9qaSmMOX%ANrnH>eL9x39_i=2u?BOS{N17 zgjS8{!T)?j!Hoq-1wyEQh(34#2FRQ`@zqd44z+=7!1@-~bm~s=DN#!Q0@|BFx+zEb z5w0vQrHxoDB>M01hz4=Dm}`yyXzBdlG9dh~>_`JWP;-aQTh+_&fpQc~tA_ z*-B!(Kl$M4aONFjd#G;r-Se|aKeeI+9fDI;n_W&($?)ChZ#;vplpoN5pw6U-d?im; zf$*WuL-&kK4u)0D_q7d)+5CTmek7v^-~`P*6^4N-z~djQ(%7ptO`S6wLX1p1MrahH zbXpb-=Dp2a+779N{mi*&&F0HoH=O_nK0kr_k#99Wp`5ph4<*WbAvs8>&Sg0HN(pjZ zojsNGZ$3!}5hx8^vWHrb0@8@b!CmJP&&&2qi-sTd=Mo8&6Th^k>iYB2nV6M!6;V#g z3D&fi;G?h}ajf{Fq{E?~6Cd>4FISO3xN7J)b>5E|Q!<8MZ@2^!Hagod4isNMGnXpK z59Yz^arzLT+8mk_kkQ5L@UmRSoqKWKb|NVZpG*7fGKXo#Vsv8M*o9M(>9{Y(!Wgt> zJ9Yf0dzgBKEQ(?;pCvcsz@}9sG=<7ll`?}JIZ?rf(jB#xMRl_&2*80obTrALLr8ueDG*O5bB#itKXV3dU=w=S=gTjgGx*~qmYWCI8i*Uy{iH) zCn!IOV_ofIczAc@v-$v&kJ7myLmKHLc1I8CrXKMf|=GZ3Tf2N zhfSITrb{pT($7Bn!^J>mE*iT9mDv+9Hz|-bO(Dl3zxgUE0zto-NZvEPgtD>=rD{L^J_kaX{)PYPjzXYr?Bz79lW z(62YD|17qokEEiShY$RA)*(xhmle&lwH7r$SEm~A%Y!iqhG637<_$zYMBjnrr>ye; zXGR}U-dfMlo&F++#uaU|-U7(`|J54dmB3(&`iGsz5H~1_1l)?{46>4M-uPi>8}=o` z4IW!23wHbH<-ZXS*IYllIvr9)DQ0cDo3x>5Xg8*(ZW!_ui6L%;N~)*k&iO(^(}T7| zE=7n)0iS(@Om5FdM?v(@SyANMF{2;};Nm?xgg5Kk$0Zy?4h{e;XJe6P7hMBcxSXi! z^FQ%l24Dm_XPer5ev36qOC}z9UHp<*{D;+F*lbAmH&ymd<;SwuDXL`Ntoh%e$9rDh zhxZEdA67kyeI#mPSSKHYalB0=?TpLf;tG?;FBya+S zj2N1+;hKH$?Q2h=Ri(HD(wCM~vJGLIEsJBuYNYVzuaYUmJZ;}Sndb}93{qC;6Rde< z6@Sehp@Q-&|6$pDect#N8C;7cbc-#X$T`G3EM197wOu!Jpxtm%>x8RuVc5sJJ$QHQ zIJjH}fO!f}uC)A;CaHJ4qM=Lon8Iy85r;|oZnu@2OKo~W zl8(yw7+1U2wvq_o(bz8Tek_2E|C8=8BlSbrWrTIH1M=`*A(ypJ%&+5>B1?$X6{&&^ zIr!jO{BQz4CVAvHKN~pSj65y$r{u8`92BpFNc0}~S6|ys5~J>zI`a#n!?bC@Vbsfe z%prs93}D4)E7WD$6&1K+Y-mFK7ubm8TGt3Zg@zh!5=8odaRn!aHJfb(GtH7xR zbQX&r$U;)sQ4ZyFOzd)=Y*_jBm0rllV7gi`!?fq*M&!WPz8YU$V?9lwY*8QLb|nr7 zjP}IalL(E8%ldXBFKx;cREWKm^>Km}oI^JJmxSH1)96zGoY$tml-Zu+7XuwW!k&SD zdUWFQS9AXK`jj^#^VJ#5K${cYkE`Iy3J|4bz1?BKNPvV60)f!~k-j z>sNf0_gMZq(&4-7Xckgf5f~l|UwpObg_s00;N6{xLz|+bT8^!JUUwgzP-Vsb^;yk zOWf;x@C~10hY$A*5{iUD@((>51m*mNfv+?vs4Tl zDEg9&>B>pw6dGx!D*)HeoakL6b(qyC6|f90_(i8xxb-;odv6wjEH-rsc7%)!rEzQO zK^@CIgDA?n*!qknm66e|$VE=IbFS=twuSj&>LizvIndE$E-7%y+}GZu zh=ufa*)>i8%Shx$^IcGCh^*9oyP+;fHmvMNZ{nFZcY|%qz`(mWFmiz2v;=H2Zvd`7 zcom#E7g!txEj+=ZAT>0~eLuqy!XNV5Z1Y=PPX#eEkM%NBr1(UCad9p`3%24eCcWUD zWTy3Nb0*iHi=0#N<#Kmbf{)ud`0r1Xx1$GUMgoa@OxzL7i_0TXAL&y)>lV!X@l6h* zLSbTQ@R&Q8s6jRUArFt?bGiMYJu2&P&DW(}Zd${yd8>8g;9Njky`oG;TQ#0BA(ZUt zTz-oD!`)T)4)IXi0fsn|&gD4?CWgZL;6_uJ$gq6|4xu9;_7|>;$xht0{68L_l*pXR)TISZ-&x!<)Z%{=Un9#09_Tmt1Z z4ZzWXAd%g<%~=A6ckfXt`}aKUDN-aAuDVQ#AsUj z5mua4{geFtIr7uOg=)1-T?wgcWzDYQ{fG3@J%iBQt2h_0Rc7fOS zfb+$XAh79$y*@5N(KgM2Ma)1bWrX=m9Ny2D{mt0!{$Q#STCmFOp#3U$kW|j(+J>Ru z2ZGp-_n8y*ENQ;&7ZW~Z*)W&)wX+9+W6JcTuk^5np>o3Io@?Gw+%L^2tV(?o2fHCO+XRfW(blkH)_-^-6hwx!ntY035WcslQ>|%XW zFWbpO8quR5t8E<;wSOYZR^HbykZhcamZtejk-6}u7*lg@d#4bPFR zYMX!wlOFLQmW90WGu8HIwCzGP>jxCfWp&Zz6C}A1bXSV<2sDE*bf$G<(8lflodJS{ zg$2S#MA^tZ#QP9~lN??bgb5$cy3j^z zmNadh9*p3&md%9n55Y@Ft{BK+pct$oSr20Rv_iD9(@tP!p9y_=xx=jI zH8h0ehNLCMiL0yQRFMnIqvQu#5wXG$$)S_)^m`yBJhpGYy0nLWjx40)m(RD$(ac`P zGLWKbo~QV}JrPI#j4xJI7D{<5S=Fdiv^>r06u+?%9-0sTGt6T|fGvE8{o?o8xC`j^ z+570ZH-lWJSz{r1`2CgavIE}>x?F~qm?I_sg*l0GN|ky?233^+M}Jca^`1C^q-^Q( z@uc+6EBI+Twv^WPUuPsOa?*p^^asBiF2J&K#OB|n_qo%K=$)$jckQ&aQ`oVSg^v4l z<@k8)7Dwb0dlIesOGgCHh(4Nk<{4uyweXd#x_4c5?sXnhLCPM> zC%EH$u|CXk8B>^s9Ujw@qS_zSPnjCz+FT=WJWUk^3!3g@Dmckedl+RD-6a<>6pb;O zokS>5iG0hcSiyb&)34-=DN{SgNW<U6Nlk?L&RX5yJq>gOm zTA|m}ycWTc&5+y z2yXg&&MOp5ek6?SWy)tHE>GMM{(HTxVY@J~*hX2B?i2z>I|{`%Wxl?;%R%c1cuIDF z!6Zqyf&vg#IImsZxdNX4e%`^XqkSgTg~+?bg&O3-2$=X#N&BNzD2RR9T6>4wLv>UE zV;`m`h3Sqmxo^be97qD1!FAh*@Y#q=Rje%IJrOJPupnz^as&;@_mMWW#+z{o zW_1eV_TEbh+uHalw6Km=ync7n!U>>ad*T5BTBM*Knmq~%8mLF&aVWh=uD5sB(@%2?&lLl52X6kBs0cd0dHwIueijp;wlY0Cgp3cEN?yhUw6Wg}c*tTuk zPGdGsqsDe7b{gAuCT?ssMq_-rpZ7SvKVkN7&)N&;b*%?>2N_5X*Z!I5;p@E%`S5MT zz@5nt9&g@V>$M=R-_AGA!P5~~AmQFm@c8xk5HNd5X;B2*Xn@F9hsortH4iUT9Ey5C z#SoKLU461w@=_g%riKYGN0v5tlCb<%g;Jz`;K?lYI&fj3q8Let%)KSEa8V zEA6-G=ZIy!pdeN|V7WEe%KJf!I4FZWiqUV~qbr+43F#GMZyY@kQeDSOklA$UOd2d~ zyGr-q;9AzJud`-g!x-UV+>DLbDw%fZE+5n%-&L>i5YvVUD0U%K=T|POF}Mp^2+Hdg zP&sVYXRz!=wm4F*;5TQ1;nec7I85_+g?kH!G;@UfeK1%ESNuT2V(#4`tFyQ?-=;w5 zs1$4uQHwsthr%e>_qdiCk|!qbp@LeaOQ>{p^7P2(1qS+W0{IoNf@yi?sU;H4nnVeb zTl&pJ@5w`Y3t&E5Nz}rk%TshDE3%ySUXD12Lts#NPYMv)etKHU#`naZ-n>oQ&qcxq`Fnkb%92hm9R1ce7DO@i(NVvxKr z-uEdCj0{Ze*R@^7I=i^#NSf%)y#*EBQopLJST!xYBRdkwKc+_7G)Fy1{`Wi`{= z*D&*oN=1z6oz5Wh6!CPA-XqqRF0fNciZDdwFIFWBuz_KIo25h(; zZ*=&sB~xA-a%+XG)zXwxaXQ^^r}AU|t8dp1`#}_@ekt*1SihqbFPS#!Fv(4B-$d+n zKN#*!V~)Ln&)EUL+16|K_FdAVDK70`jSEYvA42z^ie7hVt)yF8V+C?kc@zyJNk|?$ ztFY^8L=4M^KDk?FJ$Ln$pLp~D-ZcFl@jpS=4kF}ToIRyIx@lg7X}6`v+0xQzl_m0; zVZ0Ga1deh4KEkk|{hjEkf_kA-uN+1*=kHv!1XpKh#^sXx&vxuP`IItiE)!nNO{QET zcNCb0^1%PAMUWsw?`tY#=~2_1Ye-Kv3i%}QA$<{$!WjYELw{svDK;{EBqxSLot8`Lh^4zMR=6A3~teV{p<(F+dnh+ze z{`gC`?OV@zNnDS*BK4SX@tph|vmd-8OXv7t!MX+P8kQ)}e&HExRt031EuA%S_X^6e zZJaf)ex2S*#;6ak1L+%EF|dS+;>Lepa|y7!N|=K^f~Gz6mMWp13VFe{_mj_n-il~v zgw~_dDXY?IpO+(WVC??fD=M0zFazP`qkR1aR2$?5BfGXD%yK*CgGoLw#^V>P2A#{-6bYw%e_$D*{M)gt=zO1;IhoY)cJqX1p)^L--(csVWtxhylPn% za$8>pYlC0D$Np@9xmVDB@Bgo1Aczvef*CeqMvB~Eo8x|M{fuDn{u>z;gKIwo480fl zP}}6GiKFN(D?I>8KRfL9d+Y(Tu^3oh;dt#l(x5fiRHiFPHtK={{l379>^I*LhFCcY zZR%bqe>{myMk5IOwJI?7$SYl{J;~`Gmpz$kLa8j>@K-zyEs{EGY1vZN61ESgS=T1S zQCD1M7qI5r`-HgW%}%iWOG|Lfz*Nq?w*puJG|s#Itbn$l_U*0E5630D$^jEb{yV*> z?=?aKNnoNkJy7G8XAUA3@%rW-x^43A*|3}?plb;&Cnl*{N5`W?xkPbX>5f8#8=%VN!8^&?Y`|hLl%k!*UGWspd=Y_8aft3)8SHr6(+pVVJ2* zqpr!?U;e;{H%A<2*WvoWBA7quouY$VAhXeLq1sc4eUTS`sP`;}27-!V z$*FD5D_6NYXGP*pOMaefS{mwDTaT{#^n#t#qgJQjp$F0^YaIq_8P=O1C!*a6%uD!{ zE&clt+V`IuVYi{`z~~P@g9n7 zh`>dlz(FM|W}Btfv%cWk-WQxYN=tdSU+ITJj9B6XWVkFm<->ttcR=FDKPquO^_?3` z(Tl@H;!O3CWuIB}_AOmwLdR!|vTWHr94fR>#feR3t8*LbLQ$zj3RZBoDn|qAhPHec z>$APwHcGYI>;8GQL-hbedDbhT32^UGpVtpsRi8dYxil0<49K6Gijx8CO@VR^VlxkT2=H-&)z;cel z;(fmVY#ZbK9MX41iYT6(rH98V*t7r=Z?^rmTuf{Ud{|$(X8z65hmNyJMHbjv#x*93 zi~wy`$jw34=KPb|?8PHvR6%#8FkJBuVf~W<)_@mqaQgOp*a#Cpxiz27w+8jZ$MK=o zf~M3r6IZy~u(9^&MB)jPJ$sj9K4QiRtXruW6<;KX02{{t=yCd_ibJ(Vs|d0#Zv3( zy-XjFKL1==kenRYS=*ayGTv;9>R0Yg<1dboq0og9cF_Ov3pF9^CZDVOog3 zV#%5JfpD+=$emVP$YmPq;ugR!yX)jjyZQW{nhkoNtDX?U7Vxyh#QuLMxoLy3BF^mrW6deW4yQ3ij&edxn9>lilSsoLL%S9qhlFv<30h zl~NKCsL$)pksCiCR9cFLA1ndBH=<`mT8s-OkVH^Ehx_t7G&^Po_oaUWa%O<`V`=2!GOD> z><;N*S$z(UaA)1mGy4&A*A}`9EQJHD=6TSjL~paZ?v$Vb)(ULB5rh`8(?yU=O^0fx zX3Vb1-^*YTB>ny$01gBgT=k)%dxbg-o=>fHe+Urs|DA{_?sB=M*cyD~>=N6`KlDceXe5dRZae$Z1E~Z4E!j>q;v9npJ?s2=rJ#Q2Z8ld1HlNd<{q<0|RRF zbm{x4S=j-hc?0&&(^ZQyDri3AORU4{;YLD3MFg|I?rMeTPqaU16a_d7Xmw`K2Wt83 zuf(Y*5uLt`E24b;;{S2%f5;QSsR`#PyiJ&P!l5Vw>Sm@w@!d=4&27ZM!9 ze%#@pd|%fPh7(QZA>|OwX%B7KU;!CIn|GG*=pl?|Pbfr>$kR%YXLvXxk;)Sziq`E7 z&cZWH4ZV5@PjP)%7zF1bG}QNd;&NZsLDAQN8jfFu-w=Q}(;b$hserBAj>p#X6 z;~`kZg_@#iIcSJ1Xq=ed!Jfsmx7|i=p}N60=Q2lC)4Nzr83s*)6Ujcgx7y?E%W?jw zfcBxXH?s^MAY)zN#RwCdJ)jOIQh%*0i^1O7M$fpVobriYzZJqU{`vhDJ;2@7QnS5nr9_yK~N~I}tn481ph>`bckoM(iJnYMXCU@>D8X!t?bKttX@P1_XI_5-2_2;fT zkqMnsL&ykRl~6OC?9E`fj1@s7#xYv6BL&Y`Yc;* zc;d;#vQk_V7+SmQo?x;83qS-Z-R4-ruTuI*L^Kz3%j&k_0GMeB{_5C z2^^>%i1+YVsEDmfGM31)*@>~(@p~;QC?GO(_4IGl3-iHs`>Hw1`OtbJ!2yEJ(2R{L z7)9)LEv-s0f(&y}4VQxRP_2YEnBz>ND-Z;l&T|DKfFBHF$#cM3v*PkbBEu_gU!PHu zAbFrGDa(@Hb6;}WgC$v1!u7OwsqbRSnHh3QKflN-%aktu^a=l483D?>`o+|{82w-D zp0BQ~o+oNp@D6ms=$r%!e(%&3caStCYayDYRjUUI@x2wI!H$aDf65Mu}rlG-Ve2#upgNxOlLa{}knm zU;H0lQdEi6^-3-|jc37S^CD3xmx_2$$T{{4Y@SPwP6ceNk;ersrco_$C5NO&9S zKzfL>h-u$u?!6iu6v>itZTJy%TXMT zJYsSt%?{=dEVGF@3i(rEu zqawIsgzWxE1<0#rpO`cSlV5VXBK`Q|9~5rlK+QCjPzFBh2Rh!W>plA zLKOsxr6p!C0ZqpQC56v?_koE>!uRogRJg)+T-V$G;L$u7QQSx^Q6Ws4;Z@1Zr;-n0 z^NrldDAa@?+6O~F$vt2ZHHRsMA_mjd7SYP15V(8RVa-dY02c#pu$wHq8QA)?p5+ZW zj^vU`)u5~YV5DZ$QB+@q=S3(Xhl?H_I1Zf5ZWUS{;*Z&jHaE>Gwp0!* zLQkOMwqR5EKjW%y1cbXw7QNIR^wD~rOB6F|3~uUBoy<5v$hpCiTO&4`7hWz+G0~-F z%w~(!7HZ`4!VqGvQF60UFD&O3OGge-mWY`5RYgM5>32gmBv2exx49dMUjA=xdqr+@ zED;#C53m^-SZ<#!xg_){A#rQIX!2c!ruqw+i|tcaozh;!KIqAC;&E~VRWsQn_S_2( zxt}!r3W3|ifEO4XA%@z(s~(@{uUn;EH_w79L32v2uZBVn#XPSz^!ZtwSBVZ!jGpDr zS#`H{4lRj7jMb4K|IiS8e!iaRbJd9xsv;4 ztfK)IHmuzp%vw=GM#r89_KxZ#9`#dt`kB~JZ*fEh4<$Um^ug~G|IYCEstGII^w z!_1O{Zx++XAg}7tz68J~f%0hD)IjHEntkwMaOU1xEO1;R$7XxUpyu4)d}j0PX+~da zop@a2hme4)(C=hFMvqv7jIcn@H$IWTFRA%b(-)*O*NiSa7Dh^0Y&?f@-TIIp-S^Am z6!RyQ8tqb7Ywh87%BtF+kJ07`+E0!EA0WzDGyw(XmMtz8YyrwZT%SB#RyZ5zj_h1Kovq?GnH>< z_X@;%5+t8DuMk;;Jaq$DJ=))7(VOMe`3`pP6lwbEwNPRmP927|f>>-RoM$HfYN%_( zqGFu4U}_**wskScpox^jMslS10f+%`v{0Pgh>FknTjnW`3Wm)E&l$yEY3GTC7l*G0 zj_C1%%?RJ68lmt|Y*6?#SaRPSWA{LRmdtnR4joZQ^adG`ZH{i5KdgFGC-47nkyv09ql=Ldf%q;9HNLMJ&{%qb@zEjTMz$Zb9sD z5q+rpDLfH&wGWEUU?TypS7M2H06ugZDxMLPqnolp(^Kl08sr9x%FJ@V0OQ|78)eD* zuTL+S*N>-To{ChRek^U?xv1(!#=$!VCxPLL{p}`wUB9)ma4rGsuU(W^iL^CwojXR&A;NSWLpsv7U{>04!W|M!G$G^N} z$hH0eV|0x00^VwFtJc-5#kr!+qlu~!gy(*<6oc3(nOfya0}ke#`t*H;Yu|+~vr93` z2Ugs8O7pNJ=j&l%fxmH_!1A$RO95||Z>;Dx$p&Y8yiZRP^660YKZDe2$j`!_3%3RI zr-uEuq!VKT6*Q7dv(mjs>!In-kcdzc%L+$=E{i9YXI6@ua?e`R7?Ie>1w8$yPL;p^ z@YnY@173Y~kvs$;Aw->3zg0x0Q&YlzijfEKf5aw~M=wjC{mJZx>AFvqc%^h%k!!Vf z^0I2VrOW$0_MRF|TqiQxLDYRmvd&u-&OJC5l0*)`d~tA*5-B;21zVbP#H-=4iGXGO zbx4p&-~fZ4Amc@Nn4~)gvCm2q^QUzksTbz^`a4--*EO>uZbHxf@!C6I$TCrKUR}EX zQz3SF_KiDvf1Wz!7rJNtm|q@M|FB2z~rs$sNj4-wK$?3z?yMmAGcrg{9} zt~cckP&omtDdvv@9lqp8`eUKn1?ZJ|)y=7Cv<*8Ythw~v%KZ?U^E6d7Y;h-v3!Kjw z9=RCGC0z3fhODK4PNq!MY&Z&VA(Y3IbX9rb#0t^+@LuwpCJtCY*gTJrdP9*C zU(JtGD86g%>IVU+Xp;Ksn_Q}_e*(?$P9mF}B5s|{pGAt`F&`7;Ll zZvm$dyqAax!bxQmfv+=z*TRPmIg!tDNUkf1ZAKbih7Z|R1)-qc@Jn6`3q(pMszo!V z*_daS%69Z;Dx#rDd?$C03w9tqpXti#lDW?-US3ZGyQaUuoV`ey+$P8C?MX zX=%d&M6cb1n?4@O%JJc+JyqolW}zHPz_Mw^j~vj5zfC;Y_(`E+{{owDjT<*AqbXe$ zhzu3-uQD3V(MS{3j^|{c5Q#5)ly(s#u0!x3?}ioJ#`<&iV1+5fdBPOwpqSSLg=xmc z%_CNoBf`QF*@>GTf~nD84db`xxcL#&sKB%d0aw`QhJ`veuA?8yyAjHCczh*2SvU0G zys-8P5lP;?Q8MCE^^L9V(+=m)1KiL?bx24+Va76bS;g=poP$F*D`F$4KaAO;K90~h zE-GDCch8)dJvfol(1b0Q^rR{CFVe5AU6I|%hOmAE$8==P`hKv z6Fs2Ox^$P0?X*X0$6UHn8}p2{k|is;*gUfRGAOVB22zJ7+ai%|#4vk%=XdUVjp4@u zaQlBB1r;*nq&UO2&2Ae_BLW!sXBPR(QcQ=45|&)1P^r|kN4M-;?O2R?uc5GR@Wm?U zajO+;aT-B&(wCsoWHx!lHe=BEwL0ji9S;FKU7cwIdI*u*LICp)HDe`96ZU=@d1ASW zMDJsRz|i*Yhw!DU^iNDp8QBV^RLL!-I}(yes2a|*28QEb@cw+o2Jul8YQ|P`HSkm5 zyl%Ppj+4*1|Hk)i`V7Sf44^^`iQ<~JoNV&X$7E-_z#jJ#!uQb>t<>Y>9SSp;4W;(% zb+~?T|LpdvGXLWZjURhlJ%)=G3P(#sM{W4^~&(Cz}xUt)s8u>yKPi#|`ED;)b3 z^4(gzE(`5%71!k*$isHU^!tHUf3hU{;hcAQqOlUgp?OXMnjd)8^Y3 z`%AC$H5Cl`%>t_FD|FKu{Y%gH{15FOs|0pjtx)n}>Qb)kMDIk^Len6B|2#WW84CY1 zuk-tiNjFd4R1$=6>GWg}HZ>5r+5{reJ0)1wcdpqcl%xFIb$sgjwqCHkn&-Le+&u34o=&oHhVB-L+t9KrCXD~K*|(G(#1 zn2$R*reV5da{B71UNEo|GUCemDQfjXeRzS8&M9qq-S6B}ALgta=At&>`KS--{1jBP z;=OlMJj-6JrbH!+RG*N^k^?uWBBs0+hiWSL0l1YNd;iEs;LR7#$FPhT;s)zTayV-- zUW>+}ow`VxG&i^wF?NKcME+7+HdwsZY~DgV;b zALByPhc$&?#)l?+TP=IZC)vhRd9!b4=108K8lHa$8CqbDm=VKIN|wa%kp&G3GvBzgTnhO@_qagulu-2WwnzArE^eJe)r||G{u(eTEr9 zbf&Ib0|UePMio~j-ObbiKU-7`cFf1IW?GLx1+z%gq~e&|4YsIg-kHIJij~5BZB)+R zHMhVLGwzUsw;1R@z7{E8!PnFA{N)q)f0t_SZ>em8#|69C$>3{JNPrk$Q?#YyKPykp z7$zbLoG`5Pr9pGT{Htk+?PBh&h)E=AbW)|5w_X23(11T1qnqt1hk107eX?U#R$tAZ zzcswpHSXu<0b_BhNjSdLNRB`I_#^0_EW5>+2|tlOrb*qpV0qwhfBy#cq z2l5TRL?fSvzE7CTn$&(9{3A_A@*t@|(c^*M_<<*);G>~_XGB{sUTL1l?ANXm9WkC& zYmRo-*OS|RYXQUw;mspc)IGe#qy2F{*>V&-n0F$)1;&oce{(jEZvtiF#_O8#O|^_CW$#Gr(K zFTS5QZu<`jjY;qc_{~J^ZpB4lsx#PbaOXA4@@tOfmGgqJFAlLkiSCo^LUHf={Ji7=hG?Hqr^)D(KALJg*2<@!~_85G-9zVH_nl7Tbd*s64z2Dv(A zxW+|bj4y>f<7i|-CgdlhcGU-yrD}c=JhlzKwVCi=SfB$zV8b#_IX$!DtQfDILZ2|S z^m&N-gqZjm#QJi+(t#2n^Bf{MJFI5I^7zSNjbZ7`sNeYutcs#@2 zU^xn?IW&axV|!SFXh_!rgV7ACI>sr^-deR`#AEhdYbTv4A= z(rK{z5K5mpizF4Tb|WdtV8+OADZDoMd!;R0BrC2xP{IUqmDA@D+h7Cb`@=TO2LrfW zE+IpqX*$xMn@Zb_AFOV#7c)dkqt%mnv9{{^L57Aa^L1b%Wnn3_^1zEiEc4^2XVfiL z0BM!b#WJmwt~E9bfk<>SzP%N)FMAL^BFJ>WQul8({aAgZICAqft6=02nGw0B=BdxP zv+%`Y5F^drLQCtLy2_frH?f(ili7wpiG;gR?8{*}w@&QG{GT5kE?+i?_A6gHjgVir zJU-#5MFoii%JtkgRn2?snC79Z-|Qm!5y~*v{@8AWCm{T`Sk3NU&t(-h+yX(Dg%l0) zCRFw(XuZVbY=SULzE?_iqO`^js->(5}CCMr%sZof2{#fw$u)`PP*$Lqn$9NQ%lTV*7a0=|);y_mype7ysN^`5D z{xM3;h#87ZO9Z`R08K5Dbh#3Rz>`CT@m*1M$g*PG1o#z4(Y>3gX%ae6rJ6%HhF@&ne=2VH!a14rLWIrs6U*rI zd&)wZzhY?3Dzf+Q?uD?!%?Z_V+!uRZZ10)E?9d?LC4&5q)>3gIF%vAJ@93S#0OeEK znA5_E9hIW1(0W36)e3CP-gp%48tqy$w#33vw5N~(%h=!gULL=m=Q*dBb#8XsymZw1 z>=KvSSNVfD!!u}Lhqa)b=J_MYR`qM(y39=`yhEoIqU=O{hysa z5+$#Cz6<@AG^&01vhJ+e**KIiMw6gH-t0_DUQ>j4Hv(%yB5lpB%v~FNvDfdoiX#-L zlP?qqM3{SGkNWU(v0Dz|7YA+B$5U?zjp z0F*tfZ*TbYQ^Nt_Hyn{y0Ku;P+Ew*+ohJDeutv_C@eo^gV&wt|ADO>mS8~$TD;_j! zytP8tVd^Z@#?sg%_R$iO7-nM{KFoVr|2aU_r@ z={H}`uG{EWd>FV!g%Snxk&(dQoLeLChWcF4JNH5D8~pJIKk4s+1r zVLPy=LJsun`xbTZVdp#cfDvr+oI&4GGoq3}Im9+tt2uVmJrTnnpU9S@7E6#p|6QUs z{hPHYb?~Jhhc0YV28VA=tuDLzY7pH0#LzDrTBM z8dnvkave+?6^>bKaw9ngMGd;bxj@CLp>{58$)nENO|gSXvjUYq@IEL>N`Nrv%;UL{ z3BNfSSGu$r@L=tJyvM@@8H~b!BLlARrUR0g#e8v*;OZg7TkIQyiCqU$8*W{F$fQC@ zgrr^*lwgW!jG@PeQ|5L^@2o82ese!b2atCLg>Ql!EiDHCdKVBq-N!fwX7WrRva^`L zT^v_43%(PwzYf(ohyx-Xz$t**D~ay|hs_Em?VxGX8rjOQ7`#2K8)l4i9~=V!FW@bl z16;(s8wmdRs_gs%4-0Shr_+ySaIo_ccT2zr!e|(*#~1#T!5Xwm_$U0*q(=8T8nK)w z5(#fP!5kHAIyFd}w0?kqK4AdOZX__02w3l|5{%rDg^)6%3$)G;{RW3>ECZW#^eHyl zgEyBp9z2^5_PgQ(d^;Aw28(}D7=E0XH@s~Xy%A5xm|#mwuqIx%yb26>EY7GHKt7a|YL9t@h)a13iuWOuXj-d2{lPcq*{TT?xb&5B|1JbRu zFLDrk2sW&s^vhYXf3+u17syMQG%%7fN;~NhsI^S;kkN~*n6@>S>cLIeMM3?9huXUu zzVWbLg*^F>^!P84Kot~ooEsLENfSH$3lmxUQI%cvd1xiO7Jjt(kJQr@3mx_+a%P;@ z_-5y03m`Ue@a}h+3wM^pFmlKKE1%`tBEdPEdjc1mdi6SQ&C z5m(B~A|jp*ed82MyLk8!4nOu(XiyXdJ}!a*9)xc_=3YRFyaBZ5DUyD1^{2Bu>D5oa zi2pJen6WDRvNIV_KVE?g(@@k;EhP2^-}oO_ zJ3HiS{amBEnE?q*j!*H_>Q_4U-V)k7Jp@?4>AKxUzYZc-t(QDSOLPsMKdKnFj_qj# zPzunqRn<-qO!*)6Y&oeI=y!E?L+*3w^v7L+9x}mMWUPX>2zr}@SBQZh(oQE&Uy`Cm zSyR-=g1W#IwMC47x5T65A@usr1>2JXiNqqb9$I??s#Y=iTIoc#) z#&r52)oapV1$0XJ`~*Q!qy$Lj?J5%Y+){tqC))e)N+CCu>5BlyR}z#e`nXGk^nu|7 zy3s6G^cS&Mtjyhhe$hTEZ$_ubaYsiJx+-5>Yt?QRW45TSY+8X%S4x)R0#$6`MRN+6hk!`SDCrx zSb=aOKFj@bk)Nt?gZ(RsdiR2aAGJocKzT@}RKn~_H@SdvJ*9$uo9Q&a= z?&FaD|BSLj3BPu?z!nAt89c*$25R|<1Q9fon~y@>1Xrs4kl4fK`sLN#!+!G2O`@#Q zKkH{@C~vHa!_Ix`xV6Z-cE9qG^!pudeJ%yX{~RV)X;GsQ@j*6S4n!e<=TW2gApKzb zl5_>;2aO9RmVbNK2z5d>w7Ui}43cCiew3dKwQNXxB%8<(EOEh@oF;W2&#a4tVz?o! z3lvIwo2jH6fH610?f1yy$`NOE+NPhO>BAqzSVP{Uz!~G*KMEjQdifqC^fiyt)A}!a zE7h=P;9MM)6?ppmv?Aj`pI_^U*U?ut>XN~Bogrh%oJz=irpw#;h4QU8OIh3;S2DZQ z)3Tvxl~RKADinNMHBbu$IX!BZwVE|)xpn+GS0q&=M^U9%AcW&ewNX2*^$Js1n|NyHQ&S5FRt_@4&&u%M>Eo_Qb}Oe$~Rv#a4Eh)U(-mu|wrSJ2Jv zhYun}m0)z}4;5|w_(Vw!VGB>d9WM?NrK(Lg*GuSd5H#5P4 zSol26gDjo7xnLrrLnD3wOWYE6%~GMEERej9CAuT6&vi(zSBm2@=1u|NXzCZvlq8^| zvRpGOXJw!`R}*|*p5bN~Sdh&cUKmfNXGYe`N~{ok0C2_o^Rd9(AE z;j!3T4VB0swYJ1Hgz3Uf`u7Z2_(a#Y;+5p(KUM&k{$?QLCu_3eMKXyhE+i5m55W!| zx95!%^Fpu)@Nx7C2V**X)kb>EufqN_>@Rf$vz=MeUY=BYr`|; z9}Ru-;Jy9uv4AdhSrYBW6W_cEML$B5nzqGQ-hBX2)wrAnQd#FrB-mqO&HRTo@kyum z7;R%SrteK2wc*00z9E$HTh_agco!BqE33KIIU>QQ+TLl+6VN2f#K`t zR3Q}bKRPds=*xkljTDy3w+?siOZ4*jDV_CAv`*s3g%acL!BR$@_C!stl9g9!FO1Fi zM5@Q3gcy|Zo&ij$V%l7KBXm{*E6;iSZ^}&WrQL014eqKtfxH?ECiB*weKIU-h|+ZX zE@j?8kKu2UpJE%KN6ul`=hCZP)w_SnAawm26Sy06rK04@{X8|;Lu=RJx3#nXje?yh z(li_o1i(w|JwgV}ftItdoxo?kJLfdCqyHiwahh^wUddl>5&FISgUKp%5GcW-_jiSO_)TjTq$o zpuKY>rC%$qS2QmT508Nl93q=gd5O$TpEV9pz}~NO|KGMLOvGNKl*&Ey?#~KWNLrU- z&vV>EWgRC-&<{*SHJY`zoFo? z6y*$@{bx2y8S&*U&j*JFRr2fUv-1UQu~e?EycIJ*rDE7?XgK30=3h10)JQ+?mHGnHoISv(R0&Kgq${P=xVUGsaysUOjs+p{(FB|Fo4~=&iqFbJ2 ze{}wF1%fgW@h7SGFI8k7v>2Q~3Ar_nylGsnGlswoR~=Lyh>|X&W%4SRc^1XB~JpoDS{R%2XlWdsqY5UkJZg>R3KQw^P8GQ1O7` z=->i7%j`BZWKS*V)MM9p4o(oo*lgI-;Juab%N@|ax1LaVOVC^x=q$R~&auC9abed5 zB&^oSfq8P1oyVYF*KC5awN1?TSy=RVQ2YQ)K(Mdd15N)`Dxwt+73aTY=Rc?`1`LSOzUoGu~Thl-994Y}8~;`yhYTJCpWvCp$y zuM@!K#}^erl7Iak-3pYUi;R4};Jv21|EV-Ye3q+w^?3ekKi zbA4u$soDNFQuoyHe$-eIgZRfbZtQ&mIk^EJH=Kd@U{|Ny5+wYSDXqMSZo=GZn0l>7tc0yyo zGSIB$m(lS*SJ9{kt-O(3y6K}NwDVtRdPOO#HSH>@yx*oZgM3>z5maWZ)J?}Fci)Xo z;=(=-)9AbRcPV#_Qa!HkGA7z{jiHwZDGcLTREM2!IeD$Hv~GkD-)jC5b5sT!4D?mg zU`pfJLZO@;l&~SHydRTp6NZfcM|b~^@NeT%#aPHHJpJq)F>I&f6w$Q8zJ?>#OQI(1 z5bSqn&&&nm>!Y;A>L9W)qhK-%wniKd!_*(`-k#$B5OFC%9Dm71M!WAPk4Tb!4)8sV z^C4kx^O@~~wrAwEIClCQj25sple4IAw!Y75MJWP7SvHw!zH#6tnXEQq3#t}@9DDGW zA0Jr_8hK`Y)e7~hG>v?0iG{Pd}zZj5bz*6rQo)As0D+*&uy^`He&*TdD zJA`QMx>#NXkABEyvCpyGXk+mBHKDxw(k;RcJe^c# zT@r_olAoAB5dVZ)S>1kHeNHl-zvE^=;C~Q2jux_ShbC^P+_Fc+yO^ydjEWEbkxvmc z>u`B+uBaG|Repozt_O-F_z^mGI#eRT{dy4>!>X~uNwij!96W#C^`cJ#ec^VgJ-%d3 z*fPed+-(D2xartk(RK|Z4V(I1L2hu5ddOL{HT#yX?49ZgU z!W-ry&ynT~yxH822t}tMZUtc|d{G~r-LZ<&?BC0!d&zFdXhr09s^M$q#MFG_jBULh zc^IPK70UD-`N@A!dN=%6m>Sf2DqiYzhw~4%K8Bx;&tP=y|};8!s}xh3?IQJ?N>><@C6b><*!#-*pRqie}1OI@?pDIMRwrJMHq}%dv2*m zDS0qpc14r$@PB{k#sj#&tAjkB$2v*3KU7TgJY+P3pS^K>{tmCltlg9`otbOoHhB3RF|S#$ z3?(S;mx1Ug-N$>l zyYbaV*D$cA0(!>8pbLcHRKP!$Avy`@<2HH=u0;%TlqE6LS6m|dX42KC7vivSj<_ux zXv*VrfIC=`Jc?%|5CE?m4!!9EV}CfnWCLi{`W(Ef4I{*Z@6dzaaJ32p0X?RGey<`> zw2>%TIiZ_Cq@Ie12#A1MgmPzSte&g>i1R@3-`x=xEMXh&1Bk{|i2T1GAVmhLfpP$M z!pmGguiYv(k;~9_1PvDPso?vrfY0ETYT?hIY=m2kv3OuwBd{D-W%~Q|O=nC@f{Q(M zQy6!Ln(ZG5vY`J6j<1`I7-L!UFSy0b|MN4#`k8now;odddTfqn`rPH$Z>g<X zKC_BNXy4u0+rQ4&;)vrjg4RGzody5w6wCJWq->Aye$zP>|AyL(Ee3npG@@&%3>^W& zh(WVq$*=zl(xnA>wPg4KBrn^lnU9oD6YwJ?vQc|@cCGuz(71N-2d@*Af}u%W=K(5s zHusg8Y5ng!CNYCqcd9|~R0SrVt0EblW_Iy-i_l6?5m`!2DCu9DRcv*YMU zl>fNVjSakTu393Iv}?}7p}{RaYy;lET2A!KUn-13Y1$=p&=}>%=eErrWN0>=3$+U> zxayVR>FLQ%@y2qo!gRNg(bd*_(9n&~{X1!tT+Wb*mZPqkTcu?FS9IkLYcfqsBUEtW zVVz!#8sWIobQc_50e^yj(9^~udW7lVu#UzPEqFy{Q}9@H5&-Do{>9gEKKVfKn6mwQ z;NZ2cW`Sfgx`kJ(-TO=B3bBPxDi^@|U=}NQqSA~|R2zkoi-lVimH0_7k4q_Cb9s%S z$xw3}oAzf{4K_Dy&wFK)x@JSz0Ud&)hrS`lf}vaSWUa+w1<#mEiCAU(Cx>^;&>Z5_ zCpbv?zo%;HYb__AQwW$kC##l#M%Sat{{uTg#J>FhLp^!&6U1v(ti;qtN!hf{dz(lR zf1uPoClH3+HU3krFNOt&>lpu2T2bUE4jjy|&CW3o@;qGNG^|{EYyDhZFcM7eGeK@Hgz=;m z^z?NmMgGAqIk=V-$6S)=L9%QQISsq$nw3EVV+)>{ew7ZKK_LLt$4?_t8URJg)U*PI z6wX5G<{8S`zDiBheoNYMN0Pxv2AZgCby2t7z02ErCFy=g+5#MO?MwptBhL@~ZdA{| z)gO2_2%OFuGC^2camWz{|0B`pZ&;vv;HV&dNHZp#VgHe{I6MIy>tB?`ii%xK@t zj?@t%{p*VUaNoX}H#6^N0b1NHAiQ`!gL7vAwR^H}A%>hQ%|Ok~;(81dB|P*kW8P<( zIv0gHoQ@QdCMj?5mj#2m?^GD`v@v)hf&sPV8d^1<;Y(Xr~b5)k5+OAi0FEE;buBy=Zu~go`lB}c|C}#{yDO5=e4`R%_BqbI+ z45xY1jpnVp7st4qo^N{{Nr{J$Ufa#0z|Y5ok$EThMtkTQ&ZH!9zpZ0GGCJ z-@ci7@6Q5s{{ny!S8XGkK;*jFVJN`aRi(brQpiDRU%wyz)R6gP&<*HrwW4gfls?-$ z&*^ourr9)-tu7c;(41(-jC+Fis_H=X?%gvcOJ+L$24|xQFbD7Y@M zYF}>13NOS*MS&v{Oq_uG7rBx@&DzvivZ|P0oc2m76gGHIz?LarG%YUFgn_; zpY4D0SlzZRL4`^Co-;xIgDAm+Agr>>%$v7w-yl*X-~JbHENeoLzW6gGTk}N{*6&0f z0Tsp8uWit$Mq1_f2y-M#Q`znJQkErm@lS^%+oH1zjpBDFl75wCJTj6x<}b@KQVisXn=6AUHXx}2QEnS38I*}t0LFLQ z_rr6;sscO%fdh48?wQoJk08eg$hpxVzsa2xF6TiT7&swW(DsdRf*(!iG)fXZ!5D<xmaT~u;6oE;dWJkbtyQbS1BkQEY^|yLCoFd&io#df3_IOVlK}_fL$zn&jqA0NatPsZ+*bDV% zW4MV>|2&!D{%+nC4_T(wC$(7lpQAHRfi6!nBM}VU-=;$PuWjqk2r35qb_WBnLEvK= zPZ6B^DvfaXYu%W@A?>o|Qso{SFY#uqX!j-Ho7auesl73>Fw!z{ z+VuWhY7dY}5aKG!ah;|*K%fodhSZa5N1`E{lWt=0+GCD!F9Fvgg|x zNIb3M@SuMLVDH*i69%H-G1(X_V$o_9vGD`^|6fT;!I!pZp?xZ)XmodbW;PqEf6z-_ z0%1u)vO8zaoXh@LU;Fz`#;Evud)dl-G?82v&Fj-fU0f@73J73tSZJLqly24HGG)5` z9xDh501d-MgC4g(G&!k;rN(J5k>zS7%S9pE=SNxJKd=*;)p20cU_SZvfM@K7$ZfWo zJXgmBr)&sOuncUw!<4QwBcragNq#q@2CKZR(u1^7mZelxB}Gw$Mnd{+PPxi8|5+En z?2lr>ZoTDwhQk{I^JFw8sJ?%Gw7a`|9gCc51`V?S+y@(UWs`*dbUH@VY@f<&+eGdF6qy-VqRMIC$qgEGC9*>u)c9#VqQxw*6F zbK)|$IcV69(v8RSY9rmf8l(Ilr2oLt{}O<`YuRZKih_q)nrOAqf*PYM6B8Hy|3?@f ziG+oTJC`PHQD~7@of)9^6O76R!iCG_HOzT1=f?xIs&nsDCoVfRGr1T#kiNORvX`Q? z`2Nv~<-*SVz$SRO>nC>cz}UtxbsO}%7_?$NLzvNf66tA8WU8rA zba#`b=1dRK=e5kzr-wUB-sk2W9q5Ixvm7i3osKq|JB`afe)Tt-@?GgOWbSR_XqlM9 zaZ?A|{y<^d-4AJhALBT-D2iGkp~}EE*D~vQ&C=CcmD`Vl379N^me-VNaR8*yn<~@B z_d~27S<(4;6~Lp9xh}WvCuVgJ-120Fk7O-oOVVALEpnKgl2!boUipizZrVHpwBd%$KJMU%LW?H8x#b}|br3}zZvg>42huBZw# zw5*H%xlQ}bvD&z#qnd9i0Tx8ATmu>b!N`XWd%Z;C-dL|V}*Ax((3XU^`1euAiZ%!N(JGR&DXJNx7R?k+f! zz0fihSq&#AomNMEi}TqG#{-A?6a;9R-Y(js!ysKQ?eVb5+lgM zhbMJ|-?X7k?#r`VW3ANYrEX#2Lg)Yf_D-`Q_zvmeNXLjf6>0E~l-Yb<-LAxWvN|Iy zu<>KG9sWO{cf@avP7VTGmSxEETp8!MCf;1lHJR z;6bT^U|h>}z7yFm&qZsUb3+sYn%v6j@!<(8Vf4$zySg;^edEy>L+8`*e5&0>8;L!c z2OP6w(;(ID^eHsR3vF^|NVV!axu`b|>24QiX3-ep2dI&xA=zXfw%eJVb9QFVkJ;Voo3UN+ zpHJs_zJHJ?f{kc6IK-Z#Q06lz^3);0-iymCv}xw#<{GbWQ!KKCj6cQs_zXu*9dZ1K zEPg_5JVrN)kelk$sJ|9Lu!Sf#(rvVER4G+sUUZ6)XNwS0ZQzj;H{_I=%N8Dy|7qL^ zbTw$UTv68$4bzewzr(zvLW5yH(D|>A^eVy!1K`~)Ky;> z(3O$(FnzY>4trcO?h@L{SGM5AwUnD;{+!q1+RNrr8)?C6w%-;<-JE&kE;XEDg{;pd z@RBJgO#r#Bs`jt6@>hQDy8!H+-D<)>5QQgeeuQFsQF`Hx3cf_~{gFZ+A*D2zrBD|| z)F{C@XJ?kuCumDA4VXZfoqRic=1lqX7k6qB7><3WVNf&{#M{fO%%}JC`K>}NC%x88 zZsc*bqMhUO`iVi_b)8bqR+h5`X>G3yin?1!p>*rZdS{&)8e)uj8Z&(uj8d?O@Y_%K z>4c|A_xKr2#St>`Bpq~-oyw@E9a%lmp&9e&Ku1;mt>*Z*A`GqC!=N89{a|f2QQEfU znE|#OO*59WUI$hCj7jWJb|3G2&kuJKCg@uwP9*2#!JO{v$_!AcyUS5&QAj?}^TR!m zFaD3j%%+t~Qb&O5&*nCFuv)nfk;Nn*+!wUmYf^=0NX0=ANhayf=#8imH%QQR+3+9} zv4ZC^9?ZYvYkk=#tAwJ=vcn4{g4TF73b|{M@nl{eZrbHAf%b8cF(Df;9jrP6N#Vc0 z`R^y_s{rg>xlY4S5M2BD#Dwaxokr zmbDa!3+2t0aQi;$pskWSa{b=Cy_wwTwbA=SbKy3*XG*}?>%3eq%}1lIy5|?G7)IPs zk7?dkvR;0f2Q=OzI_Y@|m4I4Hs84Dc03=W_li|Ae zK+6Xosi3Njz0T(2*s2j?CDj@qZ1$MQ92EHn&|-6%>Up!u60+|^GND(-c3_}4WGZM+ zP$u0yi&AX=3Htb#Zvoi5meqz~Ah@aQ%7qe#7DG#tUXuKZ|2{GFoYF5S3GJbj7N* zCDDDBF&BspL(u^_T?j*V*;7ZJLQwQ{F3Pjxr(zJxb?vfwW)#%7gXIDMrwYng?ANOe z$MkVL@O&g8F$NF-u>GovnfWGA{8Mm7;*pMZ-{#i=K*w`D&K@jI?mpG%3%Qn{CHxHJ zL%v_~@L*`CD1BkK@ka%E>=J&Q>C3y}>!I#F!^ycrQ=SxVgQ?<9v?UN3KJ6E~gV@;|q+1ULWr6@hZlc zQw$}=i81uwav|y!W}gM{zQFO>DY_)8PJoDxv)#^Fp`l@``l}R7s^bQbCe-ob%I}H2 zrYZi6zl2ve&w9%_WH`Ls|Xp0@1rsvt1R|4(VqJZ0q z(+MLzmuj<;Z!4Adj)oadhKKMaH6Qe148%FpVX;k7%dO7N!`GXdp8gq1m40LaQG*}1 zU|Y~*x5QG2y%gtGIV;vKCFoYpvYR;WU^L2v+yf-??t^}6OJS)OljsQps(Cw;BfP+7 zPFEh*u%aH<7l)Gh1SHqkR#zoSD!<9+DC^kH`i&B_WMu3T@=3{|)-9ZzK`e6)^1SE5-xp}3qHo?`}I#ejmb8222Fi7I-()JyOVOM1%JDz`f{tFVvw*c&2%Wi^D z6g=E&bzy>HH2nipBk}Y36Jx3SE}CfBXhcEJoCj$Cprj^5NZ4?JVb0t+bN}RBtR+){ zbatDW3|65SF>6_@*R)u@(`o-h`R51an=NHoMsL%ZMo=;{D~g&*X5KwxEQhbX=#ocU z72}(MeatWHWSYnVqG)_TvjCbH7(Mk^O3kRrSx~?Y=7Wx&v_?OtDZ7KV_WCBUV-rIq zP=vv2(6tyz3=4xayukpH5M3mEUYr`1bpgjinl9;B9K^j*UC+9t6h2r{Th{y7`gm4i zbqj6M9K$&(AJ>J?RoQ61?*73(ST6MLaWWT)0?z;#HGJ7%@A+;gEP7ym>RT{JMNLhY z;L9%$yNCFT{f^q~4t$g$(TGH5?Ai6@`oW$j&xuJhZO-*cuh}(hs|qk?_#eJ%v?)4i zQ60qbP#akL|I>tB_}v9y?^<#ihGO6(FKyB^G_BN4xdIC=0QbKE5{Lz~-Jk*$3Tdi* z@!0)}3s8wjxj>vZ9{YL5e;%L-rU&UX9|}#*emvTRrI3qi$NKj;3T{kub>J7&gpml5c$keO!(pu`62v z%o9$!kqBZktT7v*^x#2 z!eHryr>03dHKV5B5+@-C9@|x+-f2|jNz!04?vqLnHO4K0Iv%K7om~j_z!k-nhTOLM ze7tABEKRK?<_<)FZINDJlSa1Aw$b93M*dX8dY<*OtCGMC?3MNZE3q#B`4NDf%!zS@J_9zwCrClSjyIeR)NC;~qZ(1cRQTs8QoGGot(PliN>O}ZcLA6( zpRi*8g$F=`d4p9$6ZNbnElj8tdQS`*fa0FKan+A`#jZ9gulc@VMi&C;QWN;J(Xxl^ z7Wjont3ltd$}4tifYIVNY!FbL=$_MgSynS*>_bZL8BNB@8}wCnOq4E*2iU*3WY`*c zl^C{32Og5W(Yh~YSP_`3qzVDHGE0Ny3%hSJw;2+JXu%wEv8-11&0UAo0LQd#H-vjg z9AT%&Yr^NoX`%w(=&)ze z{sj`7?14j<61Hz==FPr0>p~Sp)uHE3v899HJk@52JaTQsqyH>ZD{vF1DLh=IaQAo* zYS-|=6C#CZY~J4CtF6Fow%}G9X7evA;|Lu~)AAKqGRKKbYZhIPWDkvzpc>Oza&k6@ zYs3Tqd~l(+DKvss9G^jhkzn~*!g+Fm_xU|M!~J9SPw2qR`doz%&o4P{K$;y%s74z^ z0`{tgT{}RQWpHpLJmnR;sJvD^Mz1a;$t_3(s3?*cO%KMOus5PZRPSd=&ZcA_ZPgwW z-lxZTjy{<$#1O>+_f{7O*g3x6qOS3J0DmdD9!%rZnGyqan<&*Wpwq@rYIUJ6nVj>y zB}StHRNL`)SJyXO0;7ny{a&!u)sgDn_^3sBz~A+OU~J|+u~*`DYNyj|W-Clq=7-?e zje)dUG|ojNv(XkY>UKV9$k?uoDW4LC8(|RF4oC3;6R(=r@p`@DY;5tb9X;o$GfI+?4guo;Auy;@SWqy(q2jDmjx^FL*mw=C znG8269%Gg1JXfy?yWJiP6Z$N3WpRXK?Lwz?hpiltFuI4FyNHUxOl$oiughA0(qTwt ztT!tnXYXq{l+UD{wX&=8m*B>eQL4OcGHr0#ad`TR=ldK(6o-8gE4g&oQgR)~li$IG zqxAp2hF3@{(Ln<^)~p}c){S50h31x(tpVU*5f)h*an5A%f6TMmA~1Wl$jj0p31LHA zLl0}9`nwuSIdvm#{!ETNU<>|M)B!$1^0oyn`|E27k$xYlj;|35;hWF_vTD%vz@ zl0M=+cVef;0+{qX&-OjCfPL9C1HIPM*(NS#4;eTCWd z95?qf+~#+fKRhCzKjFh0vMC^d@UDh4oH$i*vN~1M;B=T64jDBKK8YPzCt>7vL~!UP z@J1)LR4!}zENs8OLozYqGmM1)V)VAvf`2yh*TBBmy4BpMAem!ReW-!>J7$GfOIrKb}>aK5ebKmT4AvLbf`;_s$zvW8f)HqG#;R!_F&!k zA|M@GsakysV9SLT9~W=0>gYIi*V{A8E8s0RxSxhNyPOJee!|9yGF1s?RNP@BXED1F zt70t-bgPWBs!EkcW4l||>=j_y$IO0fSowXBV!gE}$+G3r8zfHE#k%L-bViGZI$Xsf z0@YOr`efMb=;1CIzj#U4rW!X$!?&h5teZR~gI5RS!8-`8>j3iU4|;N4q-g0hcA9@S zmQKLxxpd#xf1U8;U*7_-cP%>z!a#7rm;gR+n&_ENQ2+lMjPbxl;z5IYP((uly0h&z z@CiOb8ZJPZLZ`!acIW4{H~{93Ju0gJK(U%0l3pS>Z%k>iTv2|$(CKibBuQwy-q3!R znz|r7;lRo;i2%|_hyW{6hV6Ss3k!xV?Am4}xOx^65@{%6D&VT6FO3i~6G5@KASLmn`TO?h0wG^I)$1N*QaIW~&37{j93a1q%} zS2$jamOaY^;1S<8RqU9}dbNNS+H5|NL=_|$#c@ng&}~)MD@&t@z{VTiou$c=4YQ_J z3|yaIdF1r;dR?CLf-?^P==KF6j<*2pT}@BIP!L>R+gA#O$i)!75IuP3H~0tq!y0cK z_zheCrS0tOzS-Fy2k80}1O7_D|Ly|Vg~pw7r#|+; zc&%Q?fiL*MT^)UfEkI=k#y6YK<^G|Tm(@z!#h)IZrQB@P=!bLkY&V$Hyz0wFDOUvc zJOrEWni+JH%DQ^B@xUZ~09QpejT9WIamm58U|vaelm@B!#K&(bRtY@S&h|RV%5Pvu z=V2+GQNB4VYO2QF*u`?GW5R-XDC1Ee@$^#cU?eHonVcaKpLz!=!Y_BPTIj~ zIfj;!d`~3?9nThmRyVmCg!4~(L zC6CSufS{SC1bAPM_j%E7YPwES-KeAy7c#dXjOFI;_G~e*Ep`$kP;jH0hDz??Yg_fa=TMYRF@P)*ANuMjI4DG+X`@Z z0Bw_kL5{&7ti^$^4VgiX;y$)mRY&p}#DbJT!wfoE!&Wo+d9QES-U_=|ZX*PNvTi6j z%$-&54PTw@z!sr_MrB@esfB&UQRL21MUAW`>XWeStJn651st1A3z}p(W#f!Kw(nGy zJ33Z-zUEA425VH9rg2Ei#e+e9RrfWAsf!28CIyJiHM9M-rrDic*7uc{6xP4Io7YYgsT7+3CM^RZ0k%77bw4yjOe zOx&28%0o5Rt-A+jZ|f>#FSGmq1@iCT4qpPWcQri;15t2jv3wlBVnc{Oz@z;Cf8xbp zqDZtLwAN+YZK?BiTS?S|2NN}s3!#V7-EC&)y`6dQ$5-(1?)O(o;dhb8pgBPdywBx) zz1}fY6n9sLEKs6NIrPc2LO6>spMo5M7Qz%7r((_LoFz$$I9?Or zJnVA=RXPct!(k7kZ>Qh&xafgmlpsUunPLigule47Pfsaxoqn)yO=M45n!!TlybXUOV zkyUSP-?gsaHp3R+^Fnh&jSL|=(6a|2s6NzgGbbcdAslQ}Kzr{h@Sl!?yPLgpWc zz@F+_*Cdhkaw7>^{y+y6K%*!MYNc(@7-)8#%b~1;-l|v|H235xll5-RuwOk(OYQa^ z6j+Zl{?-zIrvQIa;EUcbrD-`#(z)7M-+LO#5H_acq1?=K**vdku>Voo-c0&#{O}0D zu2Ntn=sDB05y^F-Z2wj-3+xGYY_508PCuJU0h3I7)KaI$01TLGUC}<&DX>De7!7*f zCxj7gnE2~@q){crS?2xrmA9olk*sgr85fW1lku+^oDyLYCd?Hyo(jiMmx|ohv2;DgWPC2IOVfJxzeT7!5g~Kxgg~lbZ(g0?^hcPj8cRoX*ctFl}jT5$+J;9eUn3CTd z%s05bv!Q2>(5yF6KEDv_PFc*B9Ynn9*5y1lG5mzO8zf<5 z5v`J#Pig?!lo!ZR-6V*Z zb5fT@8jL&UGn#?Ck%Ok?@$hJ&S}pSu#&^}8@2K4TpC3B*s{rg>yAFat5L`*{fvCi& ziH!vfU(bI~QP}tcRzBhbBEl*0c4tw4z!(#02+1AA5pIWJW`~~?Xa7w9Yw@|Gp)-uR z)4(557={!@5yf##+rxoo(*>0lS+SEb7*7O=bu`f$d?r1Sbe3K1W?^4eHa18y`L`>U z3w<^hTXnGU)qZa%NfOC$?D|9UG#Q5xEOV?PL$mXkpN0k)(!*{K#-E#_%!Z@o_4E59 zr98k#bBk6nx!3~eS+rYM1|14dh_g!5lpNQQF&q|qJnbOE)7(QIw@R0C@2o0my~!y9 z)oY97T#&Qm8ft3*Hp)PATv5wyBMHV_kaVJmxYk}A`5C=HfS4nMyM!jeKj)YFH zX+>;lTIJ+PjT-&c{szxI8GnH>(KJSb9xAmdb_-#PZ{A`P4_-_!COrZP5O#N%%+8yK z(a*L3y%7QA*DF}KSdd_h@Yuqxb#Zx4DKovR>ro>I)Uu%4%z)<1(vSrrZJ2ydBn{6+ zxV@rmmh(AgOTHuJ%`Nw@Lj8s`637DR{DG2dyQbQ;=;`HyMmM)~cmF7XQ~SvQGvH7_ ziW&z3WCnl?02<*$QM7CFjf(}TqF5Jdz<#WXr8pB-+L28$t&wnNi)C>>naTaS-8QME zk&r6>PRA#Qrb+DH4o$O^@^VTs9}k8-dVPDQ@xz$(lG(o(Qq&*PBz>nvSuya2G)Q7P zIz6K#Nyuk_M4v!B8}HN!3}CC$*!~gC-Vavk^p|CjEvDCQ*8;O@)0!|81h=NKMlV&1DfHycTly#R&;1RBcuEf%%}1dsHijtf?7r=#XN7_fLdb)J z5XijQ$z;bE^nKh+mxWKZmHr`d9Mk+GWdLEu9P~sak(W+9&$wsh{&i2)k6J!Aj4w`04PV=OMJ z8~dVD9|tOf)Vvoa>#BrulWTauKz;I9tgwX>tt!mn3y9q);82(YDMS(;s#=0?W7bbm%+N6s@Y*~D}SsW=r$Pt3Gz38<2D1|y9^f1AC@NXFqqyM{%Mn56LF4~1(@ZJO># zeQrWGMxr3ag#6?_$>0Ye4Aa6u8Xfu%f?wGf9s=?;b=et90k zAYlmdKz;fB>?-F4w3RWz^Xn7po{3MfM-~6V9QH7qFObFo4sk-geF}iSlEKkT562!O z+z2JfOVscunuJHdPSc1}E_t4D)6(j3#qW3D0>T%(2!agPX1irL-%Q6cs4-bO$(@6> zDqiNzVgND{ly=suvWqUXX3I<~ucN{xsejZGfJ>3^KLGk90DD)m(l8W7Z}SqQ4h@zr z1QUuBDZ!0D;eX{%`WJ%u9qmRzd~pDYEp61)HiLK4cHy$!^+6%fl)!5^_q;otW8yfz z!i&q@UTkO4QU2GNJkRGm3N8#uG#lC{r!XAd!zUGkD&TQo7g=G$F$^RQ57E>J+6FvB zBJT?X!UDt<$rJJRT0|%v72;8-R)+h3Dx=;>M2meD z4`*=S_r7!|xW@TYk|Tf~EF1YsC5BY%B)h9pUlp>|l<=sdar*K5N2^n=ZZr?ZR$ zM(?c41-bUIFD@|IOme`~$z!~gI^oJJQFFxKVj7TtVem-d4S|_{-$BMrteYHpxYn?D zs9hNazbmo_q|qTKh~;u2V64Rkdepk|U9HYO9I8t>p@{xV0|VL7+P_q7KE1VD+g^ho z0oXfZpM;?xjDO`7MJSYlfrvo|69*<2Clmi};^^k=WEd2UN;DusOZ)n0@$L$BW^gc} zQ`4bIU()Y>ckkVIjDMruI{e+mKiMxyALLC3o97;H)}#@G z;R^;&Lm519)NG@!*fW^~+N|<=^4$MMY$72%IYP&N7ADC}gZK+1iy*n_M^Tdj1EmlO^8ez1MHuCXgB#kwVMjfs8DaPYK1{`mwI1An}(LR&$ z9Nm-Sb?bY&KBsLY;KlJmsM&FywQ#Gfc}c1KXr4B^GRJ=>=pO;tyPDR7fhhQ_0c+4= zMRIDzVlLhq=>JDNTkw$n0TF^8q7c)lNvb>ZHmSd$QgE;NVoCPx%e;9rcZlN;2C&4c z%j}1COB$SkK|Yuu5Crcsoz6%>!vbT+oLPK0PQJCtq*;hM7bcLo%)%kBx%*C}Kk#bD zkz0(SRE538B9!_3lXGi3EelVKWVMcJyp#~Y=}>EyU<2xQdN#l`$fj_t{xQx)rysIS z1gw-rMHLppKLv`dI4?_6H4)BZiK3;r)HunBC;Prn_Qhr$(Y3*_n!!GUy4IFA zw<9m(iE^<`){CqinJt1P+VsQlOUh$ruKggJ@VA3cx!cJurN zcb$^~c@NP4dc+q2*t@cwgn=k}TCr6si-2(nqJ-#^%L9pt|Nj-nC7?(|f)u(NU8D<$5Z%fhH|yWQNa&m6v`!CS5PXROL;P585S+Jd69t*PxdnJhn!^n%dKZ_ za0JSc*r)q_xb8$J=a+Z%ra+*LBtRu_VNzyh8eyTPWU(GD&Q4I<&QpF9%p;GQgu=mI z6)N;GdL8OK6{dK8l*-sWI)#@=^qzymtLUM7D}-$}rJLEAf4(0P^mzFk{&s{gkfJE$a5R?T^+^A`+uWd_ zi{2fWBgjTvl>kFjV4Yfn@AyQ@BTX-JvXwS}fZpNFmk}1-{OY|U*L!pKL=Fix&$?-# zaRkvYB!P%XJN7Z{oRTG2=fn3}-?Iq#z1W4(DL3$$9fwGFxL{UL;(KMoWLn#i{>_g3 z`9Yq(uVqdb#l=Q7PVhh0O+y0j`z}i3Lw`x@ti#f{Az)q`&w7pNqDAx3cNJRu_s_rE%Cd&|-$z7t z<5K|k&ZMP*APT~j$t+ngjDv9@A}SI@51zdEpB4XuH$gAK7|bCcu1QQr#aWU`V!f9| z{Q)9E`Z#kL8m9W|?pLqm55Aqx#orBEX=aG><}!{B4^XRKlLA9+;?#>mwIEBvbd<{= zv}N1tz_dwLeUeqmKt5N%TNJ3PE#=zCPXIkNJ7xY|*VsD=@9g{n9TMKqwBh9P2uQj< zNmU}eVj`T>2Mak{A~Yt2rk7|fvs7x-@9tGhvRP*)$a)Dj>7Q+oLNg>@i9U4j9*HFEwtIJe` zJ)%fTJ-h1`(0YENxIbt#o5}abC#SfoRI#_aGq#<_4ZTp5#mXP~x}ZrZp|{9|f!|sx zmBwY4+zE`0OVjRkUq+N^I*$mn@y(wSaSo(A;}3GiXdZ&~KZfe^rvU8Tu?mAg5CqT= zn|y|)|Nl)^=~AT-On7^aC;5PcfY<1WvM0i_&dtnTw+j0F+4<2}4nl)*9E+{+*bH?-C_4$ zP8+cF9L%O!5;1&Mwdt<{t{V?&RjW7=1DSiqT-@-6oBzgIejqS?RcdH|ts8c8w@cqd z*C;+6=lNbSJa3)x260YK4%2p@_r?s#cZzutIERDYt=dw(s=Exizk8->s@PFh8rER_ z`PQlU8@Alp7^$uUn|-PW%Pnx|iMcaA&hak^`Yix^SJTrV5JX34tt}uQZ4(dL*w~ZT z9=!Pf|AJ|Z2V-nfV}gZ6*Z{@%ruN_u(8Q!999edk@aE0z%o_qUwK$Fkg@1nS5RJl$iGdop`V?H-;9>fvY55+32 zO6PNZ%$shtwNzdhFxE`cbgQ7N6?b5yjK$XGUFu>ZO%5iD{TpCx7nHa7Fk%fr)wUSh z(+WmI2~#lm{?L&q@kQK9F6P%->_NpiXVAlZBT1&QL~$U=I8>3N)#^b(l?=XySHL2c ztJy+s7Pm5+U#bUl%ErY!kpm*0k7HfK`fVdcS&1Lu`+yCP{9r$q4n_y8{_*Kqn=qV> z!0MS6=ycl2We6|Cg$KcBUtZUeZZqr|yrsa$oTidYVvOZ!xX0RqSkq7N=3dfh9NS*~ z+e<^wUjndq1}O}}Kokwtu6mYibN_=BvhWBlDoAU6fAUi=P)b3;ibmoXp+0rye}De3 z=Xm^f3L3nmQi`$iY=b^|tPi8qp}T|l+<2OhN*s5e6dzfSRfn|Ojf5Ds=1~Z3 zlV8pL9E0|*@x0HGF*1sJ8C%GgIM}Xt|NA)%O{I|jiN!QepP`E~r&=fV0hKdbfetE0 zdzxj=SyXHlL#iyJDCa8gOJYVh+T`xn7N%lfUwb#oLaph$uuhCnI^$|b7U!5tll$Pp zbIOqZ&2;DIEdYCGveGaVh2cMG(ll)ykV3W7MydJ;B7zSrA})LnK@bEN3T>melhjT( zwR+B<2KoXDLbJ;%$-U&<|4iTU)^5%=Yw}mhc|FE4VJ0WY1jJgDwt>rwbC{buHZLq4 zi-mPC8~d1K0~AE1X$h8>arpCPy%08b*yJM4t|%r;g4%K^O3ZgTN#r-Lc4T1XJj}99s1}>u3kerYlD?e5VPVp9ApPqRDlxsUw&03YAfU7X) zVKDqaqh8}a?Khjay}n}0`M`AX_;8PUy@APihN$z7d7Mz|^gvPr-R%xnAuH`DE%3XQ zUZ=)=HXjpfnhQO8B4l*PdgvjbyRR{5t$k-n=0X#$$#CM-Bs-hv^S=vm{0P9_8QU-n z0#P(Ys!S3g?>__+kQLmeNtGhJ?|TvpL{TIoA=%iRF>W5`h2UDKCi->n z#OrR`JtSmIZMN|iO;cUYQl&{rS{i>*e3yk(9JQ7-2_2{UaJ|D6 z+woCphg4WXW++SUuFcJywEU^C`=wT5l|lZ}wYf1N-2?0s(X`MVw<~TJB+mDXk9K9F zHUq}97}5L@dN08EC`Ru}aiDoo1GTIaCrMv@|B6=U=!XWAnTPl|U<-Nu9m(HdGWMm^xK(#|M89z_0=Yi& z>%!I|$+8WyN})B(WON7BY>|rd=?87R!#lU_TARs9*??R7Z_PsUPXXAwf)s^;AlNZW zOw{O#f-ev~?Xr;nzaXde1A;3AM3JC}fN^%JdS*6fFYdvCKmx<0$zf7m(_Pi2I9}sf zj7KEW%|20Lhw`eTC}i`!m3cY~Xbt6NKwSAWvuH4;39DM(MPeeu1`O5Yz?suss;ZXh z7#wAfK6=L7se=(eV3h#hK7{GF^Rg_7NDWeZi`=TiLHc=4#D-@e)5UB~UUihctDNdE zWp|$n3S9$t3-qa|d(1;a75sU#aVts&jq2-wv5xoRGp>8iQz6J4aF419ph(15+l>oc zH7S;UO;MyKojB#Z#BO|9;B2940<_N<+9+_%w?->7TGuT&$_AXX{W&s@ua8g8qbPqT z3&1<@Er5#gqe0E|<$RLWdMVXzA2I_vg4?ydSk|9zcH**v##ME+lJw$$sG%dSZs*Q8 z*6C`43h^12NGfrM>GCb*ukmlk$zAd*0DD){lQ0kkAJl3L9wgps!^K2y#5=~nF9$EE z7ZV9*KMKVxw6?VHX12RR`~iAko2E%=nhj((!@M^$?w5L!L#y524DV@lWI00Q5b6;} zmvT3}m7opJ4MjXvCT96XyV3bP;bOH^fi6PGp39nrL8551Q(+P6JE1^BHvj_48Fad7 z?fGy7zj6)tRfj)bf=vy@JJUo?x#%!#rnnxHudY0OV}lP$3OCR@U4dvuR%E@AlTeX7#3cG$ zuNRZg&J<05ek76_Mcn0DR*L#lMVB*0_IWA3_~!&a8U0Y&UTRPN8$QrF7iW!%&#>Vm z77O1`6vdLH3p)4ZMJ=x{QyC0yC`W&LPxRkUE~lL{xw`JtYXuVc$MLgFCR0yiSsU8I z7lWNgw4;n11@l9Bgg(vN6%a9Y4f}Bq@8CjjiSOvx^_4!1|BIe6wgRws21y9QFcgKV zjQ78qD{jGzY!&AveNI@q!UbJnr;cf*CH%f7&dhZx3vHjX-Bpq{IyYy69Q&yc+=&-8+?V@y=!ir=0iNGK6bBJZGi4%)#5lT(CJ2rO)9 zw0M|!#ViOc%JRq9&M7+iXY9u#q^}11p$%TAeR9K4%0p^}w#LqAEn`|_a)euK;xSg( z$+%U1+@SVy()1&8Cw9HxaaMokGo%N&9d*3nplwr(m*KtudNcMj2GShR8s?zHUKneL z9sa-i0OFeO(vIJv4`!CBB!}Zs>!nPrqg`s|-do$(8F;@=f9#LT!;6mq>|ISu!%z_1 zd^KrmBWMp+4}u5<#e@IP!gyrix!=wQtMP1?1C(Ix2EHM(Ubh{*8wd6Fa+KXN)%-{yc65+O3?Df zgEfZI^N`z(b4g6B*QM;QD!C;Y?tF!20o|}e00;20J(Pl3zkf!fAK0%Voga-x1SfRe zHl~)z@x@x1GlTflLF;({fQWEl$WT3`>74eQQPd^4;(IfDmC5sqr0Wg!+NcY^TLJwy z@BxScxBDflh1z?wZ*j(W!oWYBAGt-9?Nlp4qq5QGqvItPcW!N=2tjTfFCC%TR; z?J&~cpU{JPJbsX?>s!69o(u*zI)5s$L1wdIR)c-ll|J_h4S^k(_W_b-Y&?Sgd$n9k zzSF;hf!lh|UA!?%a0A*5PdP3l6T8OMz$sNz@R<=Ws*f z%j=4z2^)-w1|t|j=*_nN|0!dPPr!mE(~w^1bkQ^4{O2-91AS0h2jSKe-wo6t`q+&w zhjKT$70-o%PS;|ZprkC8j7bPw!*82Nyu$~a)g+zbBhFQCb~XDfW#I^iPADUJ>B+|? zk>wiKmhvwu)<%~6CF;659xJ)owaeGI|NdbL;tOEOKyej%%mC~_6TcIAA@Sx*K4B1> zt|Nn9U!w%LW}?@qeg_dNQ&z7-Dw80Sgus(w#G6A!Ead!@O`Bu>bJYv3KxT21p{7$5?7#S^p#ci z%6(s~ersi#*=(+cmU?=Bcvdf!)r%zTc9gb9S7TX#;6wcP{OMUJOPC90#z9i0cHc_$+Ug@ZZpvX%-M(R~x1siLX z_<;`KHaVqk3{5nujdNzg*#`%cy^^EZr&i`ThTk3RHnl%~1YqynaTtVwAZkUT$StUo zdvE~G?nBTryM7LeQlv`?wy|XKu|dG>c-T38>OA5%As;%}j|QZ#m$|I#GL#MS zp?dexg04iDdu_4$Vvnn~I=Rhz`36Ky?SW^33AEk50f8WEtwB>*FGP249(dZQ3El0i z*q-x32RynNENB-sgPf}xZV)fWRnbAvmz2kC&>e(*%st$(+jazKS6-f%tQ@ZUiq_R( zt8F&xP*1GZnQ^En5y>(i{~GjK!%uTB$QZJ^+|(UY(tj`uLY?D>6~-NYi(L<{5=FX2 zbT3_Dt2W#!dg{JK(8JxOX93=ySCVSD4ZOb$>`F1*cX3<6Y zkuX`>=Wh;e17*yQ)U<)G*_3)6A{XapGPV)uIVS6=qq%%+t}URbl{}&@2F^3Q(uqKz>AcQ49a>dO`%Tjsa2s$dl+?Joyq3*M6@hyLgp3En zO$?lW(2u3tY0Dnya)_YUdv8l&GS*6qAb8ZO3o5X&ER6aZjYbo}F_o|%$qw};ylp&x zK1;_iP;;XRw^8%IFd#Be85o0F9_!^b9Tl%C2$?d>3y%3gx_0E+N6|hEhP;k{)RHJk zVdyfzzbvtU!V50n%SsQXS2Pz5vZv<7belHklTtgquDraxN|Ju6Fg`0d7~F5~@8smP zCC3;QZ%aM~iFWcP5g#^vko1ELK=8Hw0|}mK8_whUHAf4_;LQRp}^%N|XRT zB2vK$lgVV>Omj~gRh(Y_pV9YRA>{nWpf#i@3fk=UG@2~9&Il~eCen;0Vk<7~*^=Ra zaC{i}IDDv<%A_WX8VwTTD<9n05xO#hjRQ9T1!RQGdG7zibv~EM2K`4rj<2X4eHGnr zk+RBD?Gjs6Z5jXv3mgE?rrs=_&l2n`XW7#2aE~-v4<(XQKW82GC2SkNn{8jsLCC+`5@ z#3edC2DkjNdK4*G0(yY6tB`^YDe5|7^z5#$L zxFF4&#>CJ)_jaI1`g{JCNvv$PwuWga=qYFK>tT4uPj0QPR!|#h&8QI!Az$2Jm!!#eQL2wd8BV62qNbT?Hw91_`X3bu)g){_bb`Btcy5U=4h7QJYF zyZy@i&@TFNaZ+n##J=YMZxW5!#>w(rmU_?g6<=!T`GV!6pU%T0))%uga(#6p`En&s z&o5NcJf^8!PA_DlwZNMr(yst(0K%@d0suYkt-WBUK48%}3O)HfO#K6MB0!1qD32cb}{{aS)DkVunipX%uwIsaflckD* z6^2Ig7M+}n#YIf)aU*au)BLpT_d^{D|zc38nKWR?L_ncg*>|`zj7NX+ezH61e5tDBnbHW}O9leU(^~fqI!n*4m%Kx!qpH#B8K}V$7Spc*V zouNFRsP7Cmyv!^&g=|0S1DfGpvFs@_a^l;0)ksoqrTj#2_XD!-SuprQh{Qx^2@%np zhd;BqPQ)Yc_^{2|4mUgW431$2&LGNnNR11kuK^d2;z(-v_f}+5Ryo#i%4yH=eZ;5N z#Tr@eM3xV?vb?{O>&1<{rioPbyJqN9LKxWN_N$Yw-RV7mhmrS8te8edhi)tOng57> zo7tggu#sIBTO$*FHOisECR$w`2SxwKCzBr%gx>A4 zlhD}nKVJQ7twSk$Tw|F@Vmo_82m;Syopoc02R|!zY;%YeVI7LHrNm!MjBdLO}3f zQ+h15Y1hs-{id~7#M1O4j}Rk&|9mD@WB3!b%NgF%T|_EnZqpE>t++oGC7jxY?S57Dm$qV5Yl~Qt*ePnJMt@%OeW(xdXq4w z4IQ(01WRRgY-xZUx;TMD!A6lMkYnDqifSvU+6ha*Nq)wLiAMrUX1HA{l#iWb{p%fD_wvQ z7|!#2SeD!2a(=PH`{NA|F=+GuNCM*o6aeR*w>Myj6}J!V8q1`;YLJ9E>(pkZAx0=5 zIkSGzwD_tUlSKk=GXq=oG*Qrzn*wvT$5^2W7-b{0_V(->$sRa1bkQpSt?Rm-zh`<( zr#YufCyk^>_g-ZzG3+uSS~71lo!#_q|9HHtv2KBTxMCw2$@v2Y`MG zz}~g&Bn(8+LrX1S1rgMk_>Mo|xA+78l5y|HxD;2qaG~)51_Ujnc80#eb7y7TxYG@j zv`O2fX=l=N&veecX93Xv+-xJl`XQ$Iepsq;S4A4lxVKT~wOWzk^yC=xNr!BgpqwX0 z8fPSOWVSBB)&KZJ92I1Jk|pPo5qrq6glQ)KJNe<3T(iXq`FZT1`|P9D+(j_XaDH|{ z=19L-HZ?g!e=Ak@wxruRb73G9p#K(>WgWq?!~&}c#qnKf?(nTWXpX;R zhUUMneJt7^H(4OK`g!t80QS!220#!7qt3w^49qeP;E5@?Ie_Lhyrdxv;6W0iK~sJX zz#Oet^F9_umPXUrB&yX)72K3CGC}l(DdR_27G6rp2nFln?J?jg>L(IMR z$nv813UUYQQA!E>j2#*`>}k&2zOJ?T3U^hH59!MhHj~#_jIRY#%_EeMmlxA4l3= zcT0+bm9^GXnM8z{0C5dpXo=+N%EZ@*c~SHy)at#a2--QD$1e;7ounN>gOAt&S5?m{$VC$X#Q5ujcpwEd31L@lpUvWzpzZ4MpEV zfNdTG9|I|G%p7r&W>nL`zrvGf8;pjs8ky5MGRM1>+va7_h*cVQ7cb)17W0#gOY$eTtp z1Gz>RhPRlfIqKY`yh z)3q*-mFZc%ZnLfKg|+E@JvH3MxR&!jMP%;)&>sQVJA<8sp&*Lh*IEz>C06_Z6ILed zT^s+C_!oYN5Y_~uE`+vX3$(mCcV3EUbkBk&Y)GN$OE~W`y)*YeKtG+<>o^a>tA;ey z*~9%Eyh{H5mpRTwb(Y%<#hUS0iNJB?)D^)gKgzP$?HfA?IhF+CG|`T`T0zqlK!-!O zdx`OAg5mJd`KpBrov`bi3IvI$b-(eQ%wY{&ud%IEG1J*m3Sio;3w_{7nDN0TuS*~i z$n}6D0+_0?j*8OwEOy^bXR0dwprMYGd?T9z=O3#d*l1!59oa_Ia^(dyali$h1O;Nv@sA9Ta2Dbxr+TngP;~H?&bE>z(a+T`Z zMOQsUy=%SpTGZ~=I-qLQ*FoIZ@7G~CgTALT0(U=3Ag(FNsB49A=EOXg^?hpjK9Ylz z!Txm5eF?zc8RP&6!a&f2AMxn_AK?S|kPJF;)96_ba?w}_4Fp(fyM3CW?QHay4{gl# zovZ7*E(66GWRX#REL@rIM9G(%)#09pjTAXZPG&eZP;9w;!+V284l2~UKo5bmi|5rl z(VZM2$_<>5(^#$z^`j1(7&0@dh%l8~j3h*7bT#vc_HGUZ4ubIqruUJ&(24kyBiaZ; z?dv1-x*vqJ0U@I&<|R3>LD}dF8U~@a*3Mjl^B6l09_o{bfG0A>n|^gA%&alG8k!v@ zdA=*(cQtq1q3AkCvLRL^{+CzFHa(;q+y!9oT6P+QqTu0a12$-CVi!tuV_dj5jforo zMB^vA=Rb@t)RLyHK`HhPIA?&Qo9??P$qkQ7p(SA$PUp^S1L%CuqIY|07+K(nJlx-c zN6uxIeS;+xm3G=F>F2PSZ?`#srIED7ai5yq(!>p}HCU`2w0xP)7R=E*?Vi!`E=j=1 zrx|@Rq|WdoKs2oe5T)8i&7yTa=*P@047@`EWCOJ73fDdgWVxEl+xshyJrT<`LCA1Gk97Um1lk%YeFV6da~PYTx)+dsy3S2BF< zpNXcbfMtV0ug#W}mdj(<4uBG$q1G65Rnt^#r|Q#d*FmnD*cP1NP4|H_J@}jl7MM{e0|E}^OIa%-$*;?&=-0z8q+mT>)%?1 z(7LpaHmq7s^Qww5<6&H^*wlN2KGCX$Hp?pIf!-pxJ{AKmWtro5n+5l?Y!~cab>Qay zZ^GS~Ubc1o3&7slqd*7)QCP&@o7gP&_PKwP3*;K^H@lyVf{l$922x1=2!g(Od70N= z8T6L>iwJ1=zQJXgHU#ORo63l6D4KQABFu0K|2wvbqIrhny^cA&>4s(8rNM1CKJ4CH|L-Z_lBgZSM)U!`i zE^kgd`}77P^o#2=9^XU|GwXw(i9qN#&!5;U2e-Q5uy(DrE2YGR74*<}6QcC^{Ty59 zqxo?$Cy|i)@SGDQ*CQW&rryZasL5!-41RhPzU8?e=v4sru4O4VH!n z>x~Gh;NkU1o*o}eVGh`+>#QTKC{`MH>V?budO*fRfAeW3*=!1gyHymeU4lT5hsxuQ z?&3S`Mr&7occrvlN1ThK(Za&to64L9505~nZr+tyz}^(s4#*%qpvxS=zEO$oU-U0! zzFb)4!;dwC)U<#nvd8)1c%0(1ky!;q~I{V3}j8(9FzceCLU2VF&V=FXgHa^o|M2=SxYGSl+RlNRw3g-`VT~ zXg0(*ltAE_Y_Kz-x1u87nyMfrK_x<(>$Z&!X*DfT65(sIBE^9@XjFRJx^aQaX9*9X<>?vGvk6@a}vNP!Rrf+z}eoZKS!ztr$D^C1Mm ztqTL$ijyk#Mb33cK?^4P*?Ve}v^0ni5HhR{+0JI|&0p7@zHeX^WR? z54?i<4jlCTpMdDK@ef98m#wAk@_kbl6Jz3)10~E$s-}fIKpX<;k{>tzR z+TAG2>r@`@SD;f6A?Phge;i2Bk_JfCwf-oo6#JuNfHsHTV_wzcDzVy8kbuNB9Qi=(QZ zRYznFdSrhxX_AiFU%r)~uH;6(LGg6lCPmLc_C42*z}6wF=&}9|-}fUuXsis>%LcUu zQYpy!B46nJc(t<>RJqWujf4VDAX>V4vvb2?pLn3fG5091I(?o?QI_(udD8=?`K;vw z2cN5*Y#Xl`$lcAYs?)IpWs7^RpC0A)eIrXyHQi2vO{4-vbHXpnFQvFDwa!niZ`Q=Q z7G?|`hku6Y9rsH1z_)t zaR3B?AZTnXEqx6Y;s0MU0~xa+v9hq?8WYrj5Rc`ux3_@LsqJ7UUAAYeS?4gLyBS4;OnnYij1$WmfyRw-dfev5GNX8 z9OLM4o?))Q=wKZj1AUk=*jn3atxr~^n@0aej@;ebkL;6#Hd01hpjI(!P`B+{f29{Ix_w3}AhF6erx2SZ<@RDc@5 z0tFm6Ks=Wl7i7NZ#Ygl66pTaHmzpjs;5;AdhIw_cOJbXlA3ZW-N%KsiNh||vWSB%U z27p>iR!6OoWTAWW0g%)2N?aBmU8h9xMa>HIp+@wGQc;!oULEM=h)O>^vymk@w`z5c z`CZTeX^v}Ru75Url#Bb6eao1>&=UpG}9=( zlI3c}KbBM@Xs2^|-EFyExYqcT(xuER=-}+qX+&RCb)M2Xm~<~B&mD{yxW2oa6vtn; zh5SOV^X*#z_RbguKp2Li#nD}_)U!Hyj^0XM_0b4QM;#jIpr{QQ!f*Wf=_P1h-bWmN zoS?4`xD!dGv@UbXIp3yhM12ey95sntdeNdQQCCD|)@(h}`@Bi|ja?9H($f1xycoX0 z>QDn&{bu&XKhUi;>a+W;u`r~)fnrURP9{-h&Y!3jsWoh;mvf5XS{)N(98W1R#!uYn z*wN{nMmf+?zXRFTVV~O8d*Bd&y=&V^7>I(0UY1g}6-=!Xe?Y#=Cx6?-1S5T+;;k)u zX3kc9;#D7LLI{`M4%z9RVLEe6#W5~$uem+d@}Djf9k}F5b4u>ewN@9`a{urso6Qqd z7nEa#nQz|(D^ff@d*dnx8{GH?+j|MIO2gq-HlBf2oES)xr$*{{Z!$IbLvuSLZ~!2n zSIAOnp^{*7NX(2uU!F-4%#ED0ly0aE0BpJU=92er7ndX$+C#lDARsm};OzPX)hOvK z;`>NiDRc&{ujF;#O6C%o>aospXLm~~7|s1cqTK6=IC15I-1giTrnA;(YK5cQ@9ns|T+1@W-1?eogG>Tx)F=M%0*vtXZr93ng$uO-%?6T5(4Q%?U~d3y2>5ntl}zdKbM2G6$lwZcCfBozFiLLA-boJXqLaG;OkUeez54&y%0VIA8qN z=N}bkkYGJ|&L1xu#ZRUON5d{oj}MXE-y&LS1ZIJHK^k=BMP5fgI6eifrV!L2R;5o8 z4MibG##G{|Sr%DAczJb=PJag{XXiK=9ih?cBd;9z zY{0~K+KF6D^B3gHwKuf&Fj;xl6T4tp^Od+e%QFzyKiSBk$!`IBRFU18UE-bD<;k^R5r{zcU=$Co00B?)&{V#&~nFp~_HR zTmBKaU75aVWT9)1s!{qF(56h&=KRkWgh3u2YH8r<9q8HZw&1!1vO=9;Z&FIocBkRgT|?PTU~uC7Q0rQ!0JLX0erF<5}w*(q}o|6D(0{%L5$b& zvs-*#wilOmy;#33<$im7)9@((dsnd1Fc1Z&iJRn5@!-KiYXt>+m4YC8^59wYAo{V2 zKj1fb5NaEnDmBg4Xw^4wH&r}&(?bJG4xyXuLSH7cvopUf&^OX<7xVfb4?#+ToZfxL zTo5|M|A~JeI$LWB7;Se#fdyIX%)UuWE>^OMO#&-!pL}v z=|nv)=$-vi+WA6YpN@6ea83u&D}z^Twh*c(7P8D8=>%4tfWym7Sb%oC#Qnumodto^zZpveg!1x zbJ)UpbNH|YriimyJCWyeyBwVW#@V{^Ysr`pacs1iC{(UG5V#*MIcGak?<~peR~Hs) zz(Rxf_w)vjPXXAwgB65fAPB=+-%aRQpV8OUe#Kvc^q>d9Lj$FUgk($0X1bZ3{U(ij zN6~-U6gr)b(-T2MfcM4mtoa&;d7f7UTO1bRg4!VI(*{!7QbkL*;vGT9df;3}Wx7}o zoEw4q>*c&U4ToXILZdV%WYXaomr3U?T{%xWZTyT>~2!+z#gwr#VGiUw+(3hKi{eMd-&>fUDvNY8&HL~)Fk&;(4=&W@r^Y_qY zxLnOiEkY{UF1;@!VN>uA{?gep8`ZZmFa|Nl6ceZbP`^y9S#;4$<3Fs{NkA>KWCjY| zZWJ?s%wOr`_=qmfTf)w!lLa;EHD=Kvb?&YyWB`sC9EQV@=!8GPQY@w8%-jgqg%SV& zECKPnuzaw^V$mTV=RrA!nRCpSHfHc2&!*BLXjLnu;2E8E5Q0VHeQ1r}I9)&|qhaPG zbBH1(s)usf6)z9RvB}}%FV9b;!iaX8dlLR+#_Tqr&O?tHJ53t&`c$$CwC#EH*zMBc z{s9G}vG{Jl!Ou1g8V>q2^8>P=u?~FFn5o|1-q4zVvs$i@TW|=*b9flE+iht!!enx2 zqrF<4^ASzl`!v1>s97l8pQJQ_R`?v*1&i5nPWA?2nwY2Pa%RI1DYcNmYdGQQIhurpZVV;=yO_~R{oFR*lt3ye(yY>Z=~-} zX&8p;Q3!fA;Vq}8$u~z0^isj0s>7KMAVLu<$dW7ZODXrgn>0_#%=oelY)Q=}4 zh!|8#3@8xzawrMVJ?~0fDix4_*L79b&A$7ml~>y~72)TcALm82!9MWM%#x;}AO=WU zNA&2z9(^G_YivE|Ue2LH0~F1B`%kTg_)m6Y&hwR=|58!K&ct>7bd8_V8?2iE>|ISu z!$1&yiAlebD#k*4DB?lHqu{}lqG%6#5Dy~$Ie(K_@KB1S2!aP|OTm65YwElS8@x$x z9vWB(BuqA&Wb$@)=DlT^>K<0(`+qlnRE$9~Cs;mVn3QPA2vVEk=K2ElS{0s?z;_G` zQ}DRxB=3rC3+ET%zH)N7$}_xB1(Q@WAZ(Rko-&4vv5s6H+ApSOl?r-Pm5HVOj8M;`->WLD5@)Db%3CD%bJx*ly$Y?jFY{r*dBgQ!YL_$k_D6j?v0Z zhC3L(iSrad8=|l>W^7a?55tNgX08pm0@dXf;4xoXiMCu-P3OOz?0?yl^0eackGE}w zp_kvjm-V4P0BIS9f)6ecbR;)c_36As&Z^a>up$ilx6{a$%63pXS#T+oELDPtvZ z`1)o#v(-VPLtpmi{6B+$;QdxU(Vy$O(Vt5Pwhtx9cWRFx;+jn^iGdK?n9eq zJ_O7&;G*tx-}kc5ZUGyRcg|UBLWhTznd3So^e)6M1f5b^Vh8^1UT^FGq3( zy+EI9?)$g;D{HmBxxRNbDM+j)y8HO`;Ar=G%MEV<*t?dUgrOjMtUQ|9qS#s209W!r?{Kgy^DNGN0+QKcxhcpS)**q)B zMQK$>CYOyTU(W+E9h;K^bDoOI8WtXwfseb}8yr*(Q8B{GX)GJPqsBa`PKejB?39v7 z#Ep`slcaQv16R^&9qV*_ihooH@dn`>S|M)fo>E}rR3Q`6X2|PP0COp0`9Xw5v5PGZ0iPnOF>L5@mOh(RpWRrmngU|VDKU*BMu zrl{m76n6zTFK;P?ptEQ;8lvi<_xytEt4lPG4#foXUbl;nK_8l`h?;TNcF;L*(L0iG zOr>n1QYxc;*1~?JN{M!c_rVaB?c(9_3GIsxbi+iw(G=Ps3s&W0B|GvzBWdQ)SuaIV zR48;a;BHKxP`Tq;f`;M5#`FpMl&KnCN$DZqvKUpfuE}uZlAk5fg}M~UASb#^#pbQ; zFKuN8;#&aruCAqFAP8{#l32w5;eYg{f1-k7K_o)`XicgmZFOfZC)Ed0 zp9H3w_s4N1zD4nW{9axyp@S6VXG!A7h*Aa7#N~1}ypVG}ruX*t zX@9xy2aWI1yJ79N4l?JL)jPkApkt!+4FKxei4?`P93S*xZkAWiow`>ak?PGO>vUf{KaK zr`enm&rCrb)~VghX>iye3k9%`Mwbj0VA=rnxjtVoYpj9&6gLIsnQ6nA5me}=mv8I7 zGX1Qg-VL)W!(Y49pfP4C9Y7xCc{Wx6tv#!bOvnrPQ$gG^O#IqLo6fr(?-pp{H!ts? zL*qR{O2R(2Tw5F(f^fQEQnKcS0mj6i{KtO6@&4=pb3PII-c4h#0AEe*s#bh7Na zw)j={Dpgp)gCYw03%rZqN&KTC{sK??6TDcgRV-Dz&2Bbz-eeQJc&H~24J@Tl(k3Z0 zFEel6{AG6`;{UMR@Bcg!@@xxhtW=Z5PB*64(SXj559#LmiZkzy%Ql#tp-@ z8^hmlJ#%0C`u6ZWhUovedIJVae0jc6>4xUJqY z%n3QXA?-P7cx10W9W)$+vB7dVv2rq%ouKA%cD9ka2OewmY);e611NyCAYWY!+5-zX zXX@xt37!ttPB}C{x!m*xuesJ5IC2Xh`-r}kRHdA{;MOSJVbH;*d0czy;x5kL1s9== z<2?Z5tLWzjn)&J9kyi|P1}%~PGM3M`=|Rafvp&bh60%G~!jNf>EJ@euCei2T%IhR>7+xMTjwpNvL&aUtdq2iU$u3gg_u6$%D=8?Cj3E z0eVv`{5LCaH5k96XseITGwW0m^tvk#z{`si*Ed%Zi~=hyTl)GrnVgf%k#8pN>56W2 zKH*MZKz052%;0qz+~3{ee3I%MD0+g(yP#iUg11?Qm)99OTlDFRw7|z;tmd)ue07y8g+SD9i%Nn+{syr^z>MtnH_`da^yrmXOs2#Fx4r5m7wX78EPX7 z-zzT*OrM^W_Z}Y|Vt;&qpdX@YTI9utAl{j_jx!rs?XuRK&tZ?QKpdi#4?q-M*K^H$ z$fMgVLe`V&8A0Xk+;$N9G$Pmp=)c}*e6m(2_KyJUT|sWbFc4fyOB{$w5(xo)O0GTR z(px3o(x31jANWdpsHy;pAb_IotUG=H;?M(@a*1rmwv_SgdOdrsjeBI-#u$Vff9GK+bvo0*C@QXY=H7Id}^LUR%k~dSu_<u;DqqU8_#u`q}tI(ZNkAtUq;VQT8&dnV9^;6=&8sa zb|ab3mQBt(L^RY1JbZ5Jz7eRbOC8&YE<#lpZ<>lS*uQv_FgmaoxvnGQ@dUK_NDh1Z z8{)yc_2)H`Ewo*K1Yqw9RvHF^=%h)LHJX^ZRY9#%M7{LjM|l*#z&{mg6op2qp;i%N zL!39WMZts8i`&4Q-j{o}7LCM`7ri(?qux%3Cet@c zVpOKRQ^@l)3`#zFW-wS0ETtGg0G!vOG3ECosu)nqazb6JpbQlUbi*cU3qarA=c%yEke`p}!qO`1Sbpa%f_z-mA`LUp;z8ck_W*K3QA_{`%kdK( zpBxDz#v+Fl2kxVaaId#3d2G93rGwoa#{_b@R-j&o#bY6jjj)u~AC+uSq9h#YkdR{l z!v$Dp!9okqOw)vtbWNm;0BbO1FzPH@7hnfqD~mQ9Kg02Gm83!BoXu0phgVX_vc1{m zn8UE4{zJjaa{MwbNt?|rG(H7j?^;$GhN9r4xxHz$H3e&HYz15V1{bdU6?cN*-j8%6 zR>c=c6?{~iqz`Kwt#eLAT!;%@xbY@|B!oO+&bgCwXMO|F(oVT-|9^wOYZ)2!1@k31 ze+KD~^>9&!87#=-FsJjbdN%EUBcu~cK$=JE>KZGJy1KUH2vow;4qsAk z58xAgJ>OI9ky@=nQ0wDxe-DeL0M)RFS@!+1lM%A7LnMgMA0;r1DaOlS+c3$P5D;<6G)9av_`nXIEK zf-)J;Ri||6xwyt^rHNFg2%VG9&nZPC(zFsh9e$LTbgaDkWBLF)D+abgHw8F9?I7ek z_I;Pn$!i!1&V5YBV?IrFqD3=2#kA7yKhgfK33s%Kcd3(~v^N3RyPDR7fgn1G*hCRb z31UUTn?eyO^)D!R&0h~vDg-==qGC!*l+ea`Gwy<(1WyHX$t7&|Bbj;o_U+qy)1!g! z)5lo+&r3L47zOc<+i5o`iX!UwUg>kbpzUT)v)PAG8CWz+3-yqgjwdu4y-`@d@goEO zODX_0r)C%YUIZa1FrEXRW`iDJq*r#;y$-T9&o6PH{St)ek@CUdt`WSmoP?qPiUm@J zf`g-^AjEXH;iRDI4{X@T8EFFv{~nKmpp9w)_vLb>iU?nw-h{6%94XVNDGnTv-HLZM zbmFLC{F7e&O&<{y(WnKgWz<|Fm;K^og4!Hsj6BH0g8)apfL4GoLC{kI%;9H4@ zdU6yB1CP^yBFx(`_8_!n_OCK6>F1G3DbS8&_`z-nA2#%G-y2co)FSJ=zr9l9ujzvs zG`jNEwRJln`2~dn?gz|JHeM`EBK-g6byO``ffKe|AP2B zpPkErV3=rm9<1F1JAfIWiMDabK4oOvK0ZwXv)FwNj&BIeL3uW%5zHfDKly63hPiLF-QKv;TEfD zKaq5o1bqM7MScWe?}~C1grVRwn+gqzyCxEj;QbHa89arFVa0%0iHh~jYs=z~e(e5i zViOX6fHt9%>2%)oF93SQ*ZQqR|IgN01`P%vg!CXP^vshSm2!z@u;k@FW3qt9e3|lc z-WfWLu?(J;C%Ag8kz6dm%}mEu?z1v z&dWScGhy5~6aegA@<1%K?!*K6>4Cum6ak!m)cenzoTXpoupczUIk= zO3&<}AETdO!lrKNnk;COR{Qx<13 zra021rxESTBYhWJ+H4{zMYsMRK|#`onK{)Xe!l!3 zXS&4!sr8gqdzp9;-H9h5fR|~@UBm7tpx)S5adv{+N)*ry!fmzxd(sWv#1F?caSBnV z5K;uSR3(m7eriQN)_cB=9I+ZRmn5A@S+!z8%i#^^`8L*UM5S9?^J#&@ zd0{gZ5^kAv5MT;Z54t72UV+Ys7Eg4pl!Z%jA#tiFcp73H2KO=;S0L@K*X}0i%uzpI zq7HP+PUKZpf?^x3dbb4Ga?Dj-$b4abGxjKm3?Sp;QVbMjU1^-Z0->MR&b^l?mu$&ijewnD0S(-w%&;%=#{5Z3wrmcw!G zf!-Sn4v=#sF#_hUakjy_%;gI~Y-2y9>m4NTy-@c46zA+)>5cz9m*ek)bntSDFZvOH zy*t)H5C*~ktl;W9@cxTW#BLl6jwX=EclDr7EG#C}bU}J84P1|-|Nrmhpl_!F0YA#0 zmG;Y8R#?o&_;44;n{(_0sGmW+9ub+fmntv0b%(7oS?_U*R;j}$GW8mdC9dq_E$S$u zNLBtg6;8aaC#r6hb1DihoGhpBe|u<7n$`h|(AG<*qZC`(mH@Jbsb3{=vQ3H3#}ia1K;t*L4e8kv$6oTXN8< zv1)62nK9)>;wuy-}92?JqplwA|s3esRKwLWXFeVV>N+m|RvOD_eBRusXQKY}&sH{V9F zhe8it3I=irXj~GUZ+5@gnPX{a_^-Z|^ZxX1{?}0yU-jmXmhSM|1NXsabep%SgpD@! zRWp^NspMnMDvtOP7p7oi=sO!{GoOCcOxl1VK+gE`@*QjEd+x zO#mjyjmHyY1++Ow$sC>B=RixwN+IJqiu-ujggXfra~cvQ@Qjn6 zl^)a!gzUADuU-gi?_Y1wlwwp$vC5gJD8;KQOg~!2!kiPiPl>08M_pH^Zh6=ABuLXR zi9kq}ZjFa-=e&-xYO6zFCcibE&EX4E|H$6awl2V6AuM{GCOY$=p%P_=Tz1;XGa0?U zpch^tPu5!OEcNTw)H4yQC$DM4v5UuY8ggO4b@=WfJ>LNQKm)%W>t^2quy@Be2m(PAhAA|hhJyQ_!E4YM zdkakDo8=J-3u9=Ek`QENH>)PY?_=iekt!03zWjfm@7nslRsP+1DDwe+br)Z?&_>tI zP3~0s=NnInVA(FSV19I)uZMt9#!Rc`9NiRo3UtoBU)de!^X6rYGUMMYs2Nuu#4RW~ zBETH=N3EgiEK-ZiwP){2UvK0dEqt%%hVtXD?3|y*Fbv!0aILvi734BsCEeOwZv_@( z8$-X?s`4j6;g!{~%)^ZcsrwG(P$TVe97|$B^zygq-mwnddvBD1(z-efidP{@VhQnO&gP@Nfb*F z6~T-C#{NJ-e?jz8u$tC3JViwf~`(jKd&b_?#iHU_qZ%c~1*Zeba(n}&g}#sr(U7ubUyj>54@fu_qx zgr0+X^Nvum-$v$9l`T%qd9cZaIQPi)l}$k&_4N1z4b2YBo?3=cs+F$klj#I$ktq(Z z)K)_aEz;{g;L5$qD#z1eu8ky}*i#25)aupPU`@T|td#ZN$;ahD19u!hAj=bsWS)d1 z7{Cd0Fc_28$UsRZ&DrTWu5WG?7Y@Qhlu`kxQXbvDWi3jD&tI88d;a+`M94iq3QB7oF#wy;?hjngUt6`p{ zlwhIMK}V`%9h+^KEno<%)tN<&YlWFytNte7Iu6J5^|M4Sr4-;e&vW#NOMJkSW_;gD za0m}wXh3(3(OQc+@!+bp#ymOaNB>0}_m!M;oC7S^e7kkcTWt;&K%V`KJ59GyslvR> zm4Dq<-ow>K17Fr0gGKYf5XsqB&pn^7m*d|4Z-Dc2&ww8R*t@o!2B9E0Ahfnpqog*~ zdP(>Pqd)JrG^D8{S}U|7gsVGyz-J%y#q_)ql9K>)hS}NKzv$y6i+(yhtN*@!`0CU~ z3+{`G%)96tD;AeC_;*Iiu$rNOQHZ8+yCw?a%b7NZ+xT z-zrd1bKY!TkmV*mb(g#f;jS_D&+)mBF`r#@Bdk2^g*mRHHCBxMtc;U_K4!Kx7ey_A zndr7#;n_^2n=qC&ja7#p4_wVNu{mo|XeslYj|YxAE?n7jAO8RFc(0)B2~*`1nmkKQ zVf19I0Z>On6U;<_>QKa%sLZ?VssO4?7+@fL;u&H%lp#b*H)%AA~ z)HKgPuhZedKMr?btE6GIr4|>h)*Li+q41uOGct!H$6nDBE})#14xA3)lU;*2Epe6s zQxCdNPU+E(LP}S*d-xR0+Wt0s=K2zVy*s#J7zBbSddoRQ(0>W3DTfpgKYPFA0+Jg@ z$ihMk_<+X4F#8WB<7?_JyIcqwM>>2pL>5xUvBoi%$y<$I&eblBaD3}26FcJSn|v*a znN66-vdt}TY45}`wsE!BT4yXM+Xj!*g=9m~1)5+P4p}#dfCbLSq>A38S zrp!g#SXsJ4$oko+wL`?o@$!O((zy@HXXtPgs_xGtemTEubMU<9Vod2Fru9DO;!T`< zcCsv{yAhen<;rmWp6|@JJfzg$btyMF0#nmadvj5FDH~&y54c#=l%Ds;}osF z`Y~0&0kwwq8y3elDo~vs*)$#b4C6S$z;ea6S!EgB103mj`ul~d&gqw$(diC~Q>iUS zjE}DT3mTiyVp+fsJj`Eagl=_lO`=b1))nT@4^(Ix6lJDqmWG|&GD4&wk~kFSxSR1E zehdY+L@vr&Hu;7yF`3?Dz4|89P6gW0N(pw~7HJ~;h!Bd*(v2udnA$K68)|zLNAv(7H!RS{9FyHi6oygJ`Lzv|xDtHLAT5`CS)HWmpCl%MUz0&1f!d zc*7CKw+A`K&PcXl$3TvhZ29kw0&-ouE%usPkt{{#>gx(+{wJKg@Z{9rqxa!)sy!8F zmJ3p0=7lC*<#1@uCt(2pQfs3*{~LqzNtL#7oYh+&1D^z7?+#7?gkdOvg5b)|<3?RY zJb2a@{n`b*H6Tc}HC2ee=}+?48x~o(j_)?)v(wY-gCz`FQirBOcQ*XW$N4ZjNUDXz zZ<`9(P@a4jt+m>83<7traT!R)HhmdHN9bn8f({udh#Rt`gXc1uc*yR9E?vi;*1y;& zPfAp1oGSyfLS!J(&*}g=HeQfCJu2+_nj1YKSVmZTs=?4#n;)4z&bdY)>7+;vAH4F9 zbgPFO0naaIoNnQko3kGyf4uo60{p@+8ru>Zz?QN8p}v^|P~h!Tt`ex$MU-ewAg_GWGd z29{*WF1zIIX6Eg@Dwn|LsycnTj=6*0(sH#!Y4XeVrR6kJaQR=!_WE+wYBOInPW9oLxk9M;vQxnF6?nox>SqP>cOZu`xYM{tu+a^2mab%- zE|@M8zU1Ny0<sd$0U6L{!1 zK+oJA5N36GEu8vze0xU@_Q%`1j9!KWTgQ9$T;NjMPqQ@{6*XumLYW&pY^?(q2LKV& zJAgU@fLIIwuoeh?e0b7v^Eo#2`HXH3qb6D)(|plr+bDt5S43bEb6wIME!gT^2CQcQ zk9T1VP!3xmdDi%gxo8IRx!KEPI@3AXA}5t_A6=ZNcY3|54XS$iw*c(j%L;=q5QX7F zSKZVn?Zdi}fG^X2k-zi>Tvb8vmdQln0JdC?TisK_cvkOV~lA(2flPBhYsY*bmuwa zqtCW&a}sL;bG^whJ9-h2bk;9f_E|0c(=NMrg>skW@ny`u6SnR>l||6^a_z8f-Dl*m zjPa69NSbSCa+%IJy-Nen7y+; z3HO0>2EqO3QCtwPJIL}9+~#a(OQcirJM{Ye0y~x7?UK&Lcsi5s1a-B42DUQMTY1?( zUZsA3b?g4I^(6p%_i}?U3C z+I`u3rQtR|^*D^DfBiZJeOH$Qr<|h2JRs`$^Bl{yGBVL9>9%bmlcI_u3|m=|RlnQ3 z9rp+Y%3o`3-2Lr(>Ys!@rq|JfyaizI+Ey9{qTtxAW}^#1ks7J^qGEqR{d7M;^d}Ut zQX!;bvZ*1?oY*4ztPko!NCLTT$n2cmGqXQY!I?o2)1`<|uNJC=EI0+|uFp&?kH^37h8Q|9qnPy=g z9ckiiQh;QbAf&YDG({wvc5Oq}>yT}EjPpJ0WNaXmf7bQ>*z(g5cnSEz zrYB1-ZOKQwxHvyUtgDrioj_V$6)$zf)%6XIPfkrGS;qzP{jvE`D;CKz0&n$-qI^bK z%yEBvhuQRT)!m}H5%>y(C1z>J^ySFcl3_2@aPZljvSK#+tPLq2Wk({0ET3#$$81!2 zthzRqgO{+0XxGTFYpy$U64X1k3^O#H+JM_~#FHEJj1AVjYLFis;%G8qbkTnO)}P|8 zUtH9E`|#a2c@u!Wvqu3ChQX-dBu?I?H}kq)!O2Zf>}&I!Ty?1h5&zo`=`(yuzFGq3 zpy|K0M$g$G^r76?kFz-KjIJ{xP#>>USEJshTU8<9np?vv)#|0q5@*CA#BJoE$_*)- zd)OO&#{vP-YD{@QbgXY1|1Z}uYEYy8@G>6qJ7>cO)tcV}!i2V=Z*|_d8t7w6DJp1J ztua2`G4faQJ;&x>1mEV}szD@U3_g8S-_6Ei#Ic$EIH!VxKG!)J?z|nPxIidtl=4Z^ zlpr&=2hTF^s!F&H`LF9%%6B!|mhOe1l&5wHz}~g(GzbLI16b~b7$cG+k*-XNjGt167=W>K(DN=S`dH#p2zcs!aNqERd zZ=Kx1CoB<4YUD=5>oBv2;f15ia7*oQ6io}7Jrc76&5tbEqqSTUMsK00 za)d@abS4h&-J4o=)|r9Z?4YvmUAx#V?%{0F>VIW@i>+w=U;os-ZDxo%}=sW zO@M|#-w$kAqknX$5(woTCEIAJdH`Ye93U4cLzxb!axv37c9L0oxFsH z5%q<9!3(fZ*+2*|RG@~Yt9x=LiG;7Y{ZrPDEz9yjb->cO;HuADmAZAR0;*US&)jdm z#M?S;alEazq?n>1lz4R0X+z0z;^H=wi|y1Lo5ADqcJ`6HNvgPFXn0Tv>n6<`GjP9< zZq@5Z<%Udc(kuETIQt+^JakHuoQ84Qt^xT%>S9B$)w_ngjhW*l=l(n#lbp{zy7w{L z__TgI-`Y5cAH7lC>f=~7{`ztsilNVSQ?}s7a~MWb?O){iydU>(eWMvtu4e^%3c%jA z>?Q~W(Nn2K5WHNKXtg!*Gx(qWM1QoKMj{o|YD{aa4=hS&#^R=X7i~%IiV&E)ICJJQ zbIv6JnlsMBKVtpCi@`TPvdr)|W*g@pe(TLj?3CCgq~2^G z^s0-&3UNp&8KU3JIvh;k*wfIqOaX`dm_boV-|KYIBj%}{8k(NQhQN)PB~Jjp3?uYA zE!c!9MwUWV%5Y3WTxEP+6Gc3i0MMcY(Z9b#y8giHBtgq>h+^GrGR1negmSCU%E5Fz z!eTzd@@;`eQzMFo5@Qeqa^z8{%u#9*ZD&@K+idsP?uf;jj!X|852s`jk0OMFXLQ@Q zV$BtWArfNoTou?8u;2pNyGD`}1Gd zC(W(HkC%MmmjLXYOA3H63K^l#X? z+*A_zZ!eC|1dr?ny`-K@ppw?0K!}jCVtptiVe^d{y2ufboI_2yB$*R@bjVXKk;*wQ z1v0|OKIvI%S89>a_0&M$#R8P94tzYQ7KDbGgX64Yj1dHEBU#B6T^j1FwZ{6P*xq~G zi@70U?xhz9MLZHJnHr2^*A^(6Yg=pkGr4Z5SZ&^~3p=bFeLL)8ZuSf7VBbs-2JaJz zhjUa*qLW))iQ8Vp;`KA_Ri<)5pTRTRCIEX^vy(6w1gAwbQjq>YQHU`HqKQFcjPYc6 zET77gFXGjMkrP3!Xaqxnmg3H~7@k05^h@^E=4;wyzS-^W%un>mTxBQG|N0}#Tq$!T z*|5rT_<^MW0z^re8}*>Qil6xb&V`f-NC^-bSxJE4G8u>X7>-c33aQt0JX1-C`E-Ku z@LlWEQ8-p()|`;In&;x}B|yn4>b*?!$s+H&4`~Tx8mdn8#rYYko`ZN2ViC>Y3m`i* z3NTXjHoxNH^rVg5MqPC{j@w5#JZK?!4Kx-)X?y)A?PI3@AAy=b0Ug)YiNldF?Y^+@ zfm~}B%i2{!mb=$%A(3ZgueVLf(!7cOV-L;dK02LCHMwonef2(McCfU;VpoT{dCPmE zJBuONg_&PRPRkvZc3sdp#&bN31Y8NQLZK1Gi3TSd6JhKdo0bMu1{Yabf(HRRW>TxH z7{T)ZTXsbNgw)8Jq z*Ah41z3Ha_>|Id`f0|E}{+-Xp~3D5RI~(w~llJq3YMxT0iEE zvv20<9yVIEm1y^euHX4^Xe?w-GBW_dXC8+DPRo4Rdkat|qveznFg9EhS6_SRD1`t3 zZh%gvR0oD}>w&rzrGU-MfG^hbfD%Q5dCAa-u@2o7?6=1E08r5~w%V-gb(U!>DKxSk z{myU!;{TkpT!8s>N=4ELrwhyUpQXCwS2YRe5_Ys+ZPfmFu$FO0caA^oF*45t_W-ko z_RJ0q&+~t3fbh(x@Fc2HkneN zK^+*g8Q=&)vmJcV$^#h=8`XExX4cP+$S^yHv-o{+Cu(u<5JXRM&g{K-D41~fXnZwd zz+2ONTGGesk}l4UrCZ~@_BK~xWMpra*{0@o>*|fF#Um}AW(@QLIvEamO-I)^V=AYG zG#Rhz6@A-Q;*Fi}1DEMe0CwQ@KM)HX+P#{dk~)1L{)L^uQrMXkAXC5qi}l?c8|yBu z4>^t{rM%Dji!%Wz;PuvgxSsMCwp2dPDTrSv&Qnph3wcd+tr(6EwSL5~2N$yb*)CrE zD*$_UaDy-mLt&T>g1SH^V<%Qb+_|7H%3rZTC7@DnY3x>&`|LcwoY@L=`SM(TKM35F0VU#t_y z*WgE*&}@dzJ6*ezOZX65BTh3L5U!v*8%owDq4fnkj1bI@PmVSO@26#LXq%lKOW_O7O2QqxNMfaFgx#M-pnxp8fC-n>9wN%pT9f=43y9Z!~RKDHrbBiX9w6#=KB_w zoSoqWAuTV1|aS)uV>qlMhdLetK=%Mz*_!FUp%L1%g8M^D>;^~zcTdCpWoL%Z3 zp)9X&Wb}eVGKwgxPL%0KlIpii)5`KHqatJhhdOv(`y;i)gELTnjrHe?ROVV)zzCyy zFT|Q1)59+ob290N$9uZ=t)8Eh&6W~J2^B7rlA;~#cMGO%Ix0g<_m#pj5S%U3%lErh zn!S+*NiKS}m%NlszLmUq(|s#t@gXw|0ltj$QubYJa!yp9#R+@j+mA|uG?UVJvRc1N zjSCoU78kxK@+*5jkx4^L72O^40G|S|cLym9gHRMjOE=rybZM?28_6sj@q*)0D1-_{ zNvIkJzu)Hi-meeSb6$D>!`O|>%CaUJxBmas&P7E4NRK1_R@?nf)TPYk#hA=jrkZ|7 zEO2_t@zkA2^pTC~4}peR6>}bA z%v#@moH{jWKE{m*@g42vlYbye#C5ekjI--LhaR>YNk7B=bT_Qk&Pxlrb`XpMqF;=W zw_#~p%=vLBkD#LFWDG6G@(Kq3VW;>hOZ!fN732u9vS_P+WM+w^_c zQQY3KjH>0{&Hm$75GtMLcz&5mKjiZ2+SXwEZ}XWP%9#bkd%Q#wNHc`0b`N($u;`wc zaJ{N9jja_F!UyA?mAQ={M>d%}0q7QXeA2P=i&NV_NaYqY8fTVe_trn_sfT+o=ri1D zeLeuXe;g^>@BxZ*rJja@66^aIboO=t&OURNokOjaK8NizaczvqJj%S1#`Usv`$J&f z6=jlnLbb69-zYYXOX zCYQR9BuO~ta=9R{z53d4{&>#If(YA{RTm;)bc_+e)HPSR3`c`br9sWJGar*Hije3z8U#|Fj?`>t`GE(rsI+`}eq-TJeD~{E z;XYn#>4^*HRRH#`Wv4+PiXJKmLSM#OV`~~+=%={zb6vRbKTJ$aAG9%PX$?XP45glX z?FYCqX^gOg3CztTXU?2CbMJ5GgZ}9i?Uxb{|B&{_G-&&KgRmegCEvxAVEp*>44dF; z2W^lb6Wq=;JDUK8PiD8Pj56XZiQ$RcfZ*+W4yNIVUnnuSzEU<@@iw9@%f=M}G$kuN z?RId)w%Im^8+gb~j&fJ3|5_?ySEka8)-{lI6XesZK=-n*faDyJq30VtMc5{Q#?b5!yt(XprzC<KBVmg z@Hj5fk}DQI6K3BMFM0BT8pmQ1hHyl)m*Rzte;IE$$R}jj8OO}!|7z%8c)G%|#Bpa8 zu=rnC!o$p-U)y3OS96bbco|EjqxU!v1H+d9?A=ic!Y~ko;h^Wq<-LmM5#&q#wca3z zfzq@k$u;VW7UtEQq zXPu#8=r6tF5M}+dXW#j{d#DzuIgdVZgn*mBxS-~8vb73rtOcphITw|}{RGFG_BDi^ zD+|O5H7lC2uKA#1@fhPCMLhFqIA?r0ZrgbM6#JahmxhvaG4~$OdOUjScH*^^-a&?V@%x7(d6X3}HHfM%|3d?%3rjB#k5a>M5-JJOS% z3Eg=fEyyx+zVbZ^1}k(d!o{-LZDlGr*1z8-w3yE%!vjFAAw{SK;2p=YJPY6sSp*vT zrKm(-1}LKLG(9kICzS3Flx3FLeIx9;WCo6IMICgDHK`trcP$=hfGX;why~Odp9s! za6P1g-U6_9#x?+gP!QGDf+ZM;#Qk@mGBy_afTzR>h>?UyEDTbd$M^0S4WRM4uUFrH zX!}kRgso@x&c9M;yFkP<`cw|!{sRnP$tKkSUR+_2bk!I#KE|>+RShyhYtN1!$6eJ? z!)|4>It_WgTH>-3XoeMk$kF`Bz)%4$9g+R{h$uU>PU}oBG2W&U))7!wiSphx@P5oEgsSi``Ob46&5mA{st|EKxSGceFq_tA z9*UVMp5Mrvb3RHveV)|74=;{}H4hi&b_&4WwdFJn1Hs9oO%WnMDIbW63O*1h7s!P< z4&oYBq^hFAaU;hqJ8L&coFGE@1hzlMv+LQJe8d;^_781;W2u=BJFa;;0FI-d@_CSf zWzm@E1g2bcVk3Jd5EBHhZx&cRK55ymww&c98r9{_lvz42jFz8lJ}^8^&*?+J-uI#Z z0ca_+`#8C%CH*lQMyprLJ9MoPrtct7r4%rLvsaIcy>-gwIeAF;J?fy@$Ia=emnFz& z1$-wgdT|T$xx+*r9c%V@{|GWWehSugEqh61|7C2El**zB%0)pSZ1M8?jJ6Bo<^R7qZn}n)0!|fmyx523`Nq49HRQs(=%Z<3 z7(#p=mUa=^`IpuK9U5E3s;koKTLAX1rlnyZh`wslulNyZ>p`lZka#Tqd#~Q@#Y6D} zG*&PKDYh2VhH7=*Y^VAYB6wIfhhZtN6f$KU5tgPo4uM0m{i>_DVDwk2q4 zWN7{KuLP|#QLv0!-N*QKq8iP?R;c@0g$T&m7LGDtT{hiFOn`{%E1sOgbGHOkJ$zL+ z(GcXjEvSDqonS5q{vp>%t^RmXzw*c&&OAbIV6h)iVI=X=F$5Jh$gKkF*I5^Z; zA|zg7gr}9bZg1b`%>d1xtq*^_j!#<`_kMQ^E1ae+Du55W&3Xgu0B9?!xgiHDLz6|< zG`rBm41mPOvu=LLsuA@ML7)uQScGzwk$0AU(+;158#g;#(OuW+7pn_BBd=URcGFI8@&N0-LEAi zED10>%g&n_dTx4o2I*_y>_2T>-tyyY4_>`NCLD~92pT#QGn~|nrCx6o7=k|skS=rc`3zv}l^4t(Y?>Bhax*g$m)*+yawSz+ zN%8Oqwx7#=QK*U}9vMw!VIvsp#5gvx-S7T{8w90H0O}wU3=@#|MoCqj!AeFxzmO=- zH1$d1RW@37Zzr<)SgHp#mnmgc1AHx34^!Fq0P6bavm?Q(4`_!3WO?m>rBvN4sX_`SE{HfuZ+?Y6`non<9z&-H{=8zvF?m#r}DM zH-IEq$?lCuHHPfa#RNbT@M2zjoPz-?hE1~|!EDJ9GhfcRU7Ifi=0w2(s8TQ#C}GQ- zBjX1YVcf)m>IHUQN@-~k_WSERIdJvK(bX^ByR2FDiC-ayuKLl{EJ_hM&K{60T~%Wu zMi)Z6vbZhiQxx8IQZ-W&Y$!JREN>)!uXJ&Dlr!Tk0DIT6n;;NH?*Ktth*d}*t2TWl z?Z5b6{W6pOfs5`NlD>7sDo}dQnZaGx4T&a1cML;voO|zi^hJ${q2ak+4|~Y#*QZ=N zv;B?MwAR-_7&v9gnBdd(a=R?Ojh;xsLrxWBnCM{wiBa+=DHFcYf2JZ3dO!t!7XlJ^ z+iAm#Ifex37NR_|9R31mmgPyb1LYe2(YEBh7Aq%K0Skmcgi~x&?JP$r*r+>GpwJDz zsCD#1$uN+u{=B}wlc)JyM%hG)*FtVCuVio#$;nwR@7Bua$C6aM$vBg*(z4eM76w2) zKRzXpQ~s?FiEpem)srjQCbP#GTP8?jiRm8_(qkIy&5jZo4i24fwF$X5P2JKx&qdo9 zvDK3AD9}=*F_Dz88f{^lYIScQ*jaIC8Pi@>0o!lpwpxq%{?RqWo@1?lD)4`XL>|nV zCe_jc%H@|T6&UW_;@tkAdi^vd9WlCr?mm`YFd7QX_pceN=90#VR3U5zM=KB(>? zbfj+5**by;5LE0>go%~y%zj{9AcXw4g1r6X?CiWZ?+wW=f6^d*{KMXGo=G&(@Ff9G zICP_di9u7XJM~i=^8}44nppuz=?0WQ*?<4iRU42f*u`!1_|TPY-LoF8WmtBfX`8j_ zbF5grs!v8NFwxz9YZGB+PNM0S2Y|+!hK=_Am3UM!FoV%dc)_iq$TG)Ai~D9uU{BMO z>>7+X@FN;h#$HH(F7k@8+P32%W;AWY^R?NfDsz_KC5ME}zbeq&U+#OobQbZPiNwt+ zrWPCqE(gH|!edg8l`5W|klrcQ>q~HM;0CN43Dz&$aqxOWe-jC~@*Bhrg_>wH(uW)l zTR0c7_p-Ry+mF+=R!;}>Z=N&S=2wakBx1Vrg3IoL~kGk3!#LB5FTW9c6Z+FuKAf< zbs&BD4}H7wqs&g5Cc;$xdxDdif*-XU2npkw}L0+B_I7s{&`wh?p)2+pve^{^N#mtm`n$HA^)6bdMu-w_$ zv}Cb{Q^hwwHkv9Ew4E4%|6rvJ*lED`003?gM51wOD=^XX#f9D7+}gop&z9>Y*!i0k z_l1qJiOusPD@)4m4#nsx%X@k*0la<~=-8U8p%pEd@YF%N?5JUm; zZqTzZ@}(0;P{;XrpDuwpo)gK3BVZH;SPzkvP#NQbkyY=Ny}Z_z%p>Wv|FAj8iQLz_ z^!41|(i@;FRp zhuuuy0Q%`~z%BRnAO3#7L4Ou)*^j}(060=T7$sC(&yDV^tW-7O_iT&6GisDe3#(<| z7yrUWTdg}fu#P{y_}X_T+JEYTt;PXheCTqq1k|igr5IfsfJ##Zt6Du5s}6G)t(NzU zYzJuXhy9LL%UmJ|%pv}X436cc0nOi=Tdh)yE`+&fByUc`2X~~ktD>zv#q7m z#R|<#!&oVmP3dIuVycR)j(5ggWQ-D1wqi5yArPG-g`Ii(yk#*4t7H;zX++;vYM3gl z@Emy8!y+V}45zjHJTLcFsSc7B!&3HH04Kh+YJd(*G15Qc57^Uc*}f zXYPB?_iAeR9ks5O6NPh)oHCG6hcenpncJeS>w{7Of~JC-)^s7P671@yv$@2Dv^-|$ z5qA56%Ht`Vs{GfLgIoGh(AQ7XT>$p(B?Vy^io&qCscyyngCloPC-Q~-5_K*XybvgD zxy^%|`{+q>KIojkPLRI+;qSL)zwb}L1#l*_P~8tOKve#D-7}*6aNrU@8n^%zo@@Ez z6@1s+@~b!fdEGlv&gk|H_2NaxEq>Rx0`$uJt=_FbtQ0NKE04Tw+elGpJHW(e=KZ?H zY>DL&OT>QF1fxY>*|SbGS7&~cEj(RvR7xVx5}gn=k}N*UVei-PiqfRDH| zB>w+D5Em{mCag4&2x1W|ZKn_K9ne2;flcmel6KO}J#%K}&N;Oc&izN6NU6+!e!hcE~DVqIEV;QnW8!XS2A zB?Zi!CIN>SEfVA^hHuv)q0kE?&O8Z=wd%?Q&Co$srP#y~n(Y7t!*KXr>@wbzc;Bti za0oaJ>W?rrOXk~$9C<~+Ege)13vsF7^*ZR@43J0zQM$wId5Zh-9RdQ&QNNE)c#gK; zLXjF+Ek2ON6}5%fvVvc#^dTabI=?LE5WcOw0=r=wP0vTkAgPJG(EG_5{RqYGGeXj8 z!PIP)UA_xqzlBQlPQF3?Q|ZB{(5y*#HeXYx$wvu1OrDUX?8WFHTJK;97yR+d!8HQ6 zg>4kWl>vqqSGu;lpvl+^1V&d~ge@1gXH!>Pye`)m-i|SkQp^^g$X%(&OkDo?@SGem z;$+3wz6D_KTuuOlp&%&sUtUV_;6*U=;^-n+fTECtCio#B%Vslge)<35^%L;*qoQ-$ zK(&)PKy9TL%(>QqsR?%zO1l#Tlxd7)I-fpu^s9E$6TU0x+*M~&b)qWG^`iJ>LKEGS z6@ntBPi8XL3Q>9}QCfbB&zD_|+Js8iTB|XrVLWC$XA~#VJCYt&Dt94O3SC(n{TXsg zyq5I3QKftEP^|6fu1A${vY@q4%vqa_wuYp%LFYzQO%{7P=9nxuUO4Z=f~!mt?p>9^ z`?zJjs(}9j?)lgSVDDU35Qd>38Y{)eO044JgIxLlD;KU*s`x0aq6IbQwo~#0B8ZDF zRIDk;Niw;2Ci(#eu!ULvA^jzNxxN|^pst$mOIrJY!#Jufz+QUTyR!AN#AsHv07Q_e zDhuKUupXOM*DG+SgD;}Aj`|8Dh2X$W5ESGE*|2$~`O^nBoI2zaqy!+vWSLA;LpZ8S z&GbF)kN-s1?+yS}pDe(3-013RnSK&{7*&-d=){9$=*E*7#w6yPcRZiWWpA_Fx-7rg zPGCNtx?aEI@**>XBz~8}H~@%T!kCah1W1M6s*weWf%gDyc;Ov_e>S>!I7w*&Dg6!v zJ)76+zO?71@rAGfBqrLt$vO1*!AbCZ%50KgOpL)Y4R3cpmW#FNkCLe?t`AF)AvJxq zPAws){M-tf8t26?NT6>4*t>%j27wp|!{C$k{U4*Jo_pxA=-2v};Jr|!hp>p^uA*Tw zn`D-g_zCLZ|B~=u{m7Pg=dyYhhXzBXpH`VWpL^t^L&N1phu}iJvubeWJI_vb$0|DW zEb^JyVr`$83=q5yaW1xQ$bWqE*^?4@D9oPWj>q>Ef1E z9LhJgh8p=h4ow?Fy~Y$`sBJT8cbvQRrj%lSPB?4xF$8U%c>XqN)+y z?KZYFTQS`INhXJii@my@C_}NRD-G(`-iQh3+%$DqEyR)c-^Ee{;x= z>cNY1N)QU={p}+}bGnPwT5kR9BB6T-CiB7IUTkBSJwKUak0F*th(#KdL_C^{^*uMC z%?1JX&C_WbM4j{&x(LQtm?&Q==6j z(+^R;3r9qF?FC@(UQ!qYq9BR}_rH{^F$pK}>VuGhGm$ii2=+$@Wpz=$S}ukc_uD5n z>krZ=X^)jbV{dQY@~Y9sN|QBa0!l16>sx?O%v73kATqV*3EI=e@JoLVc$%wXOBxp0 zoWL;l8`!&ckG=&COg(q5ZThHN7X~X41!$JF7`w)vy&Lx=<7j!GtqT*)(ZT_Oy(Syw z>PUkwwZ?e-*ba=h%7VrM%p{3we%LK!%d0$WI~a5BHMyS~JNL2Bw}f?b@Ib59=j=J{ z68uT23hMs%=Ql_n1n$83QjvKt0oXfto`!)S2(QmRUu=wHVk872hz2PIzdPdJpcFtK z3R0k?3i8|R?42X5(9%Stwc^J~{&sGBHyfNF6PC`8e!{HuACZ6WLH}CwTYGSL#oj+Q zlJpkC|75qs7=6Z49?B!etzM6Y%g#i5}nol?edm1k27S617}^j!KHMv?+#8w(0JMfxcbeb>W5{D1${0goS5;$YCqYU1MP@CZ zk_%Pk$u7d8My9kOrHeyv$e{os4|^C(-1GhXj&@tSsb|kBI&)2Oeb*KX12Maq)AQ<$ z9v2Vv^17m{{8~DeuQw$vZk6oP)M|{P9-o!HgL&j#nsW@AA-dMW18Kth^8I(_qY<~P<3 z#|BJEz)EiXA141+LH|(E^>41MKckc=K>B{biVr+!yDhEJ8-W^CG9%EGr8QOqT99Gw z=7q4Ad#qFky}qti;Pb&|#>_p#G2RZs#;Z09T-$#FW^#*J)Pv}T&kUYNoTNgm)2g?t zIUoEGZ+<|Xy?vSD61=ZzI-Q9J4X$y2FcRXNo+grM)t%+62yIrjnsc3}*>`0~i$wi{ z>jA$zVNEzWnhCSxY56RY5Y-!}XD9rf7Of(muCFdhC9!arQTKdt?uZrQx-L16BiF{9 zKqzDQ;!(5~q96DrpNVR`Wdv1eNylUvTeo+^`_Jm&EG3aeE|n!XAGU=Vpo{B-tm@G% zh~wzO?6PXdJ>1;RHQmnIP^aA@#TkXo8O^KrLidXYsp$C#V;UV!$n!!PvVtCtk7=bU zdR+Qc0Mx|yqKc}?xJuqf>$uLrN|0B6dj;=m1-+BomjLXYF%E+;5CkQfyu<(h29Kel zHU$vI$-pL6x=0pC2pf!LTX5Q2mb;;I`!T*pg@%kB2tm2GPR3S-99wj zN&`8TQrdjcLc`U%<@7w(J)eP}0{c%rzdKI> z*t?dUhG8JMN#izYOB)Jm5fbVD{|6_2AYXt~322%_Wx1(ScGh-fas~+rd~$N~LmH3Q zyEEw@z=szP(z}1C{QhR6xS&vJL<u}CyR-N(OGG>j?w7#ebX$GRlsuKB4$d@+l zUfflX#Zi_^I`DVf?CI|I{%Y0=!`Qm6X*QixijYK+Gt1Vp#=Sq_9QZqZ5n1;>5!*4u zk*!>Bl56T5SUoaoLK!$7_i$)DZ7Xpy4~7Of4C3{j&c@W8H9f3XJidigCl)*pb2{?A z?|2U_DKBlRp_a$*r&M>NkG`!BO(0xSAWToD z(;0n2Sm7rVp1D2zL+4)s@c!pmufDzl6z8605-m4G*J@Pa1%iYVJ-Ou6 z&@8BKYr0-#4uIDM17SqgSc)_Q`8d$kWlF{SoA_tjB&F>pr@PyGNna6qr8A-^5&9?S zsi{f<%cXH~R;Z4_*`tN<-!?9ob`iNr#vU(JIX!yaHuBBNsuA8DG)9tMh}luLx|zYY z;CF$Tt?if85S8>Y=D~{l+_e=YHj}g(&=^pKK(T}G`|`SxiXVf{7{rv91D)kN?pH!K za<%~ax48|XCvJ}z>%tR>!TS_|y)#Gw5QKtgw9Y$qp$^}+Mdc%33@%!>DM5m${0aTW zadgIyR zR*m3}b|fq+ZRsJH&fg?5_o^;sy7^@RG%3s0P#}eb?UH9XUH$%2tzgWaS5FKI<=G^{ zbS&2)o1X&IhBOaolmgeQ%S$Rro)i)y*nae(!LEp0o|@Qb!_h!;;lxMZfU?nI>pa8# z{BWpDIKr(H6W4KMf|1zm@3kiCqa~#-bY5y{^;2scP660Evm6A0Ac(fO1YA+{1RCR! zJd#&+OH5SahS;yA4f^Y+lJLWpfn;imnyQ}Q2QdS06tVEdA3nd|+(wtldq=s-*A{H3k_fOn%#;@q({5PkDIPs#K74BQ2&+;5DW_CK+z!SnrE5X(D=4l zw~#-F(Wo!IxNY^LNf`1RzD+zxWICJ4crukRYFV|rMkki^n#*#vlYL=~4JvQ_bzZRN zpW7Y+uy@8d0D@2qB_7vkU`KGTiK2}xW8B}noqwZCi&#}2tMCDbi+X5J{AR%bF`A?(e@!8P z$#aW5(*P>DXvfZ&b$+979PIGnFnf`pOdaiNt>ZbIb_AvgJ6I)2ta`gl2o{2lW48d)gQDp>%J1XhMUVEKXxv zj^drG(tJQ+52Z5*gAL~DA|IVAUEQNTIDUu>j#R??pDX>wD-r!Vufhqm_WWmgDA9Fg zyDe9!Mme^TK^tYzZ451CC-m@z9+6#(8cEmGNMn883>+weq?TM}9qK)wtH^Q0ig4-C zH9^bJoe1iD|GK^^YtgcvdxydvLYt*%x-oVaSeH#)aFw)U)^4mF0a>Wj|~+YCWGK792_w>G)9 za-dDg5QJj~5(YXh3p?F=wX}#DXgOPNtd96mG6ey8gFE@A5fzs+x3P<&1i{+R7<`vN z`JYb-VPd*;cS5-l>xkf#3dIOeH1?LnGu}s@=XAf`D2)?F#kfEbm|=m+SyOW^$OM?$ zYUPymd*aj{SOchBhla96LRmU*E`fq{ttsB_PR*{4BXA=62*BR?>mUfkV7!QfF|2Ch zV03X1jdAc9eM8?sBMb!p1k?y;zupy3M`xO_pd=8I?~eA@ew|ibB=&r4$aUk9tZN5;n4moM6%~xUY*WSu66#7E0;WxT8 z*N4sl+$*+K)h9oWd%&WjJ9;?0$h?r+I+cSHGcY1}J|vNtK%ju5hJb;Z z040Lmf5=|}5sPEITJ!H#*eIw3KZ~M1Wobes@024JqW|> zC`!t*T!<4PUL5t}r(h^}SuaPK;T;Gkt?x!n31D`MA}`Jf6~Y3G)^r`7G#CwOv5e)v zx(MiyCgs=dyEnpiE4qlV?c_ZwG21#x`I)+AJ0I`(vD*${7jFUBJA)j6U?7TGNGymO zxPv3O0q1dc3wh$v{8(AH8`TOW`hC+sGZmoU!V9t9w&`k@{!uO$i3bduD|sp`DcP;| zO(t&%#Db|_hqlWAo$Pw1C3F5_)B2MWtX}U&a{|)mJ*c79rkV?w zmb67XF3tteQAZ7d#u%_Q?ger;J`BjyVA$+4CXO>chq(^Tgp#pG%I8!nS~3ct0sq-@ z4S*UOGi~M=BoZHeFlciq!tP=HIJr>w4@Et@j!Ce4?A6+>hxRy@dD_Ol+v`kv%P9bR zXSb6u5JchONB(LJCPlytUVs}P!S{cIMiYqFpny=oZ7KUrozQ?@n;16f?RL9K&z_k* zGv^A>mjiXjzi?ytlL7X43WV&J@EFwrxnW~%)+ne-o;Xi6*UV!VT-L+F9Hp&d3}par z(k6@hi7l7G@HbX{ULaFWPZ*e(1g&hJ1?x?}0hREdZhWXN!r)eJYK3MSHAIqqiSysH z^C7;=PgY+1Xry^m+s%Q%1sSE>ejjShhWZTRn~2lNZ22LpWUW0q-aR`eb-+85&$UGN zU1|IM+|1?@z;YXP8TNZJd3}+`L18)z_%Z+1&!_tF{A6V74ooDj@OPyG9 zt+rfwrhnI}E}ox8sWTCI0`17=Ob`3-XW$ zBWhwV*T4k`dj-QX%+78A{dv%#<^1nID1I6bae3mOoBAaq9BniyQkZ~B#ennl)KE63 z>L8D0wV%M6pu4V=bAK*miE~tNWNEhmX2%z@KtM5d%x1h~f%4{Ly1L#GBYf~Z%!iWq zUB@RdCe7lOb;9AI>VPgFgC%QaJ@CBw@~~2q>*&P&bluyJAo)#(Xbh>MNl$Fu?)3R6 zrOeKE#G_8!4lLZ477zAMNjB*nMgCM*u z^heP|nm{ya?GxANL3%Ea(}T1Ry+V_QU=&2V-xd&!dICuPgoKA5Hes0zJ2QQQzI`Ag zMR~aHOL3QY?ttgh%a4;crS|AVeF2aZ#7QqX178z3welONT-Xz2xfD{!)dk2dlI zF^Tceh(NrvB#vvjgO@?Fmk7Fx=uMWbD6{Cu(aAn^gTP$h%KAfLGut#Ykyf-3GH<*q zjcst-(ztO{|jI49(@w|EO`YNKjx<~jy@=o#n0mb&t@0MR-XxHyMtbH<4`7X zB%j}3iq@emd>JbG9QjWYg(Dg3{VWtc@A6Du=2LT&^ZcVpr1AzKV14qMxpkgV461$ek96(rjukUKZ@Yt*|U5j%hjuvppxG#Z==j`)Pr9p zjixBK=5Pn^MPqO3KYMl`?{BL#T|_;ILY&lfBwrk5TI^7w;0e~)>{CdiPu9QbY?EXlgi znYEFfytDgAGzN!mvyH+d_+nnNLuM{?#$Aomrk42f?7=5~s!6L@EmdQV&+3*+QykrD zJwI0-_IrpmX-aD|68xDe9<~O1IBwe(m1=7(60y^Szz1BzQJZ*btv}6+`L7}CY+J#r zC>>RyTwDv9I?Ym^SC7lz0YlkiewSGe=W7>$ zy=&V^7>I(WrBW&pW5UG{)DO_8|H5~e7{3?m3l|^64R~omq@0=U;=aiTbYI%+!?xM9 zliA6fGZjD|HekiO7Mpum4gUj*1Iip*I-%|OS#71B1oEm!?3{_#NQI8cNNd!m(ba7u zo3fpx?;KdKGWwhWd^~b11B5Q^{Lsw&1E4^P@S>^!qRu(sj?_iT*c`w*aPWZ|Rd%T6 zbLHe<$cr-E){l9DLj#p}a4`Tl`xgVU?n0SkGft$}>C(vo2E5F_C2Z71^quMbRhD^n z(z1P`%Mx(t&4Du7u!vX{xXyCxMLtfrPA$d}Bar54i(0f<8m4`}Jdb2H9n0XnN1yZ6 zWnalVI>v>PeSPX9kI2yX?On<2b-$FIqt~^Yk0P6{0#=MGGYx?H`pS3Y_<|=+H%+urW=Ars~{vSI5 z*gJz0hG7_rj*wfAo}v2`I!Kr3Kpw&?c#ZT>+Nbi22yO8I76hCa$Ic;NANfmO06lLo zXp&mUK3pfYOqk3`2AgBR?&@a-{L2It0W)X79cwJBw8$!uZ}p&My2mTO$98Cfw=LQ@ z0Z%7a-QgU9ybRU2wr!o!*m(S-@^H;CYUbqLv}?YfHDR^ZV9&5=6%?P4#A%$$ZH(Nw zxj+lURRWmnpC~2dSt%v@0co6{q0DD)klQ0kkr<}AvuwY3OP2fTRZ^D;&x(u%YrAWHRxIN+zfIPWxJe6Khfge zAU1+x>+L~Ao96P_sbwT8ndEmTZq`K6tme??XrR;Ue9+dq=~LmL(=sy&=&=3oKGrFd zn3Ad2X&QuRo4Hr2vGIMb$jozWux2I3){Mgb!*nzD|0I=62ilRL9T{Krv58t!>jds( z1eUa<9k}s5%ocM@UZ!~ecoT>4py{Lk&_$){BJk^o!a45m0`z+wG;Te3^%@d0M_;S8 zsL^ebt>|9!4?tbJIfu+K>*kg}u(XG}-zd9Pv|4Qwlr6fZdpC78$TnOqBZT1s?sY}9 zrO689S9=@`#fgTEn+9vB`HasfPU2PkG#(9~iv@FjI|#tu8QcH}!!QuWLrlXE48VBo z!2tAtldK9J@THOZszfRt!MKjo3iP*FyR-XnzIf{2M_r($9kMW5NaaFn&ianSPG4np z%j%)s_u@}9n4TU7ZPE9SI$)7@y5glGL`13?kvuecojjsCL24yk;yhzE-K6$9^~d!k zCUJBR7Bo!9ARI1xs53ySoDE+NC(fU z4l*Dgnr97`FrQ)!m);_*g2K1*++mrMe+FC7B>>?xclzn-CnJBJ;8J=Y(s{oCq zz!I7RXu08?ZaQSn%A`y4N;E37!v%E$z)67<>&gH`Pf4LzTyeZNsmL>vX0{EjGs4I8 zIPhnQ{rMhv`x(m&wji&Q4t3gaq^UOQ)MJ3=G(!0~r??eUn;9}R;+P({-K;4c_33mx z(1n3INfH6eIBwED%lsMmAA~hmXZL4dT}wOa&FZ>>nzR+Q$(^5Lq}3Z>jc-QjLd|k< z58Ko6ga*S@m^0>6BXPAm9qRHvP9i&wXS$rvR)5I&d_4qU@7#?T1Y#&i7gRtKv_j+> zsM8UVJ0N%H#J6J>zY!S@jp9Qb7ijh#`dk6}cUv}^p1Xf6PtCyBNv5ANZ|JG&pWiF= z>(C3LT4p=AR*H7!UbZStf=*4jW_U==$`47ERg30_pzq8wWqzI!u+5afoL`tj0i3I7 z5ll`R&&tEpq*I5+zj@gZGNg_6@Q1tNVe>*Y&yI z9wcJ3SP0Z+YVa)U@dH)2vv{;`xiw$IH1_u^Oq{c~02)0kiF%+9h}Q%0G$8gEX$3Th z{0A+d!N+6(%dzjje<51F{~^25n3(=SS6DE@5A{KA*}_^3e~=0hP^SO&2hfmT9cvzLJVI&LJ!IZt@j31 z9RHwacz||6GD9zhWo2Uc4ILgpjL|cKS6i@y2ZtEJx08Tc-JsSxxKaU)K?B)5eB2B_ zzx@RFKtT3`dL<&f{P4?VC1qt8E?vLMASEpeE|6cpe+MiqS>c;Xm{~=D_OoGJ&&9?9 z9fks(1q~X8VPOKd%3Th#9g#Y3cSP2k8Y23`(P=0)+q|0DEU_10f7UQ6`{(+kp*eGD>E-NmJY;C&5d2 z$cng*?ywXgk&pm|`T2a?4}!keK10(?=i$$F(=8Xr_tX+cv?}-6GR6Hy(4u00{E3cr z#!;;it917W{EFg;k%jTtH+bA}camz8SqBHDURpE#W-WttAY&1!8t)iQ8Fk;WPGgVu zt=599jj`yPODU(+4FsD~sz@7pp?=JcOnXNCF$euN^IkKKd-R>iL$eEjPv+U_XB^j< z8{0LQA00I3Uh`D;-9~=rb!pD|u{&%NfW2#3X&8v2C-20RYAb>j6kXJ{TmM6F?Ps|6 zTlz&J2yP7OMhJZ*PScqt-g9gJKsV9}10fHF4CLg@%{}Mt0Qzs*MEV#T72^LkUityc zRJd=BNR{8TN2=v;?X?)V06hq6a{>UBL6gNOTdV3qQf(^TI#wK!ea18Cwaoo37;gbt zJuKupX9aZXg=Tnkt%Kh=gfdR^wGh510JE%-gq|u68RxF5xyHKb8QrX{c8>}^^}a9& z1e8+EvY;XLEeKykf7-aC$I;*EsZ}47nf6GldxT`bg-zoaI_6CJGa+8bgI2 zQ*ShE#Ce#_&^lHh-(=VnMWHIsX-N<06;4KHIKLPR%T9%Ddw6_$R&Q-t+rTV73sX;T z?r*OyAMUOvyI22r+qVE39pa!J_{ad+g$P=f*E^zyJ&;Vmwx5hjOhH*7TuWT@pQe4H6H=KS{6 zEBN>_?CcGQ#{U>Mn4k}zfW;UPm)l}HIu$nl4qMIg;mcPB5e^;(E?~h80-%%NV7van zH;_Ybe*tf;M>|vsd2F4D0dg1>$ZsGsm{>U&K7aiJY#ILrk99MD_{_k;Ed=i6fX3lL zn@~VQ7@!tANImQSU(f&k_?cTAVzhQNtJ4ku1kh*!O?z++I_v=|peF#a`f&F!BigV6 zq~JshZNLg0 zA)-J>Euhg)o&%YKyh;K#Bm!H9%*?`uF|LcgYY(=q8N3SP-+zqt(4dwv%pMkK>l@}a z*j92_WdpmL4|!z@vi-<~Bl6Bhc#9S;#soEk2|CsbITM77jTLh4#fz8V0{A-*q#*qT z+U&!`&cH7$1g=2dzWD$yY(ZPbVYknqpY#WD1ESIbZ@>Y^4L8FdXaxql%Mi8`QA~j4 zn~Kn%1{)2T?$NAFKL8Mby(`8+7>0pPqpGCp#=^`3Yz*)s{=m*7*!dcwFo49ufEqO_ zIlHOaJfH)rB`+P?)WgX+`OXtSj~hS}OnY2>o_rpBnt%LJG@(J9!JTcQI`9;F!wqPJ zaE*^$=mK>S#1egv3@)g(gC(-DCv-fu(YMqLqM1H5;@XWc;oMo8vu|;l>A^T3LON@J zsC3-`M)1b+?sl%Y182pc8v`_+OScS~1`dFY)Q*j?HD$(7x_7SIC&-a*HwL6-wmLknuQVKerOR6v7QV1SPtWkgxm z%m_Wq9#)Y4MH`DoFQ7p!Sy=1uFVd1Vasj#*2EOwTwsHh< zZ59iBXaz)r#%5vbgJG8lfL2Sev#`Qj#>Ct_4nGTn39+mYT+uKw!w)Eet^a0$x(j3v zY$qWL&>jE&F@g)@KY#u)2nr%@(+2ebK-z9#lD?xAR!Q{}*MV3Q1ANd9pi{w5A#6ACOx>>cH1=K`Say zB?42Ad=3Y)U9jOJ31RNv+VVV8w52)4gt-|C7)CE`9TWf{0DIT6gCGn9m-q60@b1w-Dw%(CtyO8hLk`b2bSq}XJ;_b{VE{3?6vN+9_0@cF}-nc zrdJq@Zu{J_)0hyRh5l$72^uY;Iv+J*ZFi7IHXGd=ev97{NPZ=@s4>VxJkpW*Ga%7| z29NBzK#`t!)!&$ej$tX-r7g4|f8xwuNL#&OZY`F4u(ni1>KcuA492 zBth#ipk|qG)fBvbUp|pLN9C!^Y34O!T0jP&QAvM ze|-N1zqtiAnFzY$5483fy#ASy1>v86z}E0zNGl)Kq6bfCGD7YJL@dE$gsA-o8;=IN z5_(n#=)}8!;IU~?3H_G^=qEN{tDG5Fz=PH>1L;5iLFaV*1&<$tZm0pRI05Yn{0pRi z09)AHTpSGStSsPNn5;lQN(ys4QIqD0krm|<0v67lqlNR}1^@vxT0jpC0GgJOV3xk;g%?-7bPG4?8*(Hn|A9bsM&O4_4@+kKZDXMI%=V=&gC!gd%L5 z7r8)(wNODr5un|3pw=^JxCJB!qCqWbkXz7iQh~V_`8IFlv2tt|+@jyQ4HJV6*}%dE zwi6SCVdrhYTKuq^P+<2!!iIskIN2B^MYyhMD)Kw2%JRwbaj`BP%~C@H00hwJ5XaC1 zo1j>W0kS+VVK5DUAQv#OLJoPd5H^efU&s9CFGfomd6NokNgZ-w2RpPMR6wEMF^FhA zGol>K1RH8WuS8(u)(qfloLIoOy1>qXhVA70{{1HdC)-bOOPT|GtrKYM8FD)bzc>ec z=m0jP16uI`yAld=&mY2G*myZ;j2U!GH~5@9@G;noU<|)eg%Nrq3j^d-Jdin{b1;}e zl>r-cqLS%9!}qVCR{mFT!OX?^hk+I72Ua#_25w-bqOBtN#l%2ijl7Idji?~k)6uLm z^Z-BrjTX>D7l5{qgU+A^jZ=p}3u~vr)`CXHumT!ZXd;h0!zKpN3wz|2Eo{v)Y@!V^ zY4`09XJll++9E}-NMMCHVxsT|%8Conscx{<93TuDdxo704ZAN8R@s34gtWX6 zJU)!JL=fAG74+L^z+==5|4>$K{Db-d)>{7w8t(b~2Y!1vXcG(Q$wD|q-Yu%H#rpdpuk49x!_H@kpZ(crV8!38=b zoc^-_dk}wqgKx-YWo2TJ6cJ!BH_(1*s;@a+RY7tx17suAC>RC+Ab>^-=-~zKLtE6K ztGGaiGlc`OAHx8g`+;2e!WL#=KP(7QK%<|{j66mSTOJ1*Hh`Uv0qWKxuKIIQwufLy!_E9k-QV`7Gnb%QDl3j@_J<_79(tPHg#GK^kgJS+h~0QSxx zw?P<)q95B}oREZ8U9??R>Jge-_BfS#fu1If6g7ac4Nhll)EjgY#S#KpEWkov1N{Hy zCeYV8_#OLW+2p^AH51ns5w2wBI`1|O{2X9ue$oPcbP($bL$KJ)HB97)bikRrU8^d2 zhuLzMVe`$BY!iR{3YFkTGF767!!dD^S+jVbQ-2<9dymuUCpTB+PU4p$d6x4hhb**H zh)KI+;yWpnsz^b|VeBC3z=ce!b8!UwC(4z=+)w!Kju?Cgp&y`T3EO8U$JRWeLvO+oOKn<5vKU7SJQBux5i6)=@z04a7WDu>mxm zz|4elfh?>w`tRRg$c77~mNoJ?G^mRXn-Iiys|jp;7kPa$Y&Zhkn*H?~V|4_$_08}P z2ih!-RM%TQ9vzqZf;KaijBX2A*a8ATFIb|ETDpx4cMXu zRREw3AdrdCKkybja;qG?@&dHQ`ycl6nn4v3@(K_TEyu_DOM;K}fQ}INL}h-?ZKFwg z?z=ur!|3evrM!pFg`9OSdhX8y@EM!a^cB?mR zNCh+w{U3Tp2gn^?zP@2#0ah}soGjq+W7sjJpcCW3Eq`D^&&`%7|;R?`F0f;Kt4ADdFLGLZbMiB3qGeAx}pPCs3Y4CJ1+zI z<`VP*8g>LKY)K!?jli}vSS_ek468ukn`xk}V%Ta9@VU{yIpAa45IbNKnyiR5%76aB z?St(yM6QU~m>7Qvak3s@WM`fnt1Yu-G>MJ^fB+gTphp1=+yUZlC}xHh(l$VB38e`a z*i6ju5f9MGX>82Uopt{iFqYf>{P!DDfH5#&EWty*L=`rvhI~5-a$yPDS%+v1--H;7`2Y7G#*#Y*2Go=4(9ddy z6||rN5mwm31b$6vS`V7HhHS70{pz2DJO<&tJD$nVCN^va($J_T&2Rmi<8Fa@tvc9Yyc2IjQFnO83m(&N&r-FgKjeiwXh|ig|;-5Z2&4Kzx@2o@D^Bz zKl|{7;V&aI!}CvH8SXuK#=ywV$?zChsDsX#hV38(jSGVcQ1FtqzyILpb->Pf2Ct>& z<^^vq0qyhyrE$=GexSpSKz9xz538_))*yfT#vm>!0j5DMWL97qE+xnVnzZ{PBP#Ua z(}(x3__;Zr|NHglwwSQsHID!P?x+iMZ6A%+Q9x?|5I~~^^e7k%0JM2V1eq(iAfCk{EffR@op9t$ol3_-@ZQtj~Rno z*DTOuJ^wL$|NZX?uz>ytEZDz)`S$&(iiFVfUw{7GF_9Fw1ho^iGjDXlZWIhC00=Mu XQyn;mUG!Vl00000NkvXXu0mjf8pK|s literal 0 HcmV?d00001 diff --git a/src/addressbook.ui b/src/addressbook.ui index b6d8d0a..f7877bf 100644 --- a/src/addressbook.ui +++ b/src/addressbook.ui @@ -73,6 +73,16 @@ + + + Elsa + + + + :/icons/res/Elsa.png + + + Denio diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index e80c436..034500f 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -228,12 +228,13 @@ 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}) ; - + // ui->memoSizeChat->setLenDisplayLabel();// Todo -> activate lendisplay for chat tx.toAddrs.push_back(ToFields{addr, amt, memo}); + tx.toAddrs.push_back(ToFields{addr, amt, hmemo}); + + qDebug() << "pushback chattx"; } } @@ -472,9 +473,9 @@ Tx MainWindow::createTxForSafeContactRequest() { QString hmemo= createHeaderMemo(type,cid,myAddr); QString memo = ui->memoTxtChat->toPlainText().trimmed(); - - tx.toAddrs.push_back(ToFields{addr, amt, hmemo}); tx.toAddrs.push_back(ToFields{addr, amt, memo}); + tx.toAddrs.push_back(ToFields{addr, amt, hmemo}); + qDebug() << "pushback chattx"; diff --git a/src/contactrequest.ui b/src/contactrequest.ui index 5edcfa6..e2939ee 100644 --- a/src/contactrequest.ui +++ b/src/contactrequest.ui @@ -28,7 +28,7 @@ - + @@ -40,6 +40,16 @@ + + + Elsa + + + + :/icons/res/Elsa.png + + + Denio @@ -162,7 +172,7 @@ - + @@ -172,12 +182,8 @@ - - - - - - + + diff --git a/src/controller.cpp b/src/controller.cpp index 81676e6..5fdb7e6 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -882,7 +882,7 @@ void Controller::refreshTransactions() { QString cid; QString contact; - + for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) { if (ui->contactNameMemo->text().trimmed() == c.getName()) { @@ -894,7 +894,7 @@ void Controller::refreshTransactions() { contact = c.getName(); }else{ contact = "";} - + ChatItem item = ChatItem( datetime, address, @@ -906,6 +906,7 @@ void Controller::refreshTransactions() { ); chatModel->addMessage(item); + } } @@ -918,11 +919,9 @@ void Controller::refreshTransactions() { QList addresses; for (auto item : items) { // Concat all the addresses - if (item.amount == 0) { - - }else{ + - addresses.push_back(item.address); } + addresses.push_back(item.address); } @@ -932,6 +931,7 @@ void Controller::refreshTransactions() { txdata.push_back(TransactionItem{ "send", datetime, address, txid,confirmations, items }); + } else { // Incoming Transaction address = (it["address"].is_null() ? "" : QString::fromStdString(it["address"])); diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index a4bee22..325f076 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1077,10 +1077,6 @@ void ChatMemoEdit::setMaxLen(int len) { updateDisplay(); } -void ChatMemoEdit::setLenDisplayLabel(QLabel* label_40) { - this->lenDisplayLabel = label_40; -} - void ChatMemoEdit::setSendChatButton(QPushButton* button) { this->sendChatButton = button; } diff --git a/src/mainwindow.h b/src/mainwindow.h index a98e622..ee2e5ee 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -93,6 +93,7 @@ private: void setupBalancesTab(); void setuphushdTab(); void setupchatTab(); + void setLenDisplayLabel(QLabel* label); void updateContacts(); void updateChat(); @@ -168,7 +169,7 @@ public: ChatMemoEdit(QWidget* parent); void setMaxLen(int len); - void setLenDisplayLabel(QLabel* label_40); + void setSendChatButton(QPushButton* button); void includeReplyTo(QString replyToAddress); void updateDisplay(); diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 4c958a3..b5f3539 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1337,6 +1337,18 @@ 601 + + true + + + QAbstractItemView::EditKeyPressed|QAbstractItemView::SelectedClicked + + + false + + + QAbstractItemView::SingleSelection + @@ -1364,22 +1376,6 @@ font: 11pt "Noto Color Emoji"; - - - - 1190 - 650 - 47 - 17 - - - - 0 / 512 - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - From 492ebbf1c5ee0de3c8b6b82c49f31f0520c97932 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Tue, 5 May 2020 17:15:05 +0200 Subject: [PATCH 071/256] some changes --- src/addressbook.cpp | 2 +- src/chatmodel.cpp | 54 ++++++++++++++++---------------------------- src/contactmodel.cpp | 1 + src/controller.cpp | 41 ++++++--------------------------- src/mainwindow.cpp | 1 + 5 files changed, 30 insertions(+), 69 deletions(-) diff --git a/src/addressbook.cpp b/src/addressbook.cpp index d318f35..1dd1a8f 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -8,7 +8,7 @@ AddressBookModel::AddressBookModel(QTableView *parent) : QAbstractTableModel(parent) { - headers << tr("Avatar")<< tr("Label") << tr("Address") << tr("HushChatAddress") << tr("CID"); + headers << tr("Label") << tr("Address") << tr("HushChatAddress") << tr("CID"); this->parent = parent; loadData(); } diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 034500f..b55dd5c 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -10,13 +10,10 @@ #include "ui_memodialog.h" #include "ui_contactrequest.h" #include "addressbook.h" -#include -#include -#include #include +#include using namespace std; -using namespace boost; ChatModel::ChatModel(std::map chatItems) { @@ -108,52 +105,40 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) 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->contactNameMemo->text().trimmed() == c.second.getContact()) && - (c.second.getMemo().startsWith("{") == false) && - (c.second.getMemo().isEmpty() == false) && - (p.getPartnerAddress() == c.second.getAddress()) - - ) - { - + + if ((c.second.getContact() == ui->contactNameMemo->text().trimmed()) && (p.getPartnerAddress() == c.second.getAddress()) && (c.second.getMemo().startsWith("{") == false) && (c.second.getMemo().isEmpty() == false) && (c.second.isOutgoing() == true)) + { + QStandardItem* Items = new QStandardItem(c.second.toChatLine()); Items->setData("Outgoing", Qt::UserRole +1); chat->appendRow(Items); - - ui->listChat->setModel(chat); - ui->listChat->setItemDelegate(new ListViewDelegate()); - - } - + ui->listChat->setModel(chat); - if ( - (ui->contactNameMemo->text().trimmed() == c.second.getContact()) && - (c.second.getMemo().startsWith("{") == false) && - (c.second.getMemo().isEmpty() == false) && - (p.getMyAddress() == c.second.getAddress()) + } + else{ + ui->listChat->setModel(chat); - ) + } + + if ((c.second.getContact() == ui->contactNameMemo->text().trimmed()) && ((p.getMyAddress() == c.second.getAddress()) && c.second.getMemo().startsWith("{") == false) && (c.second.getMemo().isEmpty() == false) && (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); - ui->listChat->setItemDelegate(new ListViewDelegate()); - + ui->listChat->setModel(chat); + } - } } - +} void ChatModel::addCid(QString tx, QString cid) { @@ -231,8 +216,9 @@ Tx MainWindow::createTxFromChatPage() { // ui->memoSizeChat->setLenDisplayLabel();// Todo -> activate lendisplay for chat - tx.toAddrs.push_back(ToFields{addr, amt, memo}); + tx.toAddrs.push_back(ToFields{addr, amt, hmemo}); + tx.toAddrs.push_back(ToFields{addr, amt, memo}); diff --git a/src/contactmodel.cpp b/src/contactmodel.cpp index d6a7e25..17d3fd4 100644 --- a/src/contactmodel.cpp +++ b/src/contactmodel.cpp @@ -20,6 +20,7 @@ void ContactModel::renderContactList(QListView* view) view->setIconSize(QSize(60,70)); view->setUniformItemSizes(true); view->setDragDropMode(QAbstractItemView::DropOnly); + view->show(); } diff --git a/src/controller.cpp b/src/controller.cpp index 5fdb7e6..fd1189f 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -149,10 +149,6 @@ void Controller::fillTxJsonParams(json& allRecepients, Tx tx) allRecepients.push_back(rec) ; } - int decider = qrand() % ((100 + 1)-1)+ 1;// random int between 1 and 100 - //50% chance of adding another zdust, shuffle. - - if(decider % 4 == 3) allRecepients.insert(std::begin(allRecepients), { dust.at(0), dust.at(1), @@ -164,21 +160,6 @@ void Controller::fillTxJsonParams(json& allRecepients, Tx tx) dust.at(7), dust.at(8) }) ; - // std::shuffle(allRecepients.begin(),allRecepients.end(),std::random_device()); - else - allRecepients.insert(std::begin(allRecepients), { - dust.at(0), - dust.at(1), - dust.at(2), - dust.at(3), - dust.at(4), - dust.at(5), - dust.at(6), - dust.at(7), - dust.at(8), - dust.at(9) - }); - // std::shuffle(allRecepients.begin(),allRecepients.end(),std::random_device()); } void Controller::noConnection() @@ -879,22 +860,17 @@ 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 (ui->contactNameMemo->text().trimmed() == c.getName()) { - - cid = c.getCid(); - }else {cid = "";} - - if (address == c.getPartnerAddress()){ + if (address == c.getPartnerAddress()){ contact = c.getName(); - }else{ contact = "";} - - + }else{ contact = "";} + } + ChatItem item = ChatItem( datetime, address, @@ -906,10 +882,7 @@ void Controller::refreshTransactions() { ); chatModel->addMessage(item); - - } - - } + items.push_back(TransactionItemDetail{address, amount, memo}); total_amount = total_amount + amount; @@ -922,7 +895,7 @@ void Controller::refreshTransactions() { addresses.push_back(item.address); - + address = addresses.join(","); } } diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 325f076..5b71245 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -914,6 +914,7 @@ void MainWindow::setupTransactionsTab() { ui->listChat->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); ui->listChat->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); ui->listChat->setMinimumSize(200,350); + ui->listChat->setItemDelegate(new ListViewDelegate()); ui->listChat->show(); ui->transactionsTable->setContextMenuPolicy(Qt::CustomContextMenu); // Table right click From 6a3b644a0a436a8d90d1105714c840f3ef325216 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 6 May 2020 15:40:55 +0200 Subject: [PATCH 072/256] first implementation of automated contact request detection - work in progress --- reuqestDialog.ui | 72 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 reuqestDialog.ui diff --git a/reuqestDialog.ui b/reuqestDialog.ui new file mode 100644 index 0000000..fb923db --- /dev/null +++ b/reuqestDialog.ui @@ -0,0 +1,72 @@ + + + + + Dialog + + + + 0 + 0 + 400 + 300 + + + + Dialog + + + + + 30 + 240 + 341 + 32 + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + + buttonBox + accepted() + Dialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + Dialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + + From 5ff2d1ba47261e37100f15be70a7faa4e2397f78 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 6 May 2020 15:41:40 +0200 Subject: [PATCH 073/256] first implementation of automated contact request detection - work in progress --- res/css/dark.css | 2 +- reuqestDialog.ui | 72 -------- silentdragon-lite.pro | 1 + src/addressbook.cpp | 2 + src/chatmodel.cpp | 113 +++++++++++- src/chatmodel.h | 44 ++++- src/connection.h | 1 + src/contactmodel.cpp | 11 +- src/contactrequest.ui | 2 +- src/controller.cpp | 48 +++-- src/mainwindow.cpp | 28 ++- src/mainwindow.h | 14 ++ src/mainwindow.ui | 21 ++- src/requestContactDialog.ui | 355 ++++++++++++++++++++++++++++++++++++ 14 files changed, 599 insertions(+), 115 deletions(-) delete mode 100644 reuqestDialog.ui create mode 100644 src/requestContactDialog.ui diff --git a/res/css/dark.css b/res/css/dark.css index 7846b25..6dc6cfe 100644 --- a/res/css/dark.css +++ b/res/css/dark.css @@ -1,5 +1,5 @@ -QWidget, QMainWindow, QMenuBar, QMenu, QDialog, QTabWidget, QTableView, QTableView::item, QScrollArea, QGroupBox, QPlainTextEdit, QLineEdit, QLabel, MainWindow +QWidget, QMainWindow, QMenuBar, QMenu, QDialog, QTabWidget, QTableView, QTableView::item, QScrollArea, QGroupBox, QPlainTextEdit, QLineEdit, QLabel, MainWindow, ChatModel, requestDialog { background-color: #303335; color: #ffffff; diff --git a/reuqestDialog.ui b/reuqestDialog.ui deleted file mode 100644 index fb923db..0000000 --- a/reuqestDialog.ui +++ /dev/null @@ -1,72 +0,0 @@ - - - - - Dialog - - - - 0 - 0 - 400 - 300 - - - - Dialog - - - - - 30 - 240 - 341 - 32 - - - - Qt::Horizontal - - - QDialogButtonBox::Cancel|QDialogButtonBox::Ok - - - - - - - - buttonBox - accepted() - Dialog - accept() - - - 248 - 254 - - - 157 - 274 - - - - - buttonBox - rejected() - Dialog - reject() - - - 316 - 260 - - - 286 - 274 - - - - - - diff --git a/silentdragon-lite.pro b/silentdragon-lite.pro index 5e745f4..a3364d2 100644 --- a/silentdragon-lite.pro +++ b/silentdragon-lite.pro @@ -126,6 +126,7 @@ FORMS += \ src/mobileappconnector.ui \ src/createhushconfdialog.ui \ src/recurringdialog.ui \ + src/requestContactDialog.ui \ src/newrecurring.ui \ src/requestdialog.ui \ src/recurringmultiple.ui \ diff --git a/src/addressbook.cpp b/src/addressbook.cpp index 1dd1a8f..a16d7c8 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -1,3 +1,5 @@ +// Copyright 2019-2020 The Hush developers +// GPLv3 #include "addressbook.h" #include "ui_addressbook.h" #include "ui_mainwindow.h" diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index b55dd5c..b9133b8 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -6,6 +6,7 @@ #include "controller.h" #include "mainwindow.h" #include "ui_mainwindow.h" +#include "ui_requestContactDialog.h" #include "addressbook.h" #include "ui_memodialog.h" #include "ui_contactrequest.h" @@ -83,6 +84,7 @@ void ChatModel::showMessages() { qDebug() << c.second.toChatLine(); } + } void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView &view) @@ -97,7 +99,10 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView &view) void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) { - + QObject::connect(ui->pushContact, &QPushButton::clicked,[&] () + { + renderContactRequest(); + }); QStandardItemModel* chat = new QStandardItemModel(); @@ -136,15 +141,98 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) ui->listChat->setModel(chat); } - + + } + } + +void ChatModel::renderContactRequest(){ + + Ui_requestDialog requestContact; + QDialog dialog(main); + requestContact.setupUi(&dialog); + Settings::saveRestore(&dialog); + + { + QStandardItemModel* contactRequest = new QStandardItemModel(); + + + for (auto &c : this->chatItems) { + if ((c.second.getType() == "cont") && (c.second.isOutgoing() == false) && (c.second.getMemo().startsWith("{"))) { + + + + QStandardItem* Items = new QStandardItem(c.second.getAddress()); + contactRequest->appendRow(Items); + requestContact.requestContact->setModel(contactRequest); + // requestContact.requestContact->show(); + + + + } + } + } + // } + + + QObject::connect(requestContact.requestContact, &QTableView::clicked, [&] () { + + for (auto &c : this->chatItems){ + QModelIndex index = requestContact.requestContact->currentIndex(); + QString label_contact = index.data(Qt::DisplayRole).toString(); + QStandardItemModel* contactMemo = new QStandardItemModel(); + + if (c.second.isOutgoing() == false) { + if (label_contact == c.second.getAddress()) { + if(c.second.getMemo().startsWith("{")){ + + }else{ + QStandardItem* Items = new QStandardItem(c.second.getMemo()); + contactMemo->appendRow(Items); + requestContact.requestMemo->setModel(contactMemo); + requestContact.requestMemo->show(); + + requestContact.requestZaddr->setText(c.second.getRequestZaddr()); + requestContact.requestCID->setText(c.second.getCid()); + requestContact.requestMyAddr->setText(c.second.getAddress()); + } + } + } + + } + }); + + + + QObject::connect(requestContact.pushButton, &QPushButton::clicked, [&] () { + + QString cid = requestContact.requestCID->text(); + auto addr = requestContact.requestZaddr->text().trimmed(); + QString newLabel = requestContact.requestLabel->text().trimmed(); + auto myAddr = requestContact.requestMyAddr->text().trimmed(); + + QString avatar = QString("res/") + requestContact.comboBoxAvatar->currentText() + QString(".png"); + + qDebug()<<"Beginn kopiert" <addAddressLabel(newLabel, addr, myAddr, cid, avatar); + }); + + + dialog.exec(); } + + void ChatModel::addCid(QString tx, QString cid) { this->cidMap[tx] = cid; } +void ChatModel::addrequestZaddr(QString tx, QString requestZaddr) +{ + this->requestZaddrMap[tx] = requestZaddr; +} + QString ChatModel::getCidByTx(QString tx) { for(auto& pair : this->cidMap) @@ -160,11 +248,31 @@ QString ChatModel::getCidByTx(QString tx) return QString("0xdeadbeef"); } +QString ChatModel::getrequestZaddrByTx(QString tx) +{ + for(auto& pair : this->requestZaddrMap) + { + + } + + if(this->requestZaddrMap.count(tx) > 0) + { + return this->requestZaddrMap[tx]; + } + + return QString("0xdeadbeef"); +} + void ChatModel::killCidCache() { this->cidMap.clear(); } +void ChatModel::killrequestZaddrCache() +{ + this->requestZaddrMap.clear(); +} + QString MainWindow::createHeaderMemo(QString type, QString cid, QString zaddr, int version=0, int headerNumber=1) { @@ -183,6 +291,7 @@ QString MainWindow::createHeaderMemo(QString type, QString cid, QString zaddr, header = j.toJson(); qDebug() << "made header=" << header; return header; + } diff --git a/src/chatmodel.h b/src/chatmodel.h index cde16cb..945c27c 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -14,6 +14,7 @@ #include "camount.h" + class ListViewDelegate : public QAbstractItemDelegate { int d_radius; @@ -163,7 +164,9 @@ class ChatItem long _timestamp; QString _address; QString _contact; - QString _memo; + QString _memo; + QString _requestZaddr; + QString _type; QString _cid; QString _txid; bool _outgoing = false; @@ -171,24 +174,28 @@ class ChatItem public: ChatItem() {} - ChatItem(long timestamp, QString address, QString contact, QString memo, QString cid, QString txid) + ChatItem(long timestamp, QString address, QString contact, QString memo,QString requestZaddr, QString type, QString cid, QString txid) { _timestamp = timestamp; _address = address; _contact = contact; _memo = memo; + _requestZaddr = requestZaddr; + _type = type; _cid = cid; _txid = txid; _outgoing = false; } - ChatItem(long timestamp, QString address, QString contact, QString memo, QString cid, QString txid, bool outgoing) + ChatItem(long timestamp, QString address, QString contact, QString memo, QString requestZaddr, QString type, QString cid, QString txid, bool outgoing) { _timestamp = timestamp; _address = address; _contact = contact; _memo = memo; + _requestZaddr = requestZaddr; + _type = type; _cid = cid; _txid = txid; _outgoing = outgoing; @@ -215,6 +222,15 @@ class ChatItem return _memo; } + QString getRequestZaddr() + { + return _requestZaddr; + } + QString getType() + { + return _type; + } + QString getCid() { return _cid; @@ -224,6 +240,7 @@ class ChatItem { return _txid; } + bool isOutgoing() { @@ -244,12 +261,22 @@ class ChatItem { _contact = contact; } - + void setMemo(QString memo) { _memo = memo; } + void setRequestZaddr(QString requestZaddr) + { + _requestZaddr = requestZaddr; + } + + void setType(QString type) + { + _type = type; + } + void setCid(QString cid) { _cid = cid; @@ -258,7 +285,7 @@ class ChatItem { _txid = txid; } - + void toggleOutgo() { _outgoing = true; @@ -291,6 +318,7 @@ class ChatModel Ui::MainWindow* ui; MainWindow* main; std::map cidMap; + std::map requestZaddrMap; public: ChatModel() {}; @@ -303,13 +331,19 @@ class ChatModel void setItems(std::vector 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); + void addrequestZaddr(QString tx, QString requestZaddr); QString getCidByTx(QString tx); + QString getrequestZaddrByTx(QString tx); void killCidCache(); + void killrequestZaddrCache(); }; diff --git a/src/connection.h b/src/connection.h index 5ed3a09..7130710 100644 --- a/src/connection.h +++ b/src/connection.h @@ -5,6 +5,7 @@ #include "ui_connection.h" #include "precompiled.h" + using json = nlohmann::json; class Controller; diff --git a/src/contactmodel.cpp b/src/contactmodel.cpp index 17d3fd4..adeeb45 100644 --- a/src/contactmodel.cpp +++ b/src/contactmodel.cpp @@ -1,6 +1,9 @@ +// Copyright 2019-2020 The Hush developers +// GPLv3 #include "contactmodel.h" #include "addressbook.h" #include "mainwindow.h" +#include "chatmodel.h" void ContactModel::renderContactList(QListView* view) { @@ -12,7 +15,7 @@ void ContactModel::renderContactList(QListView* view) auto theme = Settings::getInstance()->get_theme_name(); if ((theme == "dark" || theme == "midnight")) { - QString avatar = c.getAvatar(); + QString avatar = c.getAvatar(); QStandardItem* Items1 = new QStandardItem(QIcon(avatar) ,c.getName()); contact->appendRow(Items1); @@ -22,10 +25,8 @@ void ContactModel::renderContactList(QListView* view) view->setDragDropMode(QAbstractItemView::DropOnly); view->show(); - } - - - + } } + } \ No newline at end of file diff --git a/src/contactrequest.ui b/src/contactrequest.ui index e2939ee..d2ae8ef 100644 --- a/src/contactrequest.ui +++ b/src/contactrequest.ui @@ -11,7 +11,7 @@ - Dialog + Send a contact request diff --git a/src/controller.cpp b/src/controller.cpp index fd1189f..4566827 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -1,3 +1,6 @@ +// Copyright 2019-2020 The Hush developers +// GPLv3 + #include "controller.h" #include "mainwindow.h" #include "addressbook.h" @@ -6,6 +9,7 @@ #include "camount.h" #include "websockets.h" #include "DataStore.h" + template<> DataStore* DataStore::instance = nullptr; template<> @@ -860,7 +864,8 @@ void Controller::refreshTransactions() { QString memo; if (!o["memo"].is_null()) { memo = QString::fromStdString(o["memo"]); -} + } + QString cid; QString contact; @@ -876,6 +881,8 @@ void Controller::refreshTransactions() { address, contact, memo, + QString(""), + QString(""), cid, // we have to set the cid here, its included in our Addressbook for this contact txid, true // is an outgoing message @@ -930,37 +937,40 @@ void Controller::refreshTransactions() { QString type; QString cid; + QString requestZaddr1; + QString requestZaddr; + if (memo.startsWith("{")) { type = memo.mid(75,4); cid = memo.mid(14,36); + requestZaddr1 = memo.right(82); + requestZaddr = requestZaddr1.left(78); - qDebug()<addCid(txid, cid); + chatModel->addrequestZaddr(txid, requestZaddr); } - if (type == "cont") - - { - - qDebug()<< "Als Request erkannt"; - - - } - - + if (chatModel->getCidByTx(txid) != QString("0xdeadbeef")){ cid = chatModel->getCidByTx(txid); } - - else{ cid = ""; } + + if (chatModel->getrequestZaddrByTx(txid) != QString("0xdeadbeef")){ + + requestZaddr = chatModel->getrequestZaddrByTx(txid); + + } + + else{ + requestZaddr = ""; + } QString contact; for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) @@ -968,23 +978,23 @@ void Controller::refreshTransactions() { if (address == c.getMyAddress()){ contact = c.getName(); - qDebug()<< "Addressbuch Addresse: " << c.getMyAddress(); - qDebug()<< "Addresse: " << address; }else{ contact = "";} - + } ChatItem item = ChatItem( datetime, address, contact, memo, + requestZaddr, + type, cid, // we have to set the cid here, its included in the headermemo txid, false ); chatModel->addMessage(item); -} + } } diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 5b71245..eb7b244 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1,3 +1,5 @@ +// Copyright 2019-2020 The Hush developers +// GPLv3 #include "mainwindow.h" #include "addressbook.h" #include "viewalladdresses.h" @@ -15,6 +17,8 @@ #include "version.h" #include "connection.h" #include "ui_contactrequest.h" +#include "ui_requestContactDialog.h" +#include "chatmodel.h" #include "requestdialog.h" #include "websockets.h" #include @@ -1006,22 +1010,21 @@ void MainWindow::setupchatTab() { // Is request Contact checked? - if (ui->request->isChecked()) { + // if (ui->request->isChecked()) { QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::ContactRequest); // qDebug() <request->isChecked()->text(); - }else{ + // }else{ - QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::sendChatButton); + // QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::sendChatButton); - } + // } QObject::connect(ui->safeContactRequest, &QPushButton::clicked, this, &MainWindow::addContact); - -///////// Set selected Zaddr for Chat with Doubleklick +///////// Set selected Zaddr for Chat with Klick QObject::connect(ui->listContactWidget, &QTableView::clicked, [=] () { @@ -1046,6 +1049,19 @@ void MainWindow::setupchatTab() { } + +/* +void MainWindow::setChatItem(ChatItem * item) +{ + this->currentChatItem = item; +} + +ChatItem* MainWindow::getChatItem() +{ + return this->currentChatItem; +}*/ + + ChatMemoEdit::ChatMemoEdit(QWidget* parent) : QPlainTextEdit(parent) { QObject::connect(this, &QPlainTextEdit::textChanged, this, &ChatMemoEdit::updateDisplay); } diff --git a/src/mainwindow.h b/src/mainwindow.h index ee2e5ee..b077593 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -6,6 +6,7 @@ #include "logger.h" #include "recurring.h" + // Forward declare to break circular dependency. class Controller; class Settings; @@ -61,6 +62,10 @@ public: void updateLabels(); void updateTAddrCombo(bool checked); + // void setChatItem(ChatItem* item); + //void ChatItem* getChatItem(); + + // Disable recurring on mainnet void disableRecurring(); @@ -74,6 +79,8 @@ public: QLabel* statusIcon; QLabel* loadingLabel; QWidget* hushdtab; + //ChatItem* currentChatItem; + Logger* logger; @@ -83,8 +90,10 @@ public: public slots: void slot_change_theme(const QString& themeName); void slot_change_currency(const QString& currencyName); + private: + void closeEvent(QCloseEvent* event); void setupSendTab(); @@ -93,6 +102,7 @@ private: void setupBalancesTab(); void setuphushdTab(); void setupchatTab(); + void renderContactRequest(); void setLenDisplayLabel(QLabel* label); void updateContacts(); @@ -147,6 +157,9 @@ private: void restoreSavedStates(); bool eventFilter(QObject *object, QEvent *event); + + + bool uiPaymentsReady = false; QString pendingURIPayment; @@ -154,6 +167,7 @@ private: WormholeClient* wormhole = nullptr; Controller* rpc = nullptr; + QCompleter* labelCompleter = nullptr; QRegExpValidator* amtValidator = nullptr; QRegExpValidator* feesValidator = nullptr; diff --git a/src/mainwindow.ui b/src/mainwindow.ui index b5f3539..74739f7 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1414,9 +1414,9 @@ - 30 + 0 640 - 211 + 91 25 @@ -1427,7 +1427,7 @@ - Add conversation contact + Add contact false @@ -1493,6 +1493,19 @@ Is this message a contact request? + + + + 110 + 640 + 191 + 25 + + + + Incoming contact request + + @@ -1667,7 +1680,7 @@ AddressCombo QComboBox -
addresscombo.h
+
addresscombo.h
QRCodeLabel diff --git a/src/requestContactDialog.ui b/src/requestContactDialog.ui new file mode 100644 index 0000000..b862cda --- /dev/null +++ b/src/requestContactDialog.ui @@ -0,0 +1,355 @@ + + + requestDialog + + + + 0 + 0 + 1011 + 503 + + + + 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 + + + + + + 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 + + + + + + + + 300 + 470 + 80 + 25 + + + + + 100 + 0 + + + + Cancel + + + false + + + + + + 400 + 470 + 101 + 25 + + + + Add Contact + + + + + + From 6991743b5f41fb2107a684c2847083e18f923bb7 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 6 May 2020 16:54:15 +0200 Subject: [PATCH 074/256] new Button Design, only for darkmode atm --- application.qrc | 9 ++++ res/add_contact.png | Bin 0 -> 1889 bytes res/add_contact.svg | 9 ++++ res/addcontact.svg | 7 +++ res/notification.png | Bin 0 -> 1479 bytes res/notification.svg | 10 ++++ res/send-new-white.png | Bin 0 -> 1714 bytes res/send-new.svg | 19 +++++++ res/send.png | Bin 0 -> 4178 bytes res/send.svg | 6 +++ src/controller.cpp | 8 +-- src/mainwindow.cpp | 18 +------ src/mainwindow.ui | 113 +++++++++++++++++++++++++++++------------ 13 files changed, 147 insertions(+), 52 deletions(-) create mode 100644 res/add_contact.png create mode 100644 res/add_contact.svg create mode 100644 res/addcontact.svg create mode 100644 res/notification.png create mode 100644 res/notification.svg create mode 100644 res/send-new-white.png create mode 100644 res/send-new.svg create mode 100644 res/send.png create mode 100644 res/send.svg diff --git a/application.qrc b/application.qrc index 51a4cc4..c93d249 100644 --- a/application.qrc +++ b/application.qrc @@ -23,6 +23,15 @@ res/Pinguin.png res/Stag.png res/Elsa.png + res/send.png + res/send.svg + res/addcontact.svg + res/send-new.svg + res/add_contact.svg + res/notification.svg + res/send-new-white.png + res/add_contact.png + res/notification.png res/hushdlogo.gif diff --git a/res/add_contact.png b/res/add_contact.png new file mode 100644 index 0000000000000000000000000000000000000000..c00a055a21402dca0832a1bf5b8553ba5dde3601 GIT binary patch literal 1889 zcmZ9M3s4hx9>+J2C7T5ygf$@LkLoAg?QkXa%1U1d^DP zKx6=W?IDetpdKwgn%H_wtJr{HK&d#)X&DP@q^JkB#Vbw^5#|0XICs5dGQa+u6;o@$gQZX|C)IK}zj)`4{K9STLy)kc zykV8<3K7wjwZ2H%YSM5@ddQ<9YmH><{2CI!iJo22sGGu<7pm6jBH#hj!Dw4LE3_ap zQU@nJVR*0htNWG7(^>1b1V8R5k>0&iHq_2AZ*3^l42C&I|9<39w|95GGT^enuy^-~ z==Qh2Jd~kMc08E;rmF6XeQC#TO${ACk#c=wz>{ik{C9ENhxZJBzGl#OX>CM4oUv&2 z;wbT`$y=w}u(IMu`@Rg{k(~IC?SBXiu|12?G&RouW3B$Mq3y5*7jlo> z8o!zqc5SRTMc49p$ao{MVjS^+k+B5fj3sgFj7m z%=q@TX+FpuNDsLkmwGM15k8TMfYQ9Mxf>>1^)v@yf8!ufv z@pW6}jhoM()6jW4%eUlASAu)-%T0Mt0nJcfM|;ahKw%fFGIoJ09H4$QnebCR5Lvs` zYm}@J*e`GabH)BVz`>bnMbe-2Km2?rGxd!mjwP+F>t)-}O8oj2#Q$%Vt*tjQpuP5y z-m^IOXQjIR-*i>|VoOr83ZXpyLG>sEvmW7!aPL7{hF7(pwb5L*6ax=YzGtWsx zFoBNr6F~3aphhCjEaP(mfW(vwne_jWUJn<(a=o%yw}BAN1=x}}-l<9>-I$G7RD7Nc z=UOc!!ZhKSfVL+$Z8-FmU}fgw*epX#X-}425g4_v`TAwNH}9UD%POB}%@w<5UE;9T zd|>_D_`KF!8ZV$N%L{&3Yh`+CmDU8D%Sq%7-ZQ9(Y3;W1k_JPBTmO90=(2S-8CIUo z?X}e~M{2r$4aL|!p|(>?W4QJ4yr_J73C|*??cdOKI5e2u6KNY=%IDTgdB@VAvQS`% zHC-VMywsrV8_lj5$M>yaFJUEptgCaBb|w@1o_SL@|H|ch6>&!^S!EDY-F`Sd z+}r)npz2CdV@2sCgYK@KOdMMP$0Y#T?v53q*_(xD*ph;DEym~VlI5&1{Da|&J!a`_ zf^2kO2IWmmyM%@krz^%cl%A6Y*Xj9=3`(k3Y#1J z|1$#r-lssoPk(wG)4WK~_pg;sJnEtL=aUPkvp0L1p{T;MVkaa*396r&-V=h}6To2G zSrzY^Nr>v`xkl<8Y%S(FuIoNHCyi0k&;^jUM|sSoL<-Jy^41-2YCwvybnZfn_i8b4 z;#v%S#F8Y6P|qk$gjyyT_DCKa_wcDJ79{ME(cNIZc|4%^WrhIbgEZ}Yu%|Ecbiy+z zID#UX(4e$+KBEex&jsdq^0m#q3jrmZ7x(y6j{IKom-HUbH zt>>z9oE-np-l)b~SU%9s_e8wxK$_mg7QeH~)1)mcl_WVfF9i8}&8}ESUsGc^$cHyj z@6rE~eQ)MX^m*YIE;?hh3 z_M3EdH7p439%T8Q%)~x{KQV)*3pd^ + + + + + + diff --git a/res/addcontact.svg b/res/addcontact.svg new file mode 100644 index 0000000..1a71008 --- /dev/null +++ b/res/addcontact.svg @@ -0,0 +1,7 @@ + + + + + Svg Vector Icons : http://www.onlinewebfonts.com/icon + + \ No newline at end of file diff --git a/res/notification.png b/res/notification.png new file mode 100644 index 0000000000000000000000000000000000000000..f746609c5cffa2681e15dfee53173638f8cf0848 GIT binary patch literal 1479 zcmeAS@N?(olHy`uVBq!ia0vp^j~EyjWjNS?tXuyxfD(+Yna<7up3cq+1x5L3nK`Kp z3>p(_C)#=(c91z5ADr#FswqsM@I=5|osKSxEYYq2#VcHEt!BjhQZ&i*2#S$mz24L; z-yO;>o*pY3!|M2f`N+wOo)=xc{=^4m2);g8Xn*f+^_{)UEm;#Y!){9~c)4w6&+#KA zX|6o`lp4xP7R&E7+T0WA>9yeLk6rEk>&pY@UHx@u{$lU5Q9K_yj~JgZ$bD4$Xr=G% z2YdWw(pV!^?bPK=Up5`-j|sP_dpxH+^1;kRK}G(Q~#Y&Aj^lWW2Ky#7;k0bRgOd|{Z%+MV(i+28VZS*46hrNHhv%!VN7u?P z=XdDZ<#mUFz5Rg4yiM1m_UvA~b9?>yE5Cm;a`6_`W+eWp2gVCqlDE4H!+#K5uy^@n zpa^GyM`STD3a^7Oqm#z$3ZNi+iKnkC`x90+J_+5#3#axmFfbqXba4!+xb^m~V_uS@ zfQzI0_x;7c8R8;tJW4MuKT@@1qJ(`qW6}xn+Y#Ao%m39(s<`s)f&8lj46K?iY^)j{ zibfg^j$9KH1-k+}csc`moKieml0=l8l|&W`ND3{KNUx~mIG_}D*wdaTEU*J8dRat3 z$-=jAnw7t4lHr@c&wbs-^c#;brv-;ULA*omk9{Y*J#zSbL0|a>q3Sq>Ih01`0d3T#mVO1pMQ=<^0PG>I(Y5PW=Bu?y%p5rw8b<}M)RN-jO+ z?HW!XwH+Vd3Ak#wDRv1M-jiL#aa6-aQ0driXAwp9BNBp2VDWcSi#RNGk97zbe*0PH zvZ3Re!0H{L9ZFB0NX%W9Ah=dBtgu_a^#re>mG90&U*ccr^UGQIx^@U(&EyihD3v6t zs}$jq-4QwmXv$7gx8<5(-jI+RLr17;NiE+S0cMUUr}mu-O?7} z+Rd?;L$HP8$~@(&x{l|aVuEv)9cU1kyEH*C@ks=SpbjtuB_3V;?!71Aa9E+ukGe&! zEXy?!AuI80<9E+J?I)%++I)#alfxDIv=n#fP;kMG4Pxj0@V*vx+WG9Zi7GekKrvAS zimRuf*gOr2qG`a0NzwsE-H`}BVBBq#0mg2!rHkO9|H(ZZ3+0ntIQ~i~JH0qAA?Rce zjIdvZZY>x34V7BzdIS}}5TWF!{&&ZY1_4}{5txghz)Y0?VEUY2bCvejirdsbzAO&& zm_bMQ0lODl!u|FpWeI`|I#}#t4#YF;3h1~ayO^WZ!_b3~YhqE4l8Dk$jic%=UV&ZwF#Dmj#c}hs(n}}r Sf1{rb67h8Pb6Mw<&;$U?F(3#4 literal 0 HcmV?d00001 diff --git a/res/notification.svg b/res/notification.svg new file mode 100644 index 0000000..3db8333 --- /dev/null +++ b/res/notification.svg @@ -0,0 +1,10 @@ + + + + + + + diff --git a/res/send-new-white.png b/res/send-new-white.png new file mode 100644 index 0000000000000000000000000000000000000000..4c7461c389fb00f80909fa9d0a79bbcfeb5d3d95 GIT binary patch literal 1714 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI(84fm}NG*Hk4IrmA)7d$|)7e>}peR2rGbfdS zL1SX=L|c!;4l+mMgR@;%HH8Tjo(Pz$)6r#-CE69Bc!g`N)r^>5iYA#JK`}C{*PEK< zyF=N<(_>|0SRFqwA31r^^P;QQpZK5*!Pf^1?eE>KzO$FPC2L}4*lmdgFSpI?Iew%h z&6Q`LQbSqEV)?yBn|mTXy%s$Ev8%m*eR<%#tH18dU+jH0iswV;5#uukxsOU8t@OS9 zV2{5{8f&Dgow}Uq%cdj!G2u3KkLQ#}KA4$kJavvTpK$k2wXj(;M16WICRr@XvUa=&va?2JAu?-xYN+MG>HY(+~WM1{$IAO`(2=4z2UQa)< zbV4?BkIZKc$L2S`4*q{ozCA22>5ezo(S`%vk860C55_JCE1dH_`S{AY4FA#}c;)}_ z4o&zq`HPoxw+y50?E^^aB_n0&8dG(T4VSs>=);sVyNBj@O;(v=vw*Z z{0?2ayzVftw;%ABx9NJ+p52RgZm&Oo<@aw!F5aTrjKn|nz<6Ox@^*J&_z!{$_AZ|c z6yYrJh%5$1;dKyZbkdkz0Tg5}@$_|Nf5OVfC&9ien>mAlfn}Yii(^Q|t+%%f^NuQr zxE@qU{U2R6Ysv4_uIdjyuCLWgSPngZef_h|`TM`-6z^j=Hpl;&m)qL`|23K54u8X6N6!OSLAAit@# zqA`I}oMRe@5PQT5HjD#<*;=3&0Tm^RsSpD;45Sv!Y)#-4JJg!c2;_H&11;tdZ(;@V z72`O>pv=Y!PLh}kF<=uw+R&M*5lyU*R3jP+fF@2)kYwiwSBjY5A<+@87LmkusMK`> z3-6KFvl2QbIj)Ny6fzN5m))eArVtm-;(g)4-iK9JxtnJ=TF3lbAZl_%`!eG}A>$J* z-atJ@4~29Ln|<~Gl_?18A%s7Ig?B)Ooz9#%;=Mt@1f=>%kIxPkZbxNd{ewVZpdoPK zJz!zIgG`2}fx-?KjDUs+Z1&sI!{Fkz!C}IWcM*sR^AzDoVgWU|AW!IZeY+4J-^aq*DlF z$RZY?A=4BbfrhAhP2jo;^t{If{;Qz}g;aN#2klJY6xw4QQViq?teOerbX*D9;KJFG zr3N(5$y8J)kZIy9{%HY?0c(G6<8@fV!Y!b6kZGZi4jQwC3oeSu6wqYhhKfR&PAhyI zH#jU2&=JsL;a=#3&IBulh+;AYGzD~^qEM#O3Wp82nG2Z?!W3XKUATbuLli)nLRtB)Jtzcp=0YYG?-dQJn^l7j)NE+sngI+*#>+sN z1iJ_))-&utxtBma2J%3K&zga{N`N+l6@3QUl3*2~1X1)efm0M%K;Z}ZpP6l!m!Am} RyPO76=;`X`vd$@?2>?mlX@UR% literal 0 HcmV?d00001 diff --git a/res/send-new.svg b/res/send-new.svg new file mode 100644 index 0000000..ce2df0a --- /dev/null +++ b/res/send-new.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + diff --git a/res/send.png b/res/send.png new file mode 100644 index 0000000000000000000000000000000000000000..f0fce109a66c1332bbafc5c1abcb952c4d3f4ad2 GIT binary patch literal 4178 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 \ No newline at end of file diff --git a/src/controller.cpp b/src/controller.cpp index 4566827..0a0913a 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -874,7 +874,7 @@ void Controller::refreshTransactions() { if (address == c.getPartnerAddress()){ contact = c.getName(); }else{ contact = "";} - } + ChatItem item = ChatItem( datetime, @@ -889,7 +889,7 @@ void Controller::refreshTransactions() { ); chatModel->addMessage(item); - + } items.push_back(TransactionItemDetail{address, amount, memo}); total_amount = total_amount + amount; @@ -980,7 +980,7 @@ void Controller::refreshTransactions() { contact = c.getName(); }else{ contact = "";} - } + ChatItem item = ChatItem( datetime, address, @@ -994,7 +994,7 @@ void Controller::refreshTransactions() { ); chatModel->addMessage(item); - + } } } diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index eb7b244..8385b7a 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1013,12 +1013,12 @@ void MainWindow::setupchatTab() { // if (ui->request->isChecked()) { - QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::ContactRequest); + // QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::ContactRequest); // qDebug() <request->isChecked()->text(); // }else{ - // QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::sendChatButton); + QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::sendChatButton); // } @@ -1048,20 +1048,6 @@ void MainWindow::setupchatTab() { } - - -/* -void MainWindow::setChatItem(ChatItem * item) -{ - this->currentChatItem = item; -} - -ChatItem* MainWindow::getChatItem() -{ - return this->currentChatItem; -}*/ - - ChatMemoEdit::ChatMemoEdit(QWidget* parent) : QPlainTextEdit(parent) { QObject::connect(this, &QPlainTextEdit::textChanged, this, &ChatMemoEdit::updateDisplay); } diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 74739f7..045d7e0 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1332,9 +1332,9 @@ 0 - 40 + 90 341 - 601 + 551 @@ -1354,7 +1354,7 @@ 0 - 20 + 60 341 20 @@ -1392,10 +1392,10 @@ - 720 - 640 - 114 - 25 + 1170 + 560 + 91 + 81 @@ -1404,33 +1404,28 @@ 0 - - Send - - + false - - - - - 0 - 640 - 91 - 25 - + + - + + + :/icons/res/send-new-white.png + + + - 100 - 0 + 61 + 62 - - Add contact + + false - false + true @@ -1484,7 +1479,7 @@ 340 - 650 + 640 261 23 @@ -1493,17 +1488,71 @@ Is this message a contact request? + + + + 90 + 0 + 71 + 61 + + + + + 100 + 0 + + + + + + + + :/icons/res/add_contact.png:/icons/res/add_contact.png + + + + 43 + 49 + + + + true + + - 110 - 640 - 191 - 25 + 170 + 0 + 71 + 61 + + + 100 + 0 + + + + false + - Incoming contact request + + + + + :/icons/res/notification.png:/icons/res/notification.png + + + + 43 + 49 + + + + true From 494198995d1d84eb7befcdd92e4f8b6e6492ae76 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 6 May 2020 20:49:48 +0200 Subject: [PATCH 075/256] add notification and different themes to buttons --- src/chatmodel.cpp | 32 +++++++++++++++-------- src/mainwindow.cpp | 29 +++++++++++++++++++++ src/mainwindow.ui | 64 +++++++++++++++++++++++++++++++++++----------- 3 files changed, 100 insertions(+), 25 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index b9133b8..d800f95 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -105,8 +105,10 @@ 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 &c : this->chatItems) for (auto &p : AddressBook::getInstance()->getAllAddressLabels()) { @@ -157,23 +159,32 @@ void ChatModel::renderContactRequest(){ QStandardItemModel* contactRequest = new QStandardItemModel(); - for (auto &c : this->chatItems) { + for (auto &c : this->chatItems) + for (auto &p : AddressBook::getInstance()->getAllAddressLabels()) { + if ((c.second.getType() == "cont") && (c.second.isOutgoing() == false) && (c.second.getMemo().startsWith("{"))) { - + + + + QStandardItem* Items = new QStandardItem(c.second.getAddress()); contactRequest->appendRow(Items); requestContact.requestContact->setModel(contactRequest); - // requestContact.requestContact->show(); + requestContact.requestContact->show(); - + } + + } + + } - } - // } - + + + // } QObject::connect(requestContact.requestContact, &QTableView::clicked, [&] () { @@ -187,10 +198,11 @@ void ChatModel::renderContactRequest(){ if(c.second.getMemo().startsWith("{")){ }else{ - QStandardItem* Items = new QStandardItem(c.second.getMemo()); + QStandardItem* Items = new QStandardItem(c.second.getMemo()); contactMemo->appendRow(Items); requestContact.requestMemo->setModel(contactMemo); requestContact.requestMemo->show(); + requestContact.requestZaddr->setText(c.second.getRequestZaddr()); requestContact.requestCID->setText(c.second.getCid()); diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 8385b7a..884a6a7 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1018,6 +1018,35 @@ void MainWindow::setupchatTab() { // qDebug() <request->isChecked()->text(); // }else{ + /////////////Setting Icons for Chattab and different themes + + auto theme = Settings::getInstance()->get_theme_name(); + if (theme == "dark" || theme == "midnight") { + QPixmap send(":/icons/res/send-new-white.png"); + QIcon sendIcon(send); + ui->sendChatButton->setIcon(sendIcon); + + QPixmap notification(":/icons/res/notification.png"); + QIcon notificationIcon(notification); + ui->pushContact->setIcon(notificationIcon); + + QPixmap addContact(":/icons/res/add_contact.png"); + QIcon addContactIcon(addContact); + ui->safeContactRequest->setIcon(addContact); + + }else{ + QPixmap pixmap(":/icons/res/send-new.svg"); + QIcon sendIcon(pixmap); + ui->sendChatButton->setIcon(sendIcon); + + QPixmap notification(":/icons/res/notification.svg"); + QIcon notificationIcon(notification); + ui->pushContact->setIcon(notificationIcon); + + QPixmap addContact(":/icons/res/add_contact.svg"); + QIcon addContactIcon(addContact); + ui->safeContactRequest->setIcon(addContact); + } QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::sendChatButton); // } diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 045d7e0..85cefa3 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1417,8 +1417,8 @@ - 61 - 62 + 41 + 49 @@ -1479,7 +1479,7 @@ 340 - 640 + 650 261 23 @@ -1491,10 +1491,10 @@ - 90 - 0 - 71 - 61 + 270 + 580 + 51 + 51 @@ -1507,8 +1507,9 @@ - - :/icons/res/add_contact.png:/icons/res/add_contact.png + + :/icons/res/add_contact.png + @@ -1523,10 +1524,10 @@ - 170 - 0 - 71 - 61 + 10 + 30 + 41 + 41 @@ -1547,14 +1548,47 @@ - 43 - 49 + 33 + 35 true + + + + 30 + 20 + 31 + 21 + + + + QFrame::NoFrame + + + 1 + + + QLCDNumber::Flat + + + 0.000000000000000 + + + lcdNumber + listContactWidget + label_39 + memoTxtChat + contactNameMemo + sendChatButton + contactNameMemo_3 + listChat + request + safeContactRequest + pushContact
From 310504285bc605b7276d808f472e98b58d9630d9 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 6 May 2020 22:55:23 +0200 Subject: [PATCH 076/256] add a new button to send contact request, some ui tweaks --- application.qrc | 4 +++ res/message-icon.svg | 9 ++++++ res/rahmen-message.png | Bin 0 -> 2541 bytes res/upload.png | Bin 0 -> 1369 bytes res/upload.svg | 8 +++++ src/chatmodel.cpp | 22 ++++++++++--- src/mainwindow.cpp | 49 +++++++++++++++------------- src/mainwindow.h | 6 +++- src/mainwindow.ui | 71 +++++++++++++++++++++-------------------- 9 files changed, 107 insertions(+), 62 deletions(-) create mode 100644 res/message-icon.svg create mode 100644 res/rahmen-message.png create mode 100644 res/upload.png create mode 100644 res/upload.svg diff --git a/application.qrc b/application.qrc index c93d249..29a1765 100644 --- a/application.qrc +++ b/application.qrc @@ -32,6 +32,10 @@ res/send-new-white.png res/add_contact.png res/notification.png + res/rahmen-message.png + res/upload.png + res/upload.svg + res/message-icon.svg res/hushdlogo.gif diff --git a/res/message-icon.svg b/res/message-icon.svg new file mode 100644 index 0000000..fe61e44 --- /dev/null +++ b/res/message-icon.svg @@ -0,0 +1,9 @@ + + + + + + + diff --git a/res/rahmen-message.png b/res/rahmen-message.png new file mode 100644 index 0000000000000000000000000000000000000000..3b486a4b1103542e6c20d7d879a5503405ceaf92 GIT binary patch literal 2541 zcmeAS@N?(olHy`uVBq!ia0y~yU;;9k7&zE~)R&4YzZe)8TQZ%U13aCb6$*;-(=u~X z85lGs)=sqbIP4&EG(I@nRg14opzuUM=|%;uM=L@#oLU34x4cRydf9$qiK1s=p-2oj zU!6{vY|Na}(gIPIgZu*O?&_}Mnjh;u7rOSaAOBlX{=V=#pTMisWs$PU4a;t)SCwL0T;)q z2Y$!zd~#y4bK`^Mo0a%Bu%(xMUU~D-zBr(E(m}z>SMR<_FeFUd?hZ~y0t^fdKvP&4 z7!-gMBLf2m1A_yQ1x#Vsq#hhE`@+9s)h7wY2T^zL`k`wf)))*M@Y{-^Tmfz|Hb>%7 zj*vnafe>q8AR;74RE`>^qXC2~WkG{=G=PR{0IgpAF0a2axc=m-Q^7mt?|qE%Y`l-9OLu ztbm=NXaB?Y#yw07kMsW=~4kZ3{A)Ge_-|lInaW!;mSkve_*!*BdW(9=z+)lAD;3t=$QR$lP_Qb zY6BXugm3>x_BkN!0w9xFfF?G`0xe_j+y4+E4ph1Fa6ZUVs65z42auK@)4dxC4*!s@ z1M>X;GED!>1@ZzT&_(w_A=Cpj8f4&O{*(ev0g&q%8QOp{!WFCyAAwE-ItWd*(GHf5 zkLG`XGC&&}IrlIf_#s^nvI<$Xyh5{ggGBvdU_==FIVL~jfHsm%K(T*d?>eweXD|eM zRDj_@u>Ap+I7STDpLigokPHeh4u+an>=I{z#y|o|0Tg~i?+8;PquW!pV z@6*b=KbT{VYcm*mT?47;u?Jf9n7;v}{y{W@L>&W`KthD;@lU1>JoacYg0O7$2VDj- srGXB?p&J+)V0Q{E+zopr0NXbpzW@LL literal 0 HcmV?d00001 diff --git a/res/upload.png b/res/upload.png new file mode 100644 index 0000000000000000000000000000000000000000..b6f3c1fc0fe0d3f6b4bef72ec66a3bcd4d3dc2b7 GIT binary patch literal 1369 zcmeAS@N?(olHy`uVBq!ia0vp^w;321WjNS?EI-MEKY*N;OlRi+PiJR^f};Gi%$!sP z291fe6Ky>XJIEZ356*Vg;wuv|5lX0FZ|9Y@G5m#q-=7-vfF7^GX*y9 z6gB+QC154!%A;(wxhK-o>tK1!UF8GUcUzqQWdHs7i@?uf%uGrjd5nE#SIn)*x@>0g zUf4a-GpzG`r@QYig^$YDMf>kth{uXmq+L0)03F=@2AtX zvGzaY|Gc}V<mW zgs+r-@IXL9FX-E>^SgK7s{Z}mXY+pfqN7F2cV#rC0HcL1$=lt9;Xep2*t>i(P=vF< zBeED6gV#Zr(Me-=1yGQ^#M9T6{Ru0Zh#KGI!)@XW49sDkE{-7;x8B~}$jfZV!{Rvi z_xs4cn5Oe}MQTA>T-;3aYxw$$-tV1XJZZ*>;)*rxZE6-919^N4k`_zMdT_+e(Bxoe zZ&F5+u=LRjEb3-m3pxFAM4W}^+|a#23w$Lv5^yGzEqPiL;$4K z8DgQD3DgN-t!)pWW^v?&Lrgz*>46ehiJ{gG4zQ^`TzX*5Qj43qF9-k~aBKyBC3hYH z)f@q-*=}IA(9jZOj&7H4Mh*waAa0<$W`j(+^8l#q7)Y5pP}xSXvQnVL0^yhzwz)v@ z7cAln9o2!ltq!_oT;SAmYW6D-lq#XF5?OuahD&9)s|uz6+S^Ip$Z5FY0LBVt4ml7k zAgy2q!5zE;(hz)vt%DbWlbDaNLGVV#BxW#fyuq*$f+0qMjHIz~z+{gDJfBkxOxed6 r?mzzzbOh8NXE|UlBE@s4HvF*8f8(*Ycx^~XAV|W~)z4*}Q$iB}e1!gF literal 0 HcmV?d00001 diff --git a/res/upload.svg b/res/upload.svg new file mode 100644 index 0000000..9f31b60 --- /dev/null +++ b/res/upload.svg @@ -0,0 +1,8 @@ + + + + + + + diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index d800f95..6c426be 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -155,7 +155,7 @@ void ChatModel::renderContactRequest(){ requestContact.setupUi(&dialog); Settings::saveRestore(&dialog); - { + /* { QStandardItemModel* contactRequest = new QStandardItemModel(); @@ -183,8 +183,7 @@ void ChatModel::renderContactRequest(){ } - - // } + QObject::connect(requestContact.requestContact, &QTableView::clicked, [&] () { @@ -228,7 +227,7 @@ void ChatModel::renderContactRequest(){ qDebug()<<"Beginn kopiert" <addAddressLabel(newLabel, addr, myAddr, cid, avatar); }); - + */ dialog.exec(); } @@ -476,7 +475,7 @@ QString MainWindow::doSendChatTxValidations(Tx tx) { auto available = rpc->getModel()->getAvailableBalance(); if (available < total) { - return tr("Not enough available funds to send this transaction\n\nHave: %1\nNeed: %2\n\nNote: Funds need 5 confirmations before they can be spent") + return tr("Not enough available funds to send this transaction\n\nHave: %1\nNeed: %2\n\nNote: Funds need 3 confirmations before they can be spent") .arg(available.toDecimalhushString(), total.toDecimalhushString()); } @@ -601,6 +600,18 @@ Tx MainWindow::createTxForSafeContactRequest() { void MainWindow::ContactRequest() { + if (ui->contactNameMemo->text().trimmed().isEmpty() || ui->memoTxtChat->toPlainText().trimmed().isEmpty()) { + + // auto addr = ""; + // if (! Settings::isZAddress(AddressBook::addressFromAddressLabel(addr->text()))) { + QMessageBox msg(QMessageBox::Critical, tr("You have to select a contact and insert a Memo"), + tr("You have selected no Contact from Contactlist,\n") + tr("\nor your Memo is empty"), + QMessageBox::Ok, this); + + msg.exec(); + return; + } + Tx tx = createTxForSafeContactRequest(); QString error = doSendRequestTxValidations(tx); @@ -659,6 +670,7 @@ void MainWindow::ContactRequest() { // Force a UI update so we get the unconfirmed Tx // rpc->refresh(true); ui->memoTxtChat->clear(); + rpc->refresh(true); }, // Errored out diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 884a6a7..a691a56 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1,4 +1,4 @@ -// Copyright 2019-2020 The Hush developers +// Copyright 2019-2020 The Hush developers // GPLv3 #include "mainwindow.h" #include "addressbook.h" @@ -44,7 +44,7 @@ MainWindow::MainWindow(QWidget *parent) : ui->setupUi(this); - ui->request->setChecked(false); + logger = new Logger(this, QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)).filePath("silentdragonlite-wallet.log")); ui->memoTxtChat->setAutoFillBackground(false); ui->memoTxtChat->setPlaceholderText("Send Message"); @@ -1005,22 +1005,10 @@ void MainWindow::setupTransactionsTab() { } void MainWindow::setupchatTab() { - -// Send button - - // Is request Contact checked? - - // if (ui->request->isChecked()) { - - // QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::ContactRequest); - - // qDebug() <request->isChecked()->text(); - // }else{ - - /////////////Setting Icons for Chattab and different themes - - auto theme = Settings::getInstance()->get_theme_name(); + /////////////Setting Icons for Chattab and different themes + + auto theme = Settings::getInstance()->get_theme_name(); if (theme == "dark" || theme == "midnight") { QPixmap send(":/icons/res/send-new-white.png"); QIcon sendIcon(send); @@ -1032,8 +1020,15 @@ void MainWindow::setupchatTab() { QPixmap addContact(":/icons/res/add_contact.png"); QIcon addContactIcon(addContact); - ui->safeContactRequest->setIcon(addContact); + ui->safeContactRequest->setIcon(addContactIcon); + + /*QPixmap rahmen(":/icons/res/rahmen-message.png"); + QIcon addRahmenIcon(rahmen); + ui->lcdNumber->setIcon(addRahmenIcon);*/ + QPixmap sendContact(":/icons/res/upload.png"); + QIcon addSendContactIcon(sendContact); + ui->sendContact->setIcon(addSendContactIcon); }else{ QPixmap pixmap(":/icons/res/send-new.svg"); QIcon sendIcon(pixmap); @@ -1046,11 +1041,21 @@ void MainWindow::setupchatTab() { QPixmap addContact(":/icons/res/add_contact.svg"); QIcon addContactIcon(addContact); ui->safeContactRequest->setIcon(addContact); + + /*QPixmap rahmen(":/icons/res/message-icon.svg"); + QIcon addRahmenIcon(rahmen); + ui->lcdNumber->setIcon(addRahmenIcon);*/ + + QPixmap sendContact(":/icons/res/upload.svg"); + QIcon addSendContactIcon(sendContact); + ui->sendContact->setIcon(addSendContactIcon); } - QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::sendChatButton); - // } - + + + + QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::sendChatButton); + QObject::connect(ui->sendContact, &QPushButton::clicked, this, &MainWindow::ContactRequest); QObject::connect(ui->safeContactRequest, &QPushButton::clicked, this, &MainWindow::addContact); ///////// Set selected Zaddr for Chat with Klick @@ -1549,4 +1554,4 @@ MainWindow::~MainWindow() delete wsserver; delete wormhole; -} +} \ No newline at end of file diff --git a/src/mainwindow.h b/src/mainwindow.h index b077593..54f9dc8 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -92,10 +92,14 @@ public slots: void slot_change_currency(const QString& currencyName); -private: +private slots: + + +private: void closeEvent(QCloseEvent* event); + void setupSendTab(); void setupTransactionsTab(); void setupReceiveTab(); diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 85cefa3..6be3969 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1360,7 +1360,7 @@ - <html><head/><body><p align="center">Hushchat Contactlist</p></body></html> + <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Contactlist</span></p></body></html> @@ -1438,7 +1438,7 @@ - <html><head/><body><p align="center">Contact Name:</p></body></html> + <html><head/><body><p align="center"><span style=" font-weight:600;">Contact Name :</span></p></body></html> @@ -1475,19 +1475,6 @@ true - - - - 340 - 650 - 261 - 23 - - - - Is this message a contact request? - - @@ -1578,6 +1565,39 @@ 0.000000000000000 + + + + 270 + 510 + 51 + 51 + + + + + 100 + 0 + + + + + + + + :/icons/res/add_contact.png + + + + + 43 + 49 + + + + true + + lcdNumber listContactWidget label_39 @@ -1586,9 +1606,9 @@ sendChatButton contactNameMemo_3 listChat - request safeContactRequest pushContact + sendContact
@@ -1799,22 +1819,5 @@ - - - request - stateChanged(int) - MainWindow - update() - - - 481 - 721 - - - 636 - 389 - - - - + From 9600242e7055542713c0441419037f96e91b338e Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 7 May 2020 21:24:51 +0200 Subject: [PATCH 077/256] fix icon and background problem on mac/win --- silentdragon-lite.pro | 2 +- src/addressbook.cpp | 2 +- src/chatmodel.cpp | 2 +- src/contactmodel.cpp | 3 ++- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/silentdragon-lite.pro b/silentdragon-lite.pro index a3364d2..5e32f1e 100644 --- a/silentdragon-lite.pro +++ b/silentdragon-lite.pro @@ -12,7 +12,7 @@ PRECOMPILED_HEADER = src/precompiled.h QT += widgets QT += websockets -QT += qml quick + TARGET = SilentDragonLite diff --git a/src/addressbook.cpp b/src/addressbook.cpp index a16d7c8..298b057 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -173,7 +173,7 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) QString cid = ab.cid->text(); - QString avatar = QString("res/") + ab.comboBoxAvatar->currentText() + QString(".png"); + QString avatar = QString(":/icons/res/") + ab.comboBoxAvatar->currentText() + QString(".png"); qDebug()<<"AVATAR NAME : " << avatar; if (addr.isEmpty() || newLabel.isEmpty()) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 6c426be..c8ab957 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -510,7 +510,7 @@ void::MainWindow::addContact() { QString newLabel = request.labelRequest->text().trimmed(); auto myAddr = request.myzaddr->text().trimmed(); - QString avatar = QString("res/") + request.comboBoxAvatar->currentText() + QString(".png"); + QString avatar = QString(":/icons/res/") + request.comboBoxAvatar->currentText() + QString(".png"); if (addr.isEmpty() || newLabel.isEmpty()) { diff --git a/src/contactmodel.cpp b/src/contactmodel.cpp index adeeb45..41b7758 100644 --- a/src/contactmodel.cpp +++ b/src/contactmodel.cpp @@ -17,7 +17,8 @@ void ContactModel::renderContactList(QListView* view) QString avatar = c.getAvatar(); - QStandardItem* Items1 = new QStandardItem(QIcon(avatar) ,c.getName()); + QStandardItem* Items1 = new QStandardItem(c.getName()); + Items1->setData(QIcon(avatar),Qt::DecorationRole); contact->appendRow(Items1); view->setModel(contact); view->setIconSize(QSize(60,70)); From 8183b245c6c53ac9480194e4547ed373bd362b9f Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 7 May 2020 21:57:47 +0200 Subject: [PATCH 078/256] add a first Button for a new HushChat Address on chattab --- src/addressbook.cpp | 7 ++++--- src/chatmodel.cpp | 10 ++++++---- src/mainwindow.cpp | 13 ++++++++++++- src/mainwindow.h | 2 ++ src/mainwindow.ui | 27 +++++++++++++++++++++++++++ 5 files changed, 51 insertions(+), 8 deletions(-) diff --git a/src/addressbook.cpp b/src/addressbook.cpp index 298b057..ce706d0 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -212,10 +212,11 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) ////// We need a better popup here. AddressBook::getInstance()->addAddressLabel(newLabel, addr, myAddr, cid,avatar); - QMessageBox::critical( + + QMessageBox::information( parent, - QObject::tr("Add Successfully"), - QObject::tr("juhu").arg(newLabel), + QObject::tr("Added Contact"), + QObject::tr("successfully added your new contact").arg(newLabel), QMessageBox::Ok ); return; diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index c8ab957..34be5c0 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -535,12 +535,14 @@ void::MainWindow::addContact() { return; } - ////// We need a better popup here. + ///////Todo: Test if label allready exist! + + ////// Success, so show it AddressBook::getInstance()->addAddressLabel(newLabel, addr, myAddr, cid, avatar); - QMessageBox::critical( + QMessageBox::information( this, - QObject::tr("Add Successfully"), - QObject::tr("juhu").arg(newLabel), + QObject::tr("Added Contact"), + QObject::tr("successfully added your new contact").arg(newLabel), QMessageBox::Ok ); return; diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index a691a56..ed4bb95 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1554,4 +1554,15 @@ MainWindow::~MainWindow() delete wsserver; delete wormhole; -} \ No newline at end of file +} +void MainWindow::on_givemeZaddr_clicked() +{ + + bool sapling = true; + rpc->createNewZaddr(sapling, [=] (json reply) { + QString hushchataddr = QString::fromStdString(reply.get()[0]); + QMessageBox::information(this, "Your new Hushchataddress",hushchataddr); + // ui->listReceiveAddresses->insertItem(0, hushchataddr); + // ui->listReceiveAddresses->setCurrentIndex(0); + }); +} diff --git a/src/mainwindow.h b/src/mainwindow.h index 54f9dc8..9e91245 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -95,6 +95,8 @@ public slots: private slots: + void on_givemeZaddr_clicked(); + private: void closeEvent(QCloseEvent* event); diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 6be3969..2c1adc6 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1598,6 +1598,32 @@ true + + + + 80 + 10 + 211 + 41 + + + + New HushChat Address + + + + :/icons/res/message-icon.svg:/icons/res/message-icon.svg + + + + 33 + 29 + + + + true + + lcdNumber listContactWidget label_39 @@ -1609,6 +1635,7 @@ safeContactRequest pushContact sendContact + givemeZaddr
From 4305980b278f77c9d00608b2f6a7b5615e948f85 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 7 May 2020 22:03:25 +0200 Subject: [PATCH 079/256] add information box for contact request --- src/chatmodel.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 34be5c0..c3503b9 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -155,7 +155,7 @@ void ChatModel::renderContactRequest(){ requestContact.setupUi(&dialog); Settings::saveRestore(&dialog); - /* { + { QStandardItemModel* contactRequest = new QStandardItemModel(); @@ -222,12 +222,17 @@ void ChatModel::renderContactRequest(){ QString newLabel = requestContact.requestLabel->text().trimmed(); auto myAddr = requestContact.requestMyAddr->text().trimmed(); - QString avatar = QString("res/") + requestContact.comboBoxAvatar->currentText() + QString(".png"); + QString avatar = QString(":/icons/res/") + requestContact.comboBoxAvatar->currentText() + QString(".png"); qDebug()<<"Beginn kopiert" <addAddressLabel(newLabel, addr, myAddr, cid, avatar); + + QMessageBox::information(main, "Added Contact","successfully added your new contact. You can now Chat with this contact"); + + + }); - */ + dialog.exec(); } From 4011c3950985355b220f7f17acd2e9534a0a84c9 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 7 May 2020 22:17:20 +0200 Subject: [PATCH 080/256] fix --- src/chatmodel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index c3503b9..65d5c3e 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -160,7 +160,7 @@ void ChatModel::renderContactRequest(){ for (auto &c : this->chatItems) - for (auto &p : AddressBook::getInstance()->getAllAddressLabels()) { + { if ((c.second.getType() == "cont") && (c.second.isOutgoing() == false) && (c.second.getMemo().startsWith("{"))) { From b3d41bbb43783777e683aa98c9c994f369ae3d8b Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 7 May 2020 22:38:19 +0200 Subject: [PATCH 081/256] some ui tweaks --- src/chatmodel.cpp | 6 +- src/mainwindow.cpp | 12 +- src/mainwindow.ui | 283 ++++++++++++++++++++++++++++++++++++++------- 3 files changed, 248 insertions(+), 53 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 65d5c3e..98bb0f8 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -105,9 +105,9 @@ 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"); + // ui->lcdNumber->setStyleSheet("background-color: red"); + // ui->lcdNumber->setPalette(Qt::red); + // ui->lcdNumber->display("1"); for (auto &c : this->chatItems) for (auto &p : AddressBook::getInstance()->getAllAddressLabels()) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index ed4bb95..694178f 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1022,9 +1022,9 @@ void MainWindow::setupchatTab() { QIcon addContactIcon(addContact); ui->safeContactRequest->setIcon(addContactIcon); - /*QPixmap rahmen(":/icons/res/rahmen-message.png"); - QIcon addRahmenIcon(rahmen); - ui->lcdNumber->setIcon(addRahmenIcon);*/ + QPixmap newAddr(":/icons/res/add_contact.png"); + QIcon addnewAddrIcon(newAddr); + ui->givemeZaddr->setIcon(addnewAddrIcon); QPixmap sendContact(":/icons/res/upload.png"); QIcon addSendContactIcon(sendContact); @@ -1042,9 +1042,9 @@ void MainWindow::setupchatTab() { QIcon addContactIcon(addContact); ui->safeContactRequest->setIcon(addContact); - /*QPixmap rahmen(":/icons/res/message-icon.svg"); - QIcon addRahmenIcon(rahmen); - ui->lcdNumber->setIcon(addRahmenIcon);*/ + QPixmap newAddr(":/icons/res/add_contact.svg"); + QIcon addnewAddrIcon(newAddr); + ui->givemeZaddr->setIcon(addnewAddrIcon); QPixmap sendContact(":/icons/res/upload.svg"); QIcon addSendContactIcon(sendContact); diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 2c1adc6..08e1d4d 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1332,9 +1332,9 @@ 0 - 90 + 120 341 - 551 + 521 @@ -1354,7 +1354,7 @@ 0 - 60 + 100 341 20 @@ -1379,12 +1379,18 @@ - 450 + 460 20 161 20 + + + 75 + true + + <html><head/><body><p align="center"><br/></p></body></html> @@ -1543,28 +1549,6 @@ true - - - - 30 - 20 - 31 - 21 - - - - QFrame::NoFrame - - - 1 - - - QLCDNumber::Flat - - - 0.000000000000000 - - @@ -1601,41 +1585,252 @@ - 80 - 10 - 211 + 60 + 30 + 111 41 - New HushChat Address + New Addr - :/icons/res/message-icon.svg:/icons/res/message-icon.svg + :/icons/res/add_contact.png:/icons/res/add_contact.png 33 - 29 + 35 true - lcdNumber - listContactWidget - label_39 - memoTxtChat - contactNameMemo - sendChatButton - contactNameMemo_3 - listChat - safeContactRequest - pushContact - sendContact - givemeZaddr + + + + 40 + 20 + 21 + 16 + + + + + + + + + 204 + 0 + 0 + + + + + + + 204 + 0 + 0 + + + + + + + 239 + 41 + 41 + + + + + + + 204 + 0 + 0 + + + + + + + 204 + 0 + 0 + + + + + + + 204 + 0 + 0 + + + + + + + 204 + 0 + 0 + + + + + + + + + 204 + 0 + 0 + + + + + + + 204 + 0 + 0 + + + + + + + 239 + 41 + 41 + + + + + + + 204 + 0 + 0 + + + + + + + 204 + 0 + 0 + + + + + + + 204 + 0 + 0 + + + + + + + 204 + 0 + 0 + + + + + + + + + 190 + 190 + 190 + + + + + + + 190 + 190 + 190 + + + + + + + 239 + 41 + 41 + + + + + + + 190 + 190 + 190 + + + + + + + 204 + 0 + 0 + + + + + + + 204 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + + + 12 + + + + Qt::LeftToRight + + + 1 + + + Qt::AutoText + + From 203588a59ba9c505342c35726dd306f676a92e09 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 8 May 2020 18:51:16 +0200 Subject: [PATCH 082/256] fix Addressbook --- src/addressbook.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/addressbook.cpp b/src/addressbook.cpp index ce706d0..d00c3ae 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -10,7 +10,7 @@ AddressBookModel::AddressBookModel(QTableView *parent) : QAbstractTableModel(parent) { - headers << tr("Label") << tr("Address") << tr("HushChatAddress") << tr("CID"); + headers << tr("Avatar")<< tr("Label") << tr("Address") << tr("HushChatAddress") << tr("CID"); this->parent = parent; loadData(); } From d599bf91902995441f74f803f0854be53f22a1ca Mon Sep 17 00:00:00 2001 From: maxisman Date: Fri, 8 May 2020 19:10:59 +0200 Subject: [PATCH 083/256] update// moved datastore to DataStore/DataStore.h --- src/{ => DataStore}/DataStore.h | 0 src/controller.cpp | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename src/{ => DataStore}/DataStore.h (100%) diff --git a/src/DataStore.h b/src/DataStore/DataStore.h similarity index 100% rename from src/DataStore.h rename to src/DataStore/DataStore.h diff --git a/src/controller.cpp b/src/controller.cpp index 0a0913a..6ab187d 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -8,7 +8,7 @@ #include "version.h" #include "camount.h" #include "websockets.h" -#include "DataStore.h" +#include "DataStore/DataStore.h" template<> DataStore* DataStore::instance = nullptr; From 2e8b46c863205799ce10180b8e1d58f88d1832a1 Mon Sep 17 00:00:00 2001 From: maxisman Date: Fri, 8 May 2020 19:39:16 +0200 Subject: [PATCH 084/256] update// changed datastore to factory pattern to get only the desired datastores --- src/DataStore/ChatDataStore.h | 64 ++++++++++++++++++++++++++++ src/DataStore/DataStore-deprecated.h | 58 +++++++++++++++++++++++++ src/DataStore/DataStore.h | 61 ++++++-------------------- src/DataStore/SietchDataStore.h | 63 +++++++++++++++++++++++++++ src/controller.cpp | 6 +-- 5 files changed, 200 insertions(+), 52 deletions(-) create mode 100644 src/DataStore/ChatDataStore.h create mode 100644 src/DataStore/DataStore-deprecated.h create mode 100644 src/DataStore/SietchDataStore.h diff --git a/src/DataStore/ChatDataStore.h b/src/DataStore/ChatDataStore.h new file mode 100644 index 0000000..84291fc --- /dev/null +++ b/src/DataStore/ChatDataStore.h @@ -0,0 +1,64 @@ +#ifndef DATASTORE_H +#define DATASTORE_H + +using json = nlohmann::json; + +class ChatDataStore +{ + private: + static bool instanced; + static ChatDataStore* instance; + std::map data; + ChatDataStore() + { + + } + + public: + static ChatDataStore* getInstance() + { + if(!ChatDataStore::instanced) + { + ChatDataStore::instanced = true; + ChatDataStore::instance = new ChatDataStore(); + } + + return ChatDataStore::instance; + } + + void clear(); + void setData(QString key, ChatItem value); + ChatItem getData(QString key); + QString dump(); + + ~ChatDataStore() + { + ChatDataStore::instanced = false; + } +}; + +void ChatDataStore::clear() +{ + this->data.clear(); +} + + +void ChatDataStore:setData(QString key, ChatItem value) +{ + this->data[key] = value; +} + +ChatItem ChatDataStore::getData(QString key) +{ + return this->data[key]; +} + +QString ChatDataStore::dump() +{ + return ""; +} + +ChatDataStore* ChatDataStore::instance = nullptr; +bool ChatDataStore::instanced = false; + +#endif \ No newline at end of file diff --git a/src/DataStore/DataStore-deprecated.h b/src/DataStore/DataStore-deprecated.h new file mode 100644 index 0000000..19daa1b --- /dev/null +++ b/src/DataStore/DataStore-deprecated.h @@ -0,0 +1,58 @@ +#ifndef DATASTORE_H +#define DATASTORE_H + +#include +#include + +template +class DataStore +{ + private: + static bool instanced; + static DataStore* instance; + std::map data; + DataStore() + { + + } + + public: + static DataStore* getInstance() + { + if(!DataStore::instanced) + { + DataStore::instanced = true; + DataStore::instance = new DataStore(); + } + + return DataStore::instance; + } + + void clear(); + void setData(QString key, T value); + QString getData(QString key); + + ~DataStore() + { + DataStore::instanced = false; + } +}; + +template +void DataStore::clear() +{ + this->data.clear(); +} + +template +void DataStore::setData(QString key, T value) +{ + this->data[key] = value; +} + +template +QString DataStore::getData(QString key) +{ + return this->data[key]; +} +#endif \ No newline at end of file diff --git a/src/DataStore/DataStore.h b/src/DataStore/DataStore.h index 19daa1b..0aa8a09 100644 --- a/src/DataStore/DataStore.h +++ b/src/DataStore/DataStore.h @@ -1,58 +1,21 @@ #ifndef DATASTORE_H #define DATASTORE_H -#include -#include +#include "SietchDataStore.h" +#include "ChatDataStore.h" -template class DataStore { - private: - static bool instanced; - static DataStore* instance; - std::map data; - DataStore() - { - - } - - public: - static DataStore* getInstance() - { - if(!DataStore::instanced) - { - DataStore::instanced = true; - DataStore::instance = new DataStore(); - } - - return DataStore::instance; - } - - void clear(); - void setData(QString key, T value); - QString getData(QString key); - - ~DataStore() - { - DataStore::instanced = false; - } -}; - -template -void DataStore::clear() -{ - this->data.clear(); +public: + static SietchDataStore* getSietchDataStore() + { + return SietchDataStore::getInstance(); + } + + static ChatDataStore* getChatDataStore() + { + return ChatDataStore::getInstance(); + } } -template -void DataStore::setData(QString key, T value) -{ - this->data[key] = value; -} - -template -QString DataStore::getData(QString key) -{ - return this->data[key]; -} #endif \ No newline at end of file diff --git a/src/DataStore/SietchDataStore.h b/src/DataStore/SietchDataStore.h new file mode 100644 index 0000000..8739340 --- /dev/null +++ b/src/DataStore/SietchDataStore.h @@ -0,0 +1,63 @@ +#ifndef SietchDataStore_H +#define SietchDataStore_H + +using json = nlohmann::json; + +class SietchDataStore +{ + private: + static bool instanced; + static SietchDataStore* instance; + std::map data; + SietchDataStore() + { + + } + + public: + static SietchDataStore* getInstance() + { + if(!SietchDataStore::instanced) + { + SietchDataStore::instanced = true; + SietchDataStore::instance = new SietchDataStore(); + } + + return SietchDataStore::instance; + } + + void clear(); + void setData(QString key, QString value); + QString getData(QString key); + QString dump(); + + ~ChatDataStore() + { + ChatDataStore::instanced = false; + } +}; + +void SietchDataStore::clear() +{ + this->data.clear(); +} + +void SietchDataStore::setData(QString key, QString value) +{ + this->data[key] = value; +} + +QString SietchDataStore::getData(QString key) +{ + return this->data[key]; +} + +QString ChatDataStore::dump() +{ + return ""; +} + +ChatDataStore* ChatDataStore::instance = nullptr; +bool ChatDataStore::instanced = false; + +#endif \ No newline at end of file diff --git a/src/controller.cpp b/src/controller.cpp index 6ab187d..1228e55 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -97,7 +97,7 @@ void Controller::setConnection(Connection* c) { zrpc->createNewSietchZaddr( [=] (json reply) { QString zdust = QString::fromStdString(reply.get()[0]); - DataStore::getInstance()->setData("Sietch" + QString(i), zdust.toUtf8()); + DataStore::getSietchDataStore()->setData("Sietch" + QString(i), zdust.toUtf8()); }); } } @@ -120,7 +120,7 @@ void Controller::fillTxJsonParams(json& allRecepients, Tx tx) { zrpc->createNewSietchZaddr( [=] (json reply) { QString zdust = QString::fromStdString(reply.get()[0]); - DataStore::getInstance()->setData(QString("Sietch") + QString(i), zdust.toUtf8()); + DataStore::getSietchDataStore()->setData(QString("Sietch") + QString(i), zdust.toUtf8()); } ); } @@ -128,7 +128,7 @@ void Controller::fillTxJsonParams(json& allRecepients, Tx tx) // Using DataStore singelton, to store the data into the dusts, bing bada boom :D for(uint8_t i = 0; i < 10; i++) { - dust.at(i)["address"] = DataStore::getInstance()->getData(QString("Sietch" + QString(i))).toStdString(); + dust.at(i)["address"] = DataStore::getSietchDataStore()->getData(QString("Sietch" + QString(i))).toStdString(); } DataStore::getInstance()->clear(); // clears the datastore From d0562d2c652dfad6da658248307685b779e5c879 Mon Sep 17 00:00:00 2001 From: Strider <127.0.0.1@404.com> Date: Fri, 8 May 2020 20:01:57 +0200 Subject: [PATCH 085/256] update// added ChatDataStore and SietchDataStore with factory-pattern --- src/DataStore/ChatDataStore.h | 19 ++++++++++--------- src/DataStore/DataStore.h | 21 ++++++++++++--------- src/DataStore/SietchDataStore.h | 15 ++++++++------- src/controller.cpp | 6 +++--- 4 files changed, 33 insertions(+), 28 deletions(-) diff --git a/src/DataStore/ChatDataStore.h b/src/DataStore/ChatDataStore.h index 84291fc..82651fd 100644 --- a/src/DataStore/ChatDataStore.h +++ b/src/DataStore/ChatDataStore.h @@ -1,5 +1,5 @@ -#ifndef DATASTORE_H -#define DATASTORE_H +#ifndef CHATDATASTORE_H +#define CHATDATASTORE_H using json = nlohmann::json; @@ -15,15 +15,15 @@ class ChatDataStore } public: - static ChatDataStore* getInstance() + static ChatDataStore* getInstance() { - if(!ChatDataStore::instanced) + if(!ChatDataStore::instanced) { - ChatDataStore::instanced = true; - ChatDataStore::instance = new ChatDataStore(); + ChatDataStore::instanced = true; + ChatDataStore::instance = new ChatDataStore(); } - return ChatDataStore::instance; + return ChatDataStore::instance; } void clear(); @@ -33,7 +33,8 @@ class ChatDataStore ~ChatDataStore() { - ChatDataStore::instanced = false; + ChatDataStore::instanced = false; + ChatDataStore::instance = nullptr; } }; @@ -43,7 +44,7 @@ void ChatDataStore::clear() } -void ChatDataStore:setData(QString key, ChatItem value) +void ChatDataStore::setData(QString key, ChatItem value) { this->data[key] = value; } diff --git a/src/DataStore/DataStore.h b/src/DataStore/DataStore.h index 0aa8a09..6c006b0 100644 --- a/src/DataStore/DataStore.h +++ b/src/DataStore/DataStore.h @@ -6,16 +6,19 @@ class DataStore { -public: - static SietchDataStore* getSietchDataStore() - { - return SietchDataStore::getInstance(); - } + public: + static SietchDataStore* getSietchDataStore(); + static ChatDataStore* getChatDataStore(); +}; - static ChatDataStore* getChatDataStore() - { - return ChatDataStore::getInstance(); - } +SietchDataStore* DataStore::getSietchDataStore() +{ + return SietchDataStore::getInstance(); +} + +ChatDataStore* DataStore::getChatDataStore() +{ + return ChatDataStore::getInstance(); } #endif \ No newline at end of file diff --git a/src/DataStore/SietchDataStore.h b/src/DataStore/SietchDataStore.h index 8739340..c94c76f 100644 --- a/src/DataStore/SietchDataStore.h +++ b/src/DataStore/SietchDataStore.h @@ -1,5 +1,5 @@ -#ifndef SietchDataStore_H -#define SietchDataStore_H +#ifndef SIETCHDATASTORE_H +#define SIETCHDATASTORE_H using json = nlohmann::json; @@ -31,9 +31,10 @@ class SietchDataStore QString getData(QString key); QString dump(); - ~ChatDataStore() + ~SietchDataStore() { - ChatDataStore::instanced = false; + SietchDataStore::instanced = false; + SietchDataStore::instance = nullptr; } }; @@ -52,12 +53,12 @@ QString SietchDataStore::getData(QString key) return this->data[key]; } -QString ChatDataStore::dump() +QString SietchDataStore::dump() { return ""; } -ChatDataStore* ChatDataStore::instance = nullptr; -bool ChatDataStore::instanced = false; +SietchDataStore* SietchDataStore::instance = nullptr; +bool SietchDataStore::instanced = false; #endif \ No newline at end of file diff --git a/src/controller.cpp b/src/controller.cpp index 1228e55..ac6b603 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -10,10 +10,10 @@ #include "websockets.h" #include "DataStore/DataStore.h" -template<> +/*template<> DataStore* DataStore::instance = nullptr; template<> -bool DataStore::instanced = false; +bool DataStore::instanced = false;*/ ChatModel *chatModel = new ChatModel(); ContactModel *contactModel = new ContactModel(); @@ -131,7 +131,7 @@ void Controller::fillTxJsonParams(json& allRecepients, Tx tx) dust.at(i)["address"] = DataStore::getSietchDataStore()->getData(QString("Sietch" + QString(i))).toStdString(); } - DataStore::getInstance()->clear(); // clears the datastore + DataStore::getSietchDataStore()->clear(); // clears the datastore // Dust amt/memo, construct the JSON for(uint8_t i = 0; i < 10; i++) From 30ddc479ba80650bebd5147c8d973833bf4d3434 Mon Sep 17 00:00:00 2001 From: Strider <127.0.0.1@404.com> Date: Fri, 8 May 2020 21:16:40 +0200 Subject: [PATCH 086/256] update// reformated datastore and changed storage chatmodel to store with datastore --- silentdragon-lite.pro | 5 +++- src/DataStore/ChatDataStore.cpp | 42 +++++++++++++++++++++++++++++++ src/DataStore/ChatDataStore.h | 37 +++------------------------ src/DataStore/DataStore.cpp | 11 ++++++++ src/DataStore/DataStore.h | 10 -------- src/DataStore/SietchDataStore.cpp | 35 ++++++++++++++++++++++++++ src/DataStore/SietchDataStore.h | 35 +------------------------- src/chatmodel.cpp | 7 +++--- src/chatmodel.h | 2 -- src/controller.cpp | 7 +++--- src/controller.h | 1 - 11 files changed, 104 insertions(+), 88 deletions(-) create mode 100644 src/DataStore/ChatDataStore.cpp create mode 100644 src/DataStore/DataStore.cpp create mode 100644 src/DataStore/SietchDataStore.cpp diff --git a/silentdragon-lite.pro b/silentdragon-lite.pro index 5e32f1e..c09eea7 100644 --- a/silentdragon-lite.pro +++ b/silentdragon-lite.pro @@ -71,7 +71,10 @@ SOURCES += \ src/chatbubbleme.cpp \ src/chatbubblepartner.cpp \ src/chatmodel.cpp \ - src/contactmodel.cpp + src/contactmodel.cpp \ + src/DataStore/DataStore.cpp \ + src/DataStore/ChatDataStore.cpp \ + src/DataStore/SietchDataStore.cpp HEADERS += \ src/firsttimewizard.h \ diff --git a/src/DataStore/ChatDataStore.cpp b/src/DataStore/ChatDataStore.cpp new file mode 100644 index 0000000..d3a79e4 --- /dev/null +++ b/src/DataStore/ChatDataStore.cpp @@ -0,0 +1,42 @@ +#include "ChatDataStore.h" + +ChatDataStore* ChatDataStore::getInstance() +{ + if(!ChatDataStore::instanced) + { + ChatDataStore::instanced = true; + ChatDataStore::instance = new ChatDataStore(); + } + + return ChatDataStore::instance; +} + +void ChatDataStore::clear() +{ + this->data.clear(); +} + + +void ChatDataStore::setData(QString key, ChatItem value) +{ + this->data[key] = value; +} + +ChatItem ChatDataStore::getData(QString key) +{ + return this->data[key]; +} + +QString ChatDataStore::dump() +{ + return ""; +} + +std::map ChatDataStore::getAllRawChatItems() +{ + return this->data; +} + + +ChatDataStore* ChatDataStore::instance = nullptr; +bool ChatDataStore::instanced = false; \ No newline at end of file diff --git a/src/DataStore/ChatDataStore.h b/src/DataStore/ChatDataStore.h index 82651fd..85fd4b9 100644 --- a/src/DataStore/ChatDataStore.h +++ b/src/DataStore/ChatDataStore.h @@ -1,6 +1,6 @@ #ifndef CHATDATASTORE_H #define CHATDATASTORE_H - +#include "../chatmodel.h" using json = nlohmann::json; class ChatDataStore @@ -15,20 +15,11 @@ class ChatDataStore } public: - static ChatDataStore* getInstance() - { - if(!ChatDataStore::instanced) - { - ChatDataStore::instanced = true; - ChatDataStore::instance = new ChatDataStore(); - } - - return ChatDataStore::instance; - } - + static ChatDataStore* getInstance(); void clear(); void setData(QString key, ChatItem value); ChatItem getData(QString key); + std::map getAllRawChatItems(); QString dump(); ~ChatDataStore() @@ -38,28 +29,6 @@ class ChatDataStore } }; -void ChatDataStore::clear() -{ - this->data.clear(); -} - - -void ChatDataStore::setData(QString key, ChatItem value) -{ - this->data[key] = value; -} - -ChatItem ChatDataStore::getData(QString key) -{ - return this->data[key]; -} - -QString ChatDataStore::dump() -{ - return ""; -} -ChatDataStore* ChatDataStore::instance = nullptr; -bool ChatDataStore::instanced = false; #endif \ No newline at end of file diff --git a/src/DataStore/DataStore.cpp b/src/DataStore/DataStore.cpp new file mode 100644 index 0000000..d16c255 --- /dev/null +++ b/src/DataStore/DataStore.cpp @@ -0,0 +1,11 @@ +#include "DataStore.h" + +SietchDataStore* DataStore::getSietchDataStore() +{ + return SietchDataStore::getInstance(); +} + +ChatDataStore* DataStore::getChatDataStore() +{ + return ChatDataStore::getInstance(); +} \ No newline at end of file diff --git a/src/DataStore/DataStore.h b/src/DataStore/DataStore.h index 6c006b0..6715c02 100644 --- a/src/DataStore/DataStore.h +++ b/src/DataStore/DataStore.h @@ -11,14 +11,4 @@ class DataStore static ChatDataStore* getChatDataStore(); }; -SietchDataStore* DataStore::getSietchDataStore() -{ - return SietchDataStore::getInstance(); -} - -ChatDataStore* DataStore::getChatDataStore() -{ - return ChatDataStore::getInstance(); -} - #endif \ No newline at end of file diff --git a/src/DataStore/SietchDataStore.cpp b/src/DataStore/SietchDataStore.cpp new file mode 100644 index 0000000..140ab3f --- /dev/null +++ b/src/DataStore/SietchDataStore.cpp @@ -0,0 +1,35 @@ +#include "SietchDataStore.h" + +SietchDataStore* SietchDataStore::getInstance() +{ + if(!SietchDataStore::instanced) + { + SietchDataStore::instanced = true; + SietchDataStore::instance = new SietchDataStore(); + } + + return SietchDataStore::instance; +} + +void SietchDataStore::clear() +{ + this->data.clear(); +} + +void SietchDataStore::setData(QString key, QString value) +{ + this->data[key] = value; +} + +QString SietchDataStore::getData(QString key) +{ + return this->data[key]; +} + +QString SietchDataStore::dump() +{ + return ""; +} + +SietchDataStore* SietchDataStore::instance = nullptr; +bool SietchDataStore::instanced = false; \ No newline at end of file diff --git a/src/DataStore/SietchDataStore.h b/src/DataStore/SietchDataStore.h index c94c76f..5b5b498 100644 --- a/src/DataStore/SietchDataStore.h +++ b/src/DataStore/SietchDataStore.h @@ -15,17 +15,7 @@ class SietchDataStore } public: - static SietchDataStore* getInstance() - { - if(!SietchDataStore::instanced) - { - SietchDataStore::instanced = true; - SietchDataStore::instance = new SietchDataStore(); - } - - return SietchDataStore::instance; - } - + static SietchDataStore* getInstance(); void clear(); void setData(QString key, QString value); QString getData(QString key); @@ -38,27 +28,4 @@ class SietchDataStore } }; -void SietchDataStore::clear() -{ - this->data.clear(); -} - -void SietchDataStore::setData(QString key, QString value) -{ - this->data[key] = value; -} - -QString SietchDataStore::getData(QString key) -{ - return this->data[key]; -} - -QString SietchDataStore::dump() -{ - return ""; -} - -SietchDataStore* SietchDataStore::instance = nullptr; -bool SietchDataStore::instanced = false; - #endif \ No newline at end of file diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 98bb0f8..078a56f 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -13,6 +13,7 @@ #include "addressbook.h" #include #include +#include "DataStore/DataStore.h" using namespace std; @@ -109,7 +110,7 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) // ui->lcdNumber->setPalette(Qt::red); // ui->lcdNumber->display("1"); - for (auto &c : this->chatItems) + for (auto &c : DataStore::getChatDataStore()->getAllRawChatItems())//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 @@ -159,7 +160,7 @@ void ChatModel::renderContactRequest(){ QStandardItemModel* contactRequest = new QStandardItemModel(); - for (auto &c : this->chatItems) + for (auto &c : DataStore::getChatDataStore()->getAllRawChatItems())//this->chatItems) { if ((c.second.getType() == "cont") && (c.second.isOutgoing() == false) && (c.second.getMemo().startsWith("{"))) { @@ -187,7 +188,7 @@ void ChatModel::renderContactRequest(){ QObject::connect(requestContact.requestContact, &QTableView::clicked, [&] () { - for (auto &c : this->chatItems){ + for (auto &c : DataStore::getChatDataStore()->getAllRawChatItems()){//this->chatItems){ QModelIndex index = requestContact.requestContact->currentIndex(); QString label_contact = index.data(Qt::DisplayRole).toString(); QStandardItemModel* contactMemo = new QStandardItemModel(); diff --git a/src/chatmodel.h b/src/chatmodel.h index 945c27c..984ce56 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -13,8 +13,6 @@ #include "settings.h" #include "camount.h" - - class ListViewDelegate : public QAbstractItemDelegate { int d_radius; diff --git a/src/controller.cpp b/src/controller.cpp index ac6b603..b34d519 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -887,7 +887,8 @@ void Controller::refreshTransactions() { txid, true // is an outgoing message ); - chatModel->addMessage(item); + DataStore::getChatDataStore()->setData(chatModel->generateChatItemID(item), item); + //chatModel->addMessage(item); } @@ -992,8 +993,8 @@ void Controller::refreshTransactions() { txid, false ); - - chatModel->addMessage(item); + DataStore::getChatDataStore()->setData(chatModel->generateChatItemID(item), item); + //chatModel->addMessage(item); } } diff --git a/src/controller.h b/src/controller.h index bc56587..9977427 100644 --- a/src/controller.h +++ b/src/controller.h @@ -13,7 +13,6 @@ #include "connection.h" #include "chatmodel.h" #include "contactmodel.h" - using json = nlohmann::json; struct WatchedTx { From 5006a8c7d7069ccdbd3824ff65d2266606525742 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 8 May 2020 21:25:43 +0200 Subject: [PATCH 087/256] add incoming contact Request windows --- src/chatmodel.cpp | 17 +++++------------ src/chatmodel.h | 2 +- src/mainwindow.cpp | 1 + src/mainwindow.h | 1 + 4 files changed, 8 insertions(+), 13 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 078a56f..6f80f37 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -100,10 +100,7 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView &view) void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) { - QObject::connect(ui->pushContact, &QPushButton::clicked,[&] () - { - renderContactRequest(); - }); + QStandardItemModel* chat = new QStandardItemModel(); // ui->lcdNumber->setStyleSheet("background-color: red"); @@ -149,17 +146,17 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) } -void ChatModel::renderContactRequest(){ +void MainWindow::renderContactRequest(){ Ui_requestDialog requestContact; - QDialog dialog(main); + QDialog dialog(this); requestContact.setupUi(&dialog); Settings::saveRestore(&dialog); { QStandardItemModel* contactRequest = new QStandardItemModel(); - + for (auto &c : DataStore::getChatDataStore()->getAllRawChatItems())//this->chatItems) { @@ -214,8 +211,6 @@ void ChatModel::renderContactRequest(){ } }); - - QObject::connect(requestContact.pushButton, &QPushButton::clicked, [&] () { QString cid = requestContact.requestCID->text(); @@ -228,7 +223,7 @@ void ChatModel::renderContactRequest(){ qDebug()<<"Beginn kopiert" <addAddressLabel(newLabel, addr, myAddr, cid, avatar); - QMessageBox::information(main, "Added Contact","successfully added your new contact. You can now Chat with this contact"); + QMessageBox::information(this, "Added Contact","successfully added your new contact. You can now Chat with this contact"); @@ -238,8 +233,6 @@ void ChatModel::renderContactRequest(){ dialog.exec(); } - - void ChatModel::addCid(QString tx, QString cid) { this->cidMap[tx] = cid; diff --git a/src/chatmodel.h b/src/chatmodel.h index 984ce56..493e744 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -329,7 +329,7 @@ class ChatModel void setItems(std::vector items); void renderChatBox(Ui::MainWindow* ui, QListView &view); void renderChatBox(Ui::MainWindow* ui, QListView *view); - void renderContactRequest(); + // void renderContactRequest(); void triggerRequest(); void showMessages(); void clear(); diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 694178f..2957dbb 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1057,6 +1057,7 @@ void MainWindow::setupchatTab() { QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::sendChatButton); QObject::connect(ui->sendContact, &QPushButton::clicked, this, &MainWindow::ContactRequest); QObject::connect(ui->safeContactRequest, &QPushButton::clicked, this, &MainWindow::addContact); + QObject::connect(ui->pushContact, &QPushButton::clicked, this , &MainWindow::renderContactRequest); ///////// Set selected Zaddr for Chat with Klick diff --git a/src/mainwindow.h b/src/mainwindow.h index 9e91245..ff4b76a 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -62,6 +62,7 @@ public: void updateLabels(); void updateTAddrCombo(bool checked); + // void renderContactRequest(); // void setChatItem(ChatItem* item); //void ChatItem* getChatItem(); From eb263e5e0b87f3f2a618834ff376876984c1f700 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 8 May 2020 22:36:24 +0200 Subject: [PATCH 088/256] switch to datastore --- src/DataStore/ChatDataStore.cpp | 36 +++++++++++++ src/DataStore/ChatDataStore.h | 4 ++ src/chatmodel.cpp | 94 ++++++++++++++++++++------------- 3 files changed, 96 insertions(+), 38 deletions(-) diff --git a/src/DataStore/ChatDataStore.cpp b/src/DataStore/ChatDataStore.cpp index d3a79e4..4dfc605 100644 --- a/src/DataStore/ChatDataStore.cpp +++ b/src/DataStore/ChatDataStore.cpp @@ -37,6 +37,42 @@ std::map ChatDataStore::getAllRawChatItems() return this->data; } +std::map ChatDataStore::getAllContactRequests() +{ + std::map filteredItems; + for(auto &c: this->data) + { + if ( + (c.second.getType() == "cont") && + (c.second.isOutgoing() == false) && + (c.second.getMemo().startsWith("{")) + ) + { + filteredItems[c.first] = c.second; + } + } + return filteredItems; +} + + +std::map ChatDataStore::getAllMemos() +{ + std::map filteredItems; + for(auto &c: this->data) + { + if ( + + (c.second.getMemo().startsWith("{") == false) && + (c.second.getMemo().isEmpty() == false) + + ) + { + filteredItems[c.first] = c.second; + } + } + return filteredItems; +} + ChatDataStore* ChatDataStore::instance = nullptr; bool ChatDataStore::instanced = false; \ No newline at end of file diff --git a/src/DataStore/ChatDataStore.h b/src/DataStore/ChatDataStore.h index 85fd4b9..444c704 100644 --- a/src/DataStore/ChatDataStore.h +++ b/src/DataStore/ChatDataStore.h @@ -8,6 +8,8 @@ class ChatDataStore private: static bool instanced; static ChatDataStore* instance; + Ui::MainWindow* ui; + MainWindow* main; std::map data; ChatDataStore() { @@ -20,6 +22,8 @@ class ChatDataStore void setData(QString key, ChatItem value); ChatItem getData(QString key); std::map getAllRawChatItems(); + std::map getAllContactRequests(); + std::map getAllMemos(); QString dump(); ~ChatDataStore() diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 6f80f37..41fbb2e 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -107,13 +107,20 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) // ui->lcdNumber->setPalette(Qt::red); // ui->lcdNumber->display("1"); - for (auto &c : DataStore::getChatDataStore()->getAllRawChatItems())//this->chatItems) + + + 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.getMemo().startsWith("{") == false) && (c.second.getMemo().isEmpty() == false) && (c.second.isOutgoing() == true)) + if ( + (c.second.getContact() == ui->contactNameMemo->text().trimmed()) && + (p.getPartnerAddress() == c.second.getAddress()) && + (c.second.isOutgoing() == true) + ) { QStandardItem* Items = new QStandardItem(c.second.toChatLine()); @@ -126,8 +133,13 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) ui->listChat->setModel(chat); } - - if ((c.second.getContact() == ui->contactNameMemo->text().trimmed()) && ((p.getMyAddress() == c.second.getAddress()) && c.second.getMemo().startsWith("{") == false) && (c.second.getMemo().isEmpty() == false) && (c.second.isOutgoing() == false)) + + if ( + (c.second.getContact() == ui->contactNameMemo->text().trimmed()) && + (p.getMyAddress() == c.second.getAddress()) && + (c.second.isOutgoing() == false) + ) + { QStandardItem* Items1 = new QStandardItem(c.second.toChatLine()); @@ -140,11 +152,13 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) ui->listChat->setModel(chat); } - - } + } -} + +} + + void MainWindow::renderContactRequest(){ @@ -153,35 +167,18 @@ void MainWindow::renderContactRequest(){ requestContact.setupUi(&dialog); Settings::saveRestore(&dialog); - { - QStandardItemModel* contactRequest = new QStandardItemModel(); + QStandardItemModel* contactRequest = new QStandardItemModel(); - - for (auto &c : DataStore::getChatDataStore()->getAllRawChatItems())//this->chatItems) - { - - if ((c.second.getType() == "cont") && (c.second.isOutgoing() == false) && (c.second.getMemo().startsWith("{"))) { - - - - - - - QStandardItem* Items = new QStandardItem(c.second.getAddress()); - contactRequest->appendRow(Items); - requestContact.requestContact->setModel(contactRequest); - requestContact.requestContact->show(); - - - } - - - } - - - } + { + for (auto &c : DataStore::getChatDataStore()->getAllContactRequests()) + { - + QStandardItem* Items = new QStandardItem(c.second.getAddress()); + contactRequest->appendRow(Items); + requestContact.requestContact->setModel(contactRequest); + requestContact.requestContact->show(); + } + } QObject::connect(requestContact.requestContact, &QTableView::clicked, [&] () { @@ -220,12 +217,33 @@ void MainWindow::renderContactRequest(){ QString avatar = QString(":/icons/res/") + requestContact.comboBoxAvatar->currentText() + QString(".png"); + if (addr.isEmpty() || newLabel.isEmpty()) + { + QMessageBox::critical( + this, + QObject::tr("Address or Label Error"), + QObject::tr("Address or Label cannot be empty"), + QMessageBox::Ok + ); + return; + } + + // Test if address is valid. + if (!Settings::isValidAddress(addr)) + { + QMessageBox::critical( + this, + QObject::tr("Address Format Error"), + QObject::tr("%1 doesn't seem to be a valid hush address.").arg(addr), + QMessageBox::Ok + ); + return; + } + qDebug()<<"Beginn kopiert" <addAddressLabel(newLabel, addr, myAddr, cid, avatar); - QMessageBox::information(this, "Added Contact","successfully added your new contact. You can now Chat with this contact"); - - + QMessageBox::information(this, "Added Contact","successfully added your new contact. You can now Chat with this contact"); }); From 26f02293797346fc8eddf2af9662b5bc3946a01a Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 9 May 2020 11:40:22 +0200 Subject: [PATCH 089/256] update lib --- lib/Cargo.lock | 7 ++++--- lib/Cargo.toml | 2 +- src/controller.cpp | 6 ++++-- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/lib/Cargo.lock b/lib/Cargo.lock index 96d8bdf..ea96eb7 100644 --- a/lib/Cargo.lock +++ b/lib/Cargo.lock @@ -1177,7 +1177,7 @@ version = "0.1.0" dependencies = [ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", - "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=d3a66550ed8c6216b13002ce6e5b425367f30770)", + "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=84b1b75f2c000215aeba7850321b0abe8e8fd58f)", ] [[package]] @@ -1640,7 +1640,7 @@ dependencies = [ [[package]] name = "silentdragonlitelib" version = "0.1.0" -source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=d3a66550ed8c6216b13002ce6e5b425367f30770#d3a66550ed8c6216b13002ce6e5b425367f30770" +source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=84b1b75f2c000215aeba7850321b0abe8e8fd58f#84b1b75f2c000215aeba7850321b0abe8e8fd58f" dependencies = [ "base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "bellman 0.1.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", @@ -1652,6 +1652,7 @@ dependencies = [ "http 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "json 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libflate 0.1.27 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "log4rs 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", "pairing 0.14.2 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", @@ -2630,7 +2631,7 @@ dependencies = [ "checksum serde_yaml 0.8.11 (registry+https://github.com/rust-lang/crates.io-index)" = "691b17f19fc1ec9d94ec0b5864859290dff279dbd7b03f017afda54eb36c3c35" "checksum sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "27044adfd2e1f077f649f59deb9490d3941d674002f7d062870a60ebe9bd47a0" "checksum signal-hook-registry 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94f478ede9f64724c5d173d7bb56099ec3e2d9fc2774aac65d34b8b890405f41" -"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=d3a66550ed8c6216b13002ce6e5b425367f30770)" = "" +"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=84b1b75f2c000215aeba7850321b0abe8e8fd58f)" = "" "checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" "checksum smallvec 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "f7b0758c52e15a8b5e3691eae6cc559f08eee9406e548a4477ba4e67770a82b6" "checksum socket2 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "e8b74de517221a2cb01a53349cf54182acdc31a074727d3079068448c0676d85" diff --git a/lib/Cargo.toml b/lib/Cargo.toml index bd615ca..e2987c5 100644 --- a/lib/Cargo.toml +++ b/lib/Cargo.toml @@ -11,4 +11,4 @@ crate-type = ["staticlib"] [dependencies] libc = "0.2.58" lazy_static = "1.4.0" -silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "d3a66550ed8c6216b13002ce6e5b425367f30770" } +silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "84b1b75f2c000215aeba7850321b0abe8e8fd58f" } diff --git a/src/controller.cpp b/src/controller.cpp index b34d519..1192aff 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -853,9 +853,11 @@ void Controller::refreshTransactions() { for (auto o: it["outgoing_metadata"].get()) { QString address; - + + address = QString::fromStdString(o["address"]); - + + // qDebug()<< "Position :" << position; // Sent items are -ve CAmount amount = CAmount::fromqint64(-1* o["value"].get()); From b99a0b121092d5b9bb91ceacd4ba12af41fc3c7e Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 9 May 2020 13:03:46 +0200 Subject: [PATCH 090/256] add position of txs --- src/controller.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/controller.cpp b/src/controller.cpp index 1192aff..2c213a0 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -856,8 +856,7 @@ void Controller::refreshTransactions() { address = QString::fromStdString(o["address"]); - - // qDebug()<< "Position :" << position; + // Sent items are -ve CAmount amount = CAmount::fromqint64(-1* o["value"].get()); @@ -885,9 +884,9 @@ void Controller::refreshTransactions() { memo, QString(""), QString(""), - cid, // we have to set the cid here, its included in our Addressbook for this contact + cid, txid, - true // is an outgoing message + true ); DataStore::getChatDataStore()->setData(chatModel->generateChatItemID(item), item); //chatModel->addMessage(item); @@ -910,7 +909,6 @@ void Controller::refreshTransactions() { } - txdata.push_back(TransactionItem{ "send", datetime, address, txid,confirmations, items }); @@ -940,6 +938,7 @@ void Controller::refreshTransactions() { QString type; QString cid; + int position; QString requestZaddr1; QString requestZaddr; @@ -984,6 +983,7 @@ void Controller::refreshTransactions() { }else{ contact = "";} + position = it["position"].get(); ChatItem item = ChatItem( datetime, address, @@ -991,12 +991,13 @@ void Controller::refreshTransactions() { memo, requestZaddr, type, - cid, // we have to set the cid here, its included in the headermemo + cid, txid, false ); DataStore::getChatDataStore()->setData(chatModel->generateChatItemID(item), item); - //chatModel->addMessage(item); + + qDebug() << "Position der Message : " << position; } } From 3998e83a1bbdd7d53c365aa82f17fba321bdf189 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 9 May 2020 13:27:32 +0200 Subject: [PATCH 091/256] add new checkpoint --- lib/Cargo.lock | 6 +++--- lib/Cargo.toml | 2 +- src/chatmodel.cpp | 4 ---- src/controller.cpp | 2 +- 4 files changed, 5 insertions(+), 9 deletions(-) diff --git a/lib/Cargo.lock b/lib/Cargo.lock index ea96eb7..416f981 100644 --- a/lib/Cargo.lock +++ b/lib/Cargo.lock @@ -1177,7 +1177,7 @@ version = "0.1.0" dependencies = [ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", - "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=84b1b75f2c000215aeba7850321b0abe8e8fd58f)", + "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=37531e4a48fe130f00ed9eeccbba9863e1c8ab59)", ] [[package]] @@ -1640,7 +1640,7 @@ dependencies = [ [[package]] name = "silentdragonlitelib" version = "0.1.0" -source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=84b1b75f2c000215aeba7850321b0abe8e8fd58f#84b1b75f2c000215aeba7850321b0abe8e8fd58f" +source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=37531e4a48fe130f00ed9eeccbba9863e1c8ab59#37531e4a48fe130f00ed9eeccbba9863e1c8ab59" dependencies = [ "base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "bellman 0.1.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", @@ -2631,7 +2631,7 @@ dependencies = [ "checksum serde_yaml 0.8.11 (registry+https://github.com/rust-lang/crates.io-index)" = "691b17f19fc1ec9d94ec0b5864859290dff279dbd7b03f017afda54eb36c3c35" "checksum sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "27044adfd2e1f077f649f59deb9490d3941d674002f7d062870a60ebe9bd47a0" "checksum signal-hook-registry 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94f478ede9f64724c5d173d7bb56099ec3e2d9fc2774aac65d34b8b890405f41" -"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=84b1b75f2c000215aeba7850321b0abe8e8fd58f)" = "" +"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=37531e4a48fe130f00ed9eeccbba9863e1c8ab59)" = "" "checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" "checksum smallvec 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "f7b0758c52e15a8b5e3691eae6cc559f08eee9406e548a4477ba4e67770a82b6" "checksum socket2 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "e8b74de517221a2cb01a53349cf54182acdc31a074727d3079068448c0676d85" diff --git a/lib/Cargo.toml b/lib/Cargo.toml index e2987c5..27ba106 100644 --- a/lib/Cargo.toml +++ b/lib/Cargo.toml @@ -11,4 +11,4 @@ crate-type = ["staticlib"] [dependencies] libc = "0.2.58" lazy_static = "1.4.0" -silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "84b1b75f2c000215aeba7850321b0abe8e8fd58f" } +silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "37531e4a48fe130f00ed9eeccbba9863e1c8ab59" } diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 41fbb2e..7ecbe8f 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -158,8 +158,6 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) } - - void MainWindow::renderContactRequest(){ Ui_requestDialog requestContact; @@ -322,7 +320,6 @@ QString MainWindow::createHeaderMemo(QString type, QString cid, QString zaddr, } - // Create a Tx from the current state of the Chat page. Tx MainWindow::createTxFromChatPage() { Tx tx; @@ -468,7 +465,6 @@ void MainWindow::sendChatButton() { ); } - QString MainWindow::doSendChatTxValidations(Tx tx) { // Check to see if we have enough verified funds to send the Tx. diff --git a/src/controller.cpp b/src/controller.cpp index 2c213a0..ccc0805 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -889,7 +889,6 @@ void Controller::refreshTransactions() { true ); DataStore::getChatDataStore()->setData(chatModel->generateChatItemID(item), item); - //chatModel->addMessage(item); } @@ -984,6 +983,7 @@ void Controller::refreshTransactions() { }else{ contact = "";} position = it["position"].get(); + ChatItem item = ChatItem( datetime, address, From 17bffcdfea728fa539cead106f890b0870132a0f Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 9 May 2020 16:57:46 +0200 Subject: [PATCH 092/256] render contact in all themes --- src/contactmodel.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/contactmodel.cpp b/src/contactmodel.cpp index 41b7758..ad58ccb 100644 --- a/src/contactmodel.cpp +++ b/src/contactmodel.cpp @@ -12,8 +12,6 @@ void ContactModel::renderContactList(QListView* view) for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) { - auto theme = Settings::getInstance()->get_theme_name(); - if ((theme == "dark" || theme == "midnight")) { QString avatar = c.getAvatar(); @@ -25,8 +23,7 @@ void ContactModel::renderContactList(QListView* view) view->setUniformItemSizes(true); view->setDragDropMode(QAbstractItemView::DropOnly); view->show(); - - } + } From 0f574122582e37c1ad34e39d080b8e52d49b289d Mon Sep 17 00:00:00 2001 From: Strider <127.0.0.1@404.com> Date: Sat, 9 May 2020 17:55:12 +0200 Subject: [PATCH 093/256] update// added new model derived from chatmodel and contactmodel, moved listchatdelegate to a seperated class file --- silentdragon-lite.pro | 5 +- src/Chat/Chat.h | 6 + src/Chat/Helper/ChatDelegator.h | 148 +++++++++++++ src/Model/ChatItem.cpp | 135 ++++++++++++ src/Model/ChatItem.h | 45 ++++ src/Model/ContactItem.cpp | 66 ++++++ src/Model/ContactItem.h | 32 +++ src/Model/ContactRequestChatItem.cpp | 1 + src/Model/ContactRequestChatItem.h | 11 + src/chatmodel.h | 297 +-------------------------- src/contactmodel.h | 78 +------ src/controller.cpp | 1 + src/controller.h | 2 + 13 files changed, 454 insertions(+), 373 deletions(-) create mode 100644 src/Chat/Chat.h create mode 100644 src/Chat/Helper/ChatDelegator.h create mode 100644 src/Model/ChatItem.cpp create mode 100644 src/Model/ChatItem.h create mode 100644 src/Model/ContactItem.cpp create mode 100644 src/Model/ContactItem.h create mode 100644 src/Model/ContactRequestChatItem.cpp create mode 100644 src/Model/ContactRequestChatItem.h diff --git a/silentdragon-lite.pro b/silentdragon-lite.pro index c09eea7..808527b 100644 --- a/silentdragon-lite.pro +++ b/silentdragon-lite.pro @@ -74,7 +74,10 @@ SOURCES += \ src/contactmodel.cpp \ src/DataStore/DataStore.cpp \ src/DataStore/ChatDataStore.cpp \ - src/DataStore/SietchDataStore.cpp + src/DataStore/SietchDataStore.cpp \ + src/Model/ChatItem.cpp \ + src/Model/ContactRequestChatItem.cpp \ + src/Model/ContactItem.cpp HEADERS += \ src/firsttimewizard.h \ diff --git a/src/Chat/Chat.h b/src/Chat/Chat.h new file mode 100644 index 0000000..0558d91 --- /dev/null +++ b/src/Chat/Chat.h @@ -0,0 +1,6 @@ +#ifndef CHAT_H +#define CHAT_H + + + +#endif \ No newline at end of file diff --git a/src/Chat/Helper/ChatDelegator.h b/src/Chat/Helper/ChatDelegator.h new file mode 100644 index 0000000..ef6a150 --- /dev/null +++ b/src/Chat/Helper/ChatDelegator.h @@ -0,0 +1,148 @@ +#ifndef CHATDELEGATOR_H +#define CHATDELEGATOR_H + +#include +#include +#include +#include + +class ListViewDelegate : public QAbstractItemDelegate +{ + int d_radius; + int d_toppadding; + int d_bottompadding; + int d_leftpadding; + int d_rightpadding; + int d_verticalmargin; + int d_horizontalmargin; + int d_pointerwidth; + int d_pointerheight; + float d_widthfraction; + public: + inline ListViewDelegate(QObject *parent = nullptr); + + protected: + inline void paint(QPainter *painter, QStyleOptionViewItem const &option, QModelIndex const &index) const; + inline QSize sizeHint(QStyleOptionViewItem const &option, QModelIndex const &index) const; +}; + +inline ListViewDelegate::ListViewDelegate(QObject *parent): QAbstractItemDelegate(parent), d_radius(5), d_toppadding(5), d_bottompadding(3), d_leftpadding(5), d_rightpadding(5), d_verticalmargin(15), d_horizontalmargin(10), d_pointerwidth(10), d_pointerheight(17), d_widthfraction(.7) +{ + +} + +inline void ListViewDelegate::paint(QPainter *painter, QStyleOptionViewItem const &option, QModelIndex const &index) const +{ + QTextDocument bodydoc; + QTextOption textOption(bodydoc.defaultTextOption()); + textOption.setWrapMode(QTextOption::WrapAtWordBoundaryOrAnywhere); + bodydoc.setDefaultTextOption(textOption); + bodydoc.setDefaultFont(QFont("Roboto", 12)); + QString bodytext(index.data(Qt::DisplayRole).toString()); + bodydoc.setHtml(bodytext); + qreal contentswidth = option.rect.width() * d_widthfraction - d_horizontalmargin - d_pointerwidth - d_leftpadding - d_rightpadding; + bodydoc.setTextWidth(contentswidth); + qreal bodyheight = bodydoc.size().height(); + bool outgoing = index.data(Qt::UserRole + 1).toString() == "Outgoing"; + painter->save(); + painter->setRenderHint(QPainter::Antialiasing); + + // uncomment to see the area provided to paint this item + + //painter->drawRect(option.rect); + + painter->translate(option.rect.left() + d_horizontalmargin, option.rect.top() + ((index.row() == 0) ? d_verticalmargin : 0)); + + // background color for chat bubble + QColor bgcolor("#535353"); + if (outgoing) + bgcolor = "#eeeeee"; + + // create chat bubble + QPainterPath pointie; + + // left bottom + pointie.moveTo(0, bodyheight + d_toppadding + d_bottompadding); + + // right bottom + pointie.lineTo(0 + contentswidth + d_pointerwidth + d_leftpadding + d_rightpadding - d_radius, + bodyheight + d_toppadding + d_bottompadding); + pointie.arcTo(0 + contentswidth + d_pointerwidth + d_leftpadding + d_rightpadding - 2 * d_radius, + bodyheight + d_toppadding + d_bottompadding - 2 * d_radius, + 2 * d_radius, 2 * d_radius, 270, 90); + + // right top + pointie.lineTo(0 + contentswidth + d_pointerwidth + d_leftpadding + d_rightpadding, 0 + d_radius); + pointie.arcTo(0 + contentswidth + d_pointerwidth + d_leftpadding + d_rightpadding - 2 * d_radius, 0, + 2 * d_radius, 2 * d_radius, 0, 90); + + // left top + pointie.lineTo(0 + d_pointerwidth + d_radius, 0); + pointie.arcTo(0 + d_pointerwidth, 0, 2 * d_radius, 2 * d_radius, 90, 90); + + // left bottom almost (here is the pointie) + pointie.lineTo(0 + d_pointerwidth, bodyheight + d_toppadding + d_bottompadding - d_pointerheight); + pointie.closeSubpath(); + + // rotate bubble for outgoing messages + if (outgoing) + { + painter->translate(option.rect.width() - pointie.boundingRect().width() - d_horizontalmargin - d_pointerwidth, 0); + painter->translate(pointie.boundingRect().center()); + painter->rotate(180); + painter->translate(-pointie.boundingRect().center()); + } + + // now paint it! + painter->setPen(QPen(bgcolor)); + painter->drawPath(pointie); + painter->fillPath(pointie, QBrush(bgcolor)); + + // rotate back or painter is going to paint the text rotated... + if (outgoing) + { + painter->translate(pointie.boundingRect().center()); + painter->rotate(-180); + painter->translate(-pointie.boundingRect().center()); + } + + // set text color used to draw message body + QAbstractTextDocumentLayout::PaintContext ctx; + if (outgoing) + ctx.palette.setColor(QPalette::Text, QColor("black")); + else + ctx.palette.setColor(QPalette::Text, QColor("white")); + + // draw body text + painter->translate((outgoing ? 0 : d_pointerwidth) + d_leftpadding, 0); + bodydoc.documentLayout()->draw(painter, ctx); + + painter->restore(); +} + +inline QSize ListViewDelegate::sizeHint(QStyleOptionViewItem const &option, QModelIndex const &index) const +{ + QTextDocument bodydoc; + QTextOption textOption(bodydoc.defaultTextOption()); + textOption.setWrapMode(QTextOption::WrapAtWordBoundaryOrAnywhere); + bodydoc.setDefaultTextOption(textOption); + bodydoc.setDefaultFont(QFont("Roboto", 12)); + QString bodytext(index.data(Qt::DisplayRole).toString()); + bodydoc.setHtml(bodytext); + + // the width of the contents are the (a fraction of the window width) minus (margins + padding + width of the bubble's tail) + qreal contentswidth = option.rect.width() * d_widthfraction - d_horizontalmargin - d_pointerwidth - d_leftpadding - d_rightpadding; + + // set this available width on the text document + bodydoc.setTextWidth(contentswidth); + + QSize size(bodydoc.idealWidth() + d_horizontalmargin + d_pointerwidth + d_leftpadding + d_rightpadding, + bodydoc.size().height() + d_bottompadding + d_toppadding + d_verticalmargin + 1); // I dont remember why +1, haha, might not be necessary + + if (index.row() == 0) // have extra margin at top of first item + size += QSize(0, d_verticalmargin); + + return size; +} + +#endif \ No newline at end of file diff --git a/src/Model/ChatItem.cpp b/src/Model/ChatItem.cpp new file mode 100644 index 0000000..39d4a68 --- /dev/null +++ b/src/Model/ChatItem.cpp @@ -0,0 +1,135 @@ +#include "ChatItem.h" + +ChatItem::ChatItem() {} + +ChatItem::ChatItem(long timestamp, QString address, QString contact, QString memo, QString requestZaddr, QString type, QString cid, QString txid) +{ + _timestamp = timestamp; + _address = address; + _contact = contact; + _memo = memo; + _requestZaddr = requestZaddr; + _type = type; + _cid = cid; + _txid = txid; + _outgoing = false; +} + +ChatItem::ChatItem(long timestamp, QString address, QString contact, QString memo, QString requestZaddr, QString type, QString cid, QString txid, bool outgoing) +{ + _timestamp = timestamp; + _address = address; + _contact = contact; + _memo = memo; + _requestZaddr = requestZaddr; + _type = type; + _cid = cid; + _txid = txid; + _outgoing = outgoing; +} + +long ChatItem::getTimestamp() +{ + return _timestamp; +} + +QString ChatItem::getAddress() +{ + return _address; +} + +QString ChatItem::getContact() +{ + return _contact; +} + +QString ChatItem::getMemo() +{ + return _memo; +} + +QString ChatItem::getRequestZaddr() +{ + return _requestZaddr; +} +QString ChatItem::getType() +{ + return _type; +} + +QString ChatItem::getCid() +{ + return _cid; +} + +QString ChatItem::getTxid() +{ + return _txid; +} + +bool ChatItem::isOutgoing() +{ + return _outgoing; +} + +void ChatItem::setTimestamp(long timestamp) +{ + _timestamp = timestamp; +} + +void ChatItem::setAddress(QString address) +{ + _address = address; +} + +void ChatItem::setContact(QString contact) +{ + _contact = contact; +} + +void ChatItem::setMemo(QString memo) +{ + _memo = memo; +} + +void ChatItem::setRequestZaddr(QString requestZaddr) +{ + _requestZaddr = requestZaddr; +} + +void ChatItem::setType(QString type) +{ + _type = type; +} + +void ChatItem::setCid(QString cid) +{ + _cid = cid; +} +void ChatItem::setTxid(QString txid) +{ + _txid = txid; +} + +void ChatItem::toggleOutgo() +{ + _outgoing = true; +} + +QString ChatItem::toChatLine() +{ + QDateTime myDateTime; + myDateTime.setTime_t(_timestamp); + QString line = QString("[") + myDateTime.toString("d.M.yy hh:mm") + QString("] "); + line += QString("") + QString(_memo) + QString("\n\n"); + return line; +} + +ChatItem::~ChatItem() +{ + /*delete timestamp; + delete address; + delete contact; + delete memo; + delete outgoing;*/ +} \ No newline at end of file diff --git a/src/Model/ChatItem.h b/src/Model/ChatItem.h new file mode 100644 index 0000000..467341f --- /dev/null +++ b/src/Model/ChatItem.h @@ -0,0 +1,45 @@ +#ifndef CHATITEM_H +#define CHATITEM_H + +#include + +class ChatItem +{ + private: + long _timestamp; + QString _address; + QString _contact; + QString _memo; + QString _requestZaddr; + QString _type; + QString _cid; + QString _txid; + bool _outgoing = false; + + public: + ChatItem(); + ChatItem(long timestamp, QString address, QString contact, QString memo,QString requestZaddr, QString type, QString cid, QString txid); + ChatItem(long timestamp, QString address, QString contact, QString memo, QString requestZaddr, QString type, QString cid, QString txid, bool outgoing); + long getTimestamp(); + QString getAddress(); + QString getContact(); + QString getMemo(); + QString getRequestZaddr(); + QString getType(); + QString getCid(); + QString getTxid(); + bool isOutgoing(); + void setTimestamp(long timestamp); + void setAddress(QString address); + void setContact(QString contact); + void setMemo(QString memo); + void setRequestZaddr(QString requestZaddr); + void setType(QString type); + void setCid(QString cid); + void setTxid(QString txid); + void toggleOutgo(); + QString toChatLine(); + ~ChatItem(); +}; + +#endif \ No newline at end of file diff --git a/src/Model/ContactItem.cpp b/src/Model/ContactItem.cpp new file mode 100644 index 0000000..f338552 --- /dev/null +++ b/src/Model/ContactItem.cpp @@ -0,0 +1,66 @@ +#include "ContactItem.h" + +ContactItem::ContactItem() {} + +ContactItem::ContactItem(QString name, QString partnerAddress, QString myAddress, QString cid, QString avatar) +{ + _name = name; + _myAddress = myAddress; + _partnerAddress = partnerAddress; + _cid = cid; + _avatar = avatar; +} + +QString ContactItem::getName() const +{ + return _name; +} + +QString ContactItem::getMyAddress() const +{ + return _myAddress; +} + +QString ContactItem::getPartnerAddress() const +{ + return _partnerAddress; +} + +QString ContactItem::getCid() const +{ + return _cid; +} + +QString ContactItem::getAvatar() const +{ + return _avatar; +} + +void ContactItem::setName(QString name) +{ + _name = name; +} + +void ContactItem::setMyAddress(QString myAddress) +{ + _myAddress = myAddress; +} + +void ContactItem::setPartnerAddress(QString partnerAddress) +{ + _partnerAddress = partnerAddress; +} + +void ContactItem::setcid(QString cid) +{ + _cid = cid; +} +void ContactItem::setAvatar(QString avatar) +{ + _avatar = avatar; +} + +QString ContactItem::toQTString() +{ + return _name + "|" + _partnerAddress + "|" + _myAddress + "|" + _cid + "|" + _avatar; +} \ No newline at end of file diff --git a/src/Model/ContactItem.h b/src/Model/ContactItem.h new file mode 100644 index 0000000..a18d0f7 --- /dev/null +++ b/src/Model/ContactItem.h @@ -0,0 +1,32 @@ +#ifndef CONTACTITEM_H +#define CONTACTITEM_H + +#include +#include + +class ContactItem +{ +private: + QString _myAddress; + QString _partnerAddress; + QString _name; + QString _cid; + QString _avatar; + +public: + ContactItem(); + ContactItem(QString name, QString partnerAddress, QString myAddress, QString cid, QString avatar); + QString getName() const; + QString getMyAddress() const; + QString getPartnerAddress() const; + QString getCid() const; + QString getAvatar() const; + void setName(QString name); + void setMyAddress(QString myAddress); + void setPartnerAddress(QString partnerAddress); + void setcid(QString cid); + void setAvatar(QString avatar); + QString toQTString(); +}; + +#endif \ No newline at end of file diff --git a/src/Model/ContactRequestChatItem.cpp b/src/Model/ContactRequestChatItem.cpp new file mode 100644 index 0000000..d6cd443 --- /dev/null +++ b/src/Model/ContactRequestChatItem.cpp @@ -0,0 +1 @@ +#include "ContactRequestChatItem.h" \ No newline at end of file diff --git a/src/Model/ContactRequestChatItem.h b/src/Model/ContactRequestChatItem.h new file mode 100644 index 0000000..d1720de --- /dev/null +++ b/src/Model/ContactRequestChatItem.h @@ -0,0 +1,11 @@ +#ifdef CONTACTREQUESTCHATITEM_H +#define CONTACTREQUESTCHATITEM_H + +#include "ChatItem.h" + +class ContactRequestChatItem : ChatItem +{ + +}; + +#endif \ No newline at end of file diff --git a/src/chatmodel.h b/src/chatmodel.h index 493e744..f39888d 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -12,301 +12,8 @@ #include "controller.h" #include "settings.h" #include "camount.h" - -class ListViewDelegate : public QAbstractItemDelegate -{ - int d_radius; - int d_toppadding; - int d_bottompadding; - int d_leftpadding; - int d_rightpadding; - int d_verticalmargin; - int d_horizontalmargin; - int d_pointerwidth; - int d_pointerheight; - float d_widthfraction; - public: - inline ListViewDelegate(QObject *parent = nullptr); - - protected: - inline void paint(QPainter *painter, QStyleOptionViewItem const &option, QModelIndex const &index) const; - inline QSize sizeHint(QStyleOptionViewItem const &option, QModelIndex const &index) const; -}; - -inline ListViewDelegate::ListViewDelegate(QObject *parent): QAbstractItemDelegate(parent), d_radius(5), d_toppadding(5), d_bottompadding(3), d_leftpadding(5), d_rightpadding(5), d_verticalmargin(15), d_horizontalmargin(10), d_pointerwidth(10), d_pointerheight(17), d_widthfraction(.7) -{ - -} - -inline void ListViewDelegate::paint(QPainter *painter, QStyleOptionViewItem const &option, QModelIndex const &index) const -{ - QTextDocument bodydoc; - QTextOption textOption(bodydoc.defaultTextOption()); - textOption.setWrapMode(QTextOption::WrapAtWordBoundaryOrAnywhere); - bodydoc.setDefaultTextOption(textOption); - bodydoc.setDefaultFont(QFont("Roboto", 12)); - QString bodytext(index.data(Qt::DisplayRole).toString()); - bodydoc.setHtml(bodytext); - qreal contentswidth = option.rect.width() * d_widthfraction - d_horizontalmargin - d_pointerwidth - d_leftpadding - d_rightpadding; - bodydoc.setTextWidth(contentswidth); - qreal bodyheight = bodydoc.size().height(); - bool outgoing = index.data(Qt::UserRole + 1).toString() == "Outgoing"; - painter->save(); - painter->setRenderHint(QPainter::Antialiasing); - - // uncomment to see the area provided to paint this item - - //painter->drawRect(option.rect); - - painter->translate(option.rect.left() + d_horizontalmargin, option.rect.top() + ((index.row() == 0) ? d_verticalmargin : 0)); - - // background color for chat bubble - QColor bgcolor("#535353"); - if (outgoing) - bgcolor = "#eeeeee"; - - // create chat bubble - QPainterPath pointie; - - // left bottom - pointie.moveTo(0, bodyheight + d_toppadding + d_bottompadding); - - // right bottom - pointie.lineTo(0 + contentswidth + d_pointerwidth + d_leftpadding + d_rightpadding - d_radius, - bodyheight + d_toppadding + d_bottompadding); - pointie.arcTo(0 + contentswidth + d_pointerwidth + d_leftpadding + d_rightpadding - 2 * d_radius, - bodyheight + d_toppadding + d_bottompadding - 2 * d_radius, - 2 * d_radius, 2 * d_radius, 270, 90); - - // right top - pointie.lineTo(0 + contentswidth + d_pointerwidth + d_leftpadding + d_rightpadding, 0 + d_radius); - pointie.arcTo(0 + contentswidth + d_pointerwidth + d_leftpadding + d_rightpadding - 2 * d_radius, 0, - 2 * d_radius, 2 * d_radius, 0, 90); - - // left top - pointie.lineTo(0 + d_pointerwidth + d_radius, 0); - pointie.arcTo(0 + d_pointerwidth, 0, 2 * d_radius, 2 * d_radius, 90, 90); - - // left bottom almost (here is the pointie) - pointie.lineTo(0 + d_pointerwidth, bodyheight + d_toppadding + d_bottompadding - d_pointerheight); - pointie.closeSubpath(); - - // rotate bubble for outgoing messages - if (outgoing) - { - painter->translate(option.rect.width() - pointie.boundingRect().width() - d_horizontalmargin - d_pointerwidth, 0); - painter->translate(pointie.boundingRect().center()); - painter->rotate(180); - painter->translate(-pointie.boundingRect().center()); - } - - // now paint it! - painter->setPen(QPen(bgcolor)); - painter->drawPath(pointie); - painter->fillPath(pointie, QBrush(bgcolor)); - - // rotate back or painter is going to paint the text rotated... - if (outgoing) - { - painter->translate(pointie.boundingRect().center()); - painter->rotate(-180); - painter->translate(-pointie.boundingRect().center()); - } - - // set text color used to draw message body - QAbstractTextDocumentLayout::PaintContext ctx; - if (outgoing) - ctx.palette.setColor(QPalette::Text, QColor("black")); - else - ctx.palette.setColor(QPalette::Text, QColor("white")); - - // draw body text - painter->translate((outgoing ? 0 : d_pointerwidth) + d_leftpadding, 0); - bodydoc.documentLayout()->draw(painter, ctx); - - painter->restore(); -} - -inline QSize ListViewDelegate::sizeHint(QStyleOptionViewItem const &option, QModelIndex const &index) const -{ - QTextDocument bodydoc; - QTextOption textOption(bodydoc.defaultTextOption()); - textOption.setWrapMode(QTextOption::WrapAtWordBoundaryOrAnywhere); - bodydoc.setDefaultTextOption(textOption); - bodydoc.setDefaultFont(QFont("Roboto", 12)); - QString bodytext(index.data(Qt::DisplayRole).toString()); - bodydoc.setHtml(bodytext); - - // the width of the contents are the (a fraction of the window width) minus (margins + padding + width of the bubble's tail) - qreal contentswidth = option.rect.width() * d_widthfraction - d_horizontalmargin - d_pointerwidth - d_leftpadding - d_rightpadding; - - // set this available width on the text document - bodydoc.setTextWidth(contentswidth); - - QSize size(bodydoc.idealWidth() + d_horizontalmargin + d_pointerwidth + d_leftpadding + d_rightpadding, - bodydoc.size().height() + d_bottompadding + d_toppadding + d_verticalmargin + 1); // I dont remember why +1, haha, might not be necessary - - if (index.row() == 0) // have extra margin at top of first item - size += QSize(0, d_verticalmargin); - - return size; -} - - - - - -class ChatItem -{ - private: - long _timestamp; - QString _address; - QString _contact; - QString _memo; - QString _requestZaddr; - QString _type; - QString _cid; - QString _txid; - bool _outgoing = false; - - public: - ChatItem() {} - - ChatItem(long timestamp, QString address, QString contact, QString memo,QString requestZaddr, QString type, QString cid, QString txid) - { - _timestamp = timestamp; - _address = address; - _contact = contact; - _memo = memo; - _requestZaddr = requestZaddr; - _type = type; - _cid = cid; - _txid = txid; - _outgoing = false; - - } - - ChatItem(long timestamp, QString address, QString contact, QString memo, QString requestZaddr, QString type, QString cid, QString txid, bool outgoing) - { - _timestamp = timestamp; - _address = address; - _contact = contact; - _memo = memo; - _requestZaddr = requestZaddr; - _type = type; - _cid = cid; - _txid = txid; - _outgoing = outgoing; - - } - - long getTimestamp() - { - return _timestamp; - } - - QString getAddress() - { - return _address; - } - - QString getContact() - { - return _contact; - } - - QString getMemo() - { - return _memo; - } - - QString getRequestZaddr() - { - return _requestZaddr; - } - QString getType() - { - return _type; - } - - QString getCid() - { - return _cid; - } - - QString getTxid() - { - return _txid; - } - - - bool isOutgoing() - { - return _outgoing; - } - - void setTimestamp(long timestamp) - { - _timestamp = timestamp; - } - - void setAddress(QString address) - { - _address = address; - } - - void setContact(QString contact) - { - _contact = contact; - } - - void setMemo(QString memo) - { - _memo = memo; - } - - void setRequestZaddr(QString requestZaddr) - { - _requestZaddr = requestZaddr; - } - - void setType(QString type) - { - _type = type; - } - - void setCid(QString cid) - { - _cid = cid; - } - void setTxid(QString txid) - { - _txid = txid; - } - - void toggleOutgo() - { - _outgoing = true; - } - - QString toChatLine() - { - QDateTime myDateTime; - myDateTime.setTime_t(_timestamp); - QString line = QString("[") + myDateTime.toString("d.M.yy hh:mm") + QString("] ") ; - line += QString("") + QString(_memo) + QString("\n\n"); - return line; - } - - ~ChatItem() - { - /*delete timestamp; - delete address; - delete contact; - delete memo; - delete outgoing;*/ - } -}; +#include "Model/ChatItem.h" +#include "Chat/Helper/ChatDelegator.h" class ChatModel { diff --git a/src/contactmodel.h b/src/contactmodel.h index b643bdb..fcdf7a3 100644 --- a/src/contactmodel.h +++ b/src/contactmodel.h @@ -3,85 +3,9 @@ #ifndef CONTACTMODEL_H #define CONTACTMODEL_H -#include -#include +#include "Model/ContactItem.h" #include -class ContactItem -{ - private: - QString _myAddress; - QString _partnerAddress; - QString _name; - QString _cid; - QString _avatar; - - public: - ContactItem(); - ContactItem(QString name, QString partnerAddress, QString myAddress, QString cid, QString avatar) - { - _name = name; - _myAddress = myAddress; - _partnerAddress = partnerAddress; - _cid = cid; - _avatar = avatar; - } - - QString getName() const - { - return _name; - } - - QString getMyAddress() const - { - return _myAddress; - } - - QString getPartnerAddress() const - { - return _partnerAddress; - } - - QString getCid() const - { - return _cid; - } - - QString getAvatar() const - { - return _avatar; - } - - void setName(QString name) - { - _name = name; - } - - void setMyAddress(QString myAddress) - { - _myAddress = myAddress; - } - - void setPartnerAddress(QString partnerAddress) - { - _partnerAddress = partnerAddress; - } - - void setcid(QString cid) - { - _cid = cid; - } - void setAvatar(QString avatar) - { - _avatar = avatar; - } - - QString toQTString() - { - return _name + "|" + _partnerAddress + "|" + _myAddress + "|" + _cid + "|"+ _avatar; - } - -}; class ContactModel { diff --git a/src/controller.cpp b/src/controller.cpp index ccc0805..9087867 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -8,6 +8,7 @@ #include "version.h" #include "camount.h" #include "websockets.h" +#include "Model/ChatItem.h" #include "DataStore/DataStore.h" /*template<> diff --git a/src/controller.h b/src/controller.h index 9977427..05e1f97 100644 --- a/src/controller.h +++ b/src/controller.h @@ -12,6 +12,8 @@ #include "liteinterface.h" #include "connection.h" #include "chatmodel.h" +#include "Model/ContactRequestChatItem.h" +#include "Model/ContactItem.h" #include "contactmodel.h" using json = nlohmann::json; From 7dfb9a192939fa2fce58a920fd93096fd702a3cb Mon Sep 17 00:00:00 2001 From: Strider <127.0.0.1@404.com> Date: Sat, 9 May 2020 18:14:04 +0200 Subject: [PATCH 094/256] update// moved generator to separated helper class --- silentdragon-lite.pro | 3 ++- src/Chat/Chat.h | 34 ++++++++++++++++++++++++++++++++++ src/chatmodel.h | 1 + 3 files changed, 37 insertions(+), 1 deletion(-) diff --git a/silentdragon-lite.pro b/silentdragon-lite.pro index 808527b..5c7dd21 100644 --- a/silentdragon-lite.pro +++ b/silentdragon-lite.pro @@ -77,7 +77,8 @@ SOURCES += \ src/DataStore/SietchDataStore.cpp \ src/Model/ChatItem.cpp \ src/Model/ContactRequestChatItem.cpp \ - src/Model/ContactItem.cpp + src/Model/ContactItem.cpp \ + src/Chat/Helper/ChatIDGenerator.cpp HEADERS += \ src/firsttimewizard.h \ diff --git a/src/Chat/Chat.h b/src/Chat/Chat.h index 0558d91..969f98c 100644 --- a/src/Chat/Chat.h +++ b/src/Chat/Chat.h @@ -1,6 +1,40 @@ #ifndef CHAT_H #define CHAT_H +class Chat // Chat Controller +{ + private: + std::map chatItems; + QTableView* parent; + Ui::MainWindow* ui; + MainWindow* main; + std::map cidMap; + std::map requestZaddrMap; + public: + ChatModel() {}; + ChatModel(std::map chatItems); + ChatModel(std::vector chatItems); + QString generateChatItemID(ChatItem item); // helper + std::map getItems(); + void setItems(std::map items); + QString zaddr(); + void setItems(std::vector items); + void renderChatBox(Ui::MainWindow* ui, QListView &view); // action + void renderChatBox(Ui::MainWindow* ui, QListView *view); // action + // 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); + void addrequestZaddr(QString tx, QString requestZaddr); + QString getCidByTx(QString tx); + QString getrequestZaddrByTx(QString tx); + void killCidCache(); + void killrequestZaddrCache(); +}; #endif \ No newline at end of file diff --git a/src/chatmodel.h b/src/chatmodel.h index f39888d..d1a4147 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -14,6 +14,7 @@ #include "camount.h" #include "Model/ChatItem.h" #include "Chat/Helper/ChatDelegator.h" +#include "Chat/Helper/ChatIDGenerator.h" class ChatModel { From abdad2b09d9321abe026d544747e586fbdd52c40 Mon Sep 17 00:00:00 2001 From: Strider <127.0.0.1@404.com> Date: Sat, 9 May 2020 21:19:59 +0200 Subject: [PATCH 095/256] update// updated contactmodel and added new generatorclass --- src/chatmodel.cpp | 11 +++++------ src/chatmodel.h | 2 +- src/contactmodel.cpp | 5 +---- src/controller.cpp | 11 ++++++----- 4 files changed, 13 insertions(+), 16 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 7ecbe8f..67dd432 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -27,7 +27,7 @@ ChatModel::ChatModel(std::vector chatItems) this->setItems(chatItems); } -QString ChatModel::generateChatItemID(ChatItem item) +/*QString ChatModel::generateChatItemID(ChatItem item) { QString key = QString::number(item.getTimestamp()) + QString("-"); key += QString(QCryptographicHash::hash( @@ -39,7 +39,7 @@ QString ChatModel::generateChatItemID(ChatItem item) ).toUtf8() ,QCryptographicHash::Md5).toHex()); return key; -} +}*/ std::map ChatModel::getItems() { @@ -55,8 +55,7 @@ void ChatModel::setItems(std::vector items) { for(ChatItem c : items) { - this->chatItems[this->generateChatItemID(c)] = c; - + this->chatItems[ChatIDGenerator::getInstance()->generateID(c)] = c; //this->generateChatItemID(c)] = c; } } @@ -67,14 +66,14 @@ void ChatModel::clear() void ChatModel::addMessage(ChatItem item) { - QString key = this->generateChatItemID(item); + QString key = ChatIDGenerator::getInstance()->generateID(item); //this->generateChatItemID(item); // qDebug() << "inserting chatitem with id: " << key; this->chatItems[key] = item; } void ChatModel::addMessage(QString timestamp, ChatItem item) { - QString key = this->generateChatItemID(item); + QString key = ChatIDGenerator::getInstance()->generateID(item);//this->generateChatItemID(item); timestamp = "0"; this->chatItems[key] = item; } diff --git a/src/chatmodel.h b/src/chatmodel.h index d1a4147..b54c5ae 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -30,7 +30,7 @@ class ChatModel ChatModel() {}; ChatModel(std::map chatItems); ChatModel(std::vector chatItems); - QString generateChatItemID(ChatItem item); + //QString generateChatItemID(ChatItem item); std::map getItems(); void setItems(std::map items); QString zaddr(); diff --git a/src/contactmodel.cpp b/src/contactmodel.cpp index 41b7758..ad58ccb 100644 --- a/src/contactmodel.cpp +++ b/src/contactmodel.cpp @@ -12,8 +12,6 @@ void ContactModel::renderContactList(QListView* view) for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) { - auto theme = Settings::getInstance()->get_theme_name(); - if ((theme == "dark" || theme == "midnight")) { QString avatar = c.getAvatar(); @@ -25,8 +23,7 @@ void ContactModel::renderContactList(QListView* view) view->setUniformItemSizes(true); view->setDragDropMode(QAbstractItemView::DropOnly); view->show(); - - } + } diff --git a/src/controller.cpp b/src/controller.cpp index 9087867..9301fbd 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -826,7 +826,7 @@ void Controller::refreshBalances() }); } -void Controller::refreshTransactions() { +void Controller::refreshTransactions() { if (!zrpc->haveConnection()) return noConnection(); @@ -847,7 +847,7 @@ void Controller::refreshTransactions() { auto txid = QString::fromStdString(it["txid"]); auto datetime = it["datetime"].get(); - + // First, check if there's outgoing metadata if (!it["outgoing_metadata"].is_null()) { @@ -889,7 +889,8 @@ void Controller::refreshTransactions() { txid, true ); - DataStore::getChatDataStore()->setData(chatModel->generateChatItemID(item), item); + //DataStore::getChatDataStore()->setData(chatModel->generateChatItemID(item), item); + DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); } @@ -996,8 +997,8 @@ void Controller::refreshTransactions() { txid, false ); - DataStore::getChatDataStore()->setData(chatModel->generateChatItemID(item), item); - + //DataStore::getChatDataStore()->setData(chatModel->generateChatItemID(item), item); + DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); qDebug() << "Position der Message : " << position; } } From 48c592e9e91d0ac96d0b68851343c2bdede36b56 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 9 May 2020 21:46:05 +0200 Subject: [PATCH 096/256] update lib --- lib/Cargo.lock | 6 +++--- lib/Cargo.toml | 2 +- src/controller.cpp | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/Cargo.lock b/lib/Cargo.lock index 416f981..e198570 100644 --- a/lib/Cargo.lock +++ b/lib/Cargo.lock @@ -1177,7 +1177,7 @@ version = "0.1.0" dependencies = [ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", - "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=37531e4a48fe130f00ed9eeccbba9863e1c8ab59)", + "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=1da0f0e3210db704edec74de1bc318b4e22cb6c8)", ] [[package]] @@ -1640,7 +1640,7 @@ dependencies = [ [[package]] name = "silentdragonlitelib" version = "0.1.0" -source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=37531e4a48fe130f00ed9eeccbba9863e1c8ab59#37531e4a48fe130f00ed9eeccbba9863e1c8ab59" +source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=1da0f0e3210db704edec74de1bc318b4e22cb6c8#1da0f0e3210db704edec74de1bc318b4e22cb6c8" dependencies = [ "base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "bellman 0.1.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", @@ -2631,7 +2631,7 @@ dependencies = [ "checksum serde_yaml 0.8.11 (registry+https://github.com/rust-lang/crates.io-index)" = "691b17f19fc1ec9d94ec0b5864859290dff279dbd7b03f017afda54eb36c3c35" "checksum sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "27044adfd2e1f077f649f59deb9490d3941d674002f7d062870a60ebe9bd47a0" "checksum signal-hook-registry 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94f478ede9f64724c5d173d7bb56099ec3e2d9fc2774aac65d34b8b890405f41" -"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=37531e4a48fe130f00ed9eeccbba9863e1c8ab59)" = "" +"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=1da0f0e3210db704edec74de1bc318b4e22cb6c8)" = "" "checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" "checksum smallvec 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "f7b0758c52e15a8b5e3691eae6cc559f08eee9406e548a4477ba4e67770a82b6" "checksum socket2 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "e8b74de517221a2cb01a53349cf54182acdc31a074727d3079068448c0676d85" diff --git a/lib/Cargo.toml b/lib/Cargo.toml index 27ba106..bdf5a9b 100644 --- a/lib/Cargo.toml +++ b/lib/Cargo.toml @@ -11,4 +11,4 @@ crate-type = ["staticlib"] [dependencies] libc = "0.2.58" lazy_static = "1.4.0" -silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "37531e4a48fe130f00ed9eeccbba9863e1c8ab59" } +silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "1da0f0e3210db704edec74de1bc318b4e22cb6c8" } diff --git a/src/controller.cpp b/src/controller.cpp index ccc0805..9a5118d 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -937,7 +937,7 @@ void Controller::refreshTransactions() { QString type; QString cid; - int position; + // int position; QString requestZaddr1; QString requestZaddr; @@ -982,7 +982,7 @@ void Controller::refreshTransactions() { }else{ contact = "";} - position = it["position"].get(); + // position = it["position"].get(); ChatItem item = ChatItem( datetime, @@ -997,7 +997,7 @@ void Controller::refreshTransactions() { ); DataStore::getChatDataStore()->setData(chatModel->generateChatItemID(item), item); - qDebug() << "Position der Message : " << position; + } } From 6c4ee63b729505a78c857ed0ebb105fba9e1a190 Mon Sep 17 00:00:00 2001 From: Strider <127.0.0.1@404.com> Date: Sat, 9 May 2020 22:03:55 +0200 Subject: [PATCH 097/256] update// added idgenerator and resolved mergeconflicts --- src/Chat/Helper/ChatIDGenerator.cpp | 28 ++++++++++++++++++++++++++++ src/Chat/Helper/ChatIDGenerator.h | 18 ++++++++++++++++++ src/controller.cpp | 1 - 3 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 src/Chat/Helper/ChatIDGenerator.cpp create mode 100644 src/Chat/Helper/ChatIDGenerator.h diff --git a/src/Chat/Helper/ChatIDGenerator.cpp b/src/Chat/Helper/ChatIDGenerator.cpp new file mode 100644 index 0000000..2acea1b --- /dev/null +++ b/src/Chat/Helper/ChatIDGenerator.cpp @@ -0,0 +1,28 @@ +#include "ChatIDGenerator.h" + +ChatIDGenerator* ChatIDGenerator::getInstance() +{ + if(ChatIDGenerator::instance == nullptr) + ChatIDGenerator::instance = new ChatIDGenerator(); + + return ChatIDGenerator::instance; +} + +QString ChatIDGenerator::generateID(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; +} + +ChatIDGenerator* ChatIDGenerator::instance = nullptr; \ No newline at end of file diff --git a/src/Chat/Helper/ChatIDGenerator.h b/src/Chat/Helper/ChatIDGenerator.h new file mode 100644 index 0000000..d9f6e4a --- /dev/null +++ b/src/Chat/Helper/ChatIDGenerator.h @@ -0,0 +1,18 @@ +#ifndef CHATIDGENERATOR_H +#define CHATIDGENERATOR_H + +#include +#include +#include "../../Model/ChatItem.h" + +class ChatIDGenerator +{ + private: + static ChatIDGenerator* instance; + + public: + static ChatIDGenerator* getInstance(); + QString generateID(ChatItem item); +}; + +#endif \ No newline at end of file diff --git a/src/controller.cpp b/src/controller.cpp index 36bc6d1..ecc487a 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -999,7 +999,6 @@ void Controller::refreshTransactions() { ); //DataStore::getChatDataStore()->setData(chatModel->generateChatItemID(item), item); DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); - } } From 7987a1fd86dda195e0c7a3198fb73e37dbaeaec5 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 10 May 2020 00:13:02 +0200 Subject: [PATCH 098/256] fix mac png problem --- src/mainwindow.cpp | 4 ++-- src/mainwindow.ui | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 2 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 2957dbb..7a1f6c2 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -908,9 +908,9 @@ void MainWindow::setupTransactionsTab() { // Set up context menu on transactions tab auto theme = Settings::getInstance()->get_theme_name(); if (theme == "dark" || theme == "midnight") { - ui->listChat->setStyleSheet("background-image: url(res/sdlogo.png) ;background-attachment: fixed ;background-position: center center ;background-repeat: no-repeat;background-size: cover"); + ui->listChat->setStyleSheet("background-image: url(:/icons/res/sdlogo.png) ;background-attachment: fixed ;background-position: center center ;background-repeat: no-repeat;background-size: cover"); } - if (theme == "default") {ui->listChat->setStyleSheet("background-image: url(res/sdlogo2.png) ;background-attachment: fixed ;background-position: center center ;background-repeat: no-repeat;background-size: cover");} + if (theme == "default") {ui->listChat->setStyleSheet("background-image: url(:/icons/res/sdlogo2.png) ;background-attachment: fixed ;background-position: center center ;background-repeat: no-repeat;background-size: cover");} ui->listChat->setResizeMode(QListView::Adjust); ui->listChat->setWordWrap(true); diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 08e1d4d..3e82d7a 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -10,6 +10,43 @@ 779 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + SilentDragonLite From cd9b850a3522f516bf1e9a1dbbc48f1910c4f097 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 10 May 2020 00:59:40 +0200 Subject: [PATCH 099/256] parse hm as json --- src/controller.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/controller.cpp b/src/controller.cpp index ecc487a..c11fe72 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -920,6 +920,7 @@ void Controller::refreshTransactions() { model->markAddressUsed(address); QString memo; + QString test; if (!it["memo"].is_null()) { memo = QString::fromStdString(it["memo"]); } @@ -939,16 +940,16 @@ void Controller::refreshTransactions() { QString type; QString cid; - // int position; - QString requestZaddr1; + // int position; QString requestZaddr; if (memo.startsWith("{")) { - type = memo.mid(75,4); - cid = memo.mid(14,36); - requestZaddr1 = memo.right(82); - requestZaddr = requestZaddr1.left(78); + QJsonDocument doc = QJsonDocument::fromJson(memo.toUtf8()); + + cid = doc["cid"].toString(); + type = doc["t"].toString(); + requestZaddr = doc["z"].toString(); chatModel->addCid(txid, cid); chatModel->addrequestZaddr(txid, requestZaddr); @@ -997,7 +998,7 @@ void Controller::refreshTransactions() { txid, false ); - //DataStore::getChatDataStore()->setData(chatModel->generateChatItemID(item), item); + DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); } } From d48a7c64befd210429b4268ddef914a3245f516c Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 10 May 2020 01:13:56 +0200 Subject: [PATCH 100/256] rename hm json --- src/controller.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/controller.cpp b/src/controller.cpp index c11fe72..e757190 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -889,7 +889,7 @@ void Controller::refreshTransactions() { txid, true ); - //DataStore::getChatDataStore()->setData(chatModel->generateChatItemID(item), item); + DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); } @@ -945,11 +945,11 @@ void Controller::refreshTransactions() { if (memo.startsWith("{")) { - QJsonDocument doc = QJsonDocument::fromJson(memo.toUtf8()); + QJsonDocument headermemo = QJsonDocument::fromJson(memo.toUtf8()); - cid = doc["cid"].toString(); - type = doc["t"].toString(); - requestZaddr = doc["z"].toString(); + cid = headermemo["cid"].toString(); + type = headermemo["t"].toString(); + requestZaddr = headermemo["z"].toString(); chatModel->addCid(txid, cid); chatModel->addrequestZaddr(txid, requestZaddr); From 3fef6d382567e2bd744ca4d3aba43b8455a92faa Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 10 May 2020 16:10:50 +0200 Subject: [PATCH 101/256] set dangerous bool to false --- src/connection.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connection.cpp b/src/connection.cpp index 26d6d2b..bbc3bce 100644 --- a/src/connection.cpp +++ b/src/connection.cpp @@ -59,7 +59,7 @@ void ConnectionLoader::doAutoConnect() { qDebug() << "Doing autoconnect"; auto config = std::shared_ptr(new ConnectionConfig()); - config->dangerous = true; + config->dangerous = false; config->server = Settings::getInstance()->getSettings().server; // Initialize the library From 11e3bc5ede44a0bb23878a089a7a2bdc22a2919f Mon Sep 17 00:00:00 2001 From: Strider <127.0.0.1@404.com> Date: Sun, 10 May 2020 16:16:54 +0200 Subject: [PATCH 102/256] update// moved render function to chat.cpp --- silentdragon-lite.pro | 3 ++- src/Chat/Chat.h | 32 ++++++++++++++++++++------------ src/controller.cpp | 5 +++-- src/controller.h | 1 + 4 files changed, 26 insertions(+), 15 deletions(-) diff --git a/silentdragon-lite.pro b/silentdragon-lite.pro index 5c7dd21..da53d6d 100644 --- a/silentdragon-lite.pro +++ b/silentdragon-lite.pro @@ -78,7 +78,8 @@ SOURCES += \ src/Model/ChatItem.cpp \ src/Model/ContactRequestChatItem.cpp \ src/Model/ContactItem.cpp \ - src/Chat/Helper/ChatIDGenerator.cpp + src/Chat/Helper/ChatIDGenerator.cpp \ + src/Chat/Chat.cpp HEADERS += \ src/firsttimewizard.h \ diff --git a/src/Chat/Chat.h b/src/Chat/Chat.h index 969f98c..526aa36 100644 --- a/src/Chat/Chat.h +++ b/src/Chat/Chat.h @@ -1,28 +1,36 @@ #ifndef CHAT_H #define CHAT_H +#include +#include +#include +#include +#include +#include +#include +#include "precompiled.h" +#include "mainwindow.h" +#include "controller.h" +#include "settings.h" +#include "camount.h" + +#include "../Model/ChatItem.h" + + class Chat // Chat Controller { private: - std::map chatItems; QTableView* parent; Ui::MainWindow* ui; MainWindow* main; std::map cidMap; std::map requestZaddrMap; public: - ChatModel() {}; - ChatModel(std::map chatItems); - ChatModel(std::vector chatItems); - QString generateChatItemID(ChatItem item); // helper - std::map getItems(); - void setItems(std::map items); - QString zaddr(); - void setItems(std::vector items); - void renderChatBox(Ui::MainWindow* ui, QListView &view); // action + Chat(); + //QString zaddr(); void renderChatBox(Ui::MainWindow* ui, QListView *view); // action // void renderContactRequest(); - void triggerRequest(); + /*void triggerRequest(); void showMessages(); void clear(); //void renderContactRequest(Ui::MainWindow* ui, QListView *view); @@ -33,7 +41,7 @@ class Chat // Chat Controller QString getCidByTx(QString tx); QString getrequestZaddrByTx(QString tx); void killCidCache(); - void killrequestZaddrCache(); + void killrequestZaddrCache();*/ }; diff --git a/src/controller.cpp b/src/controller.cpp index e757190..730e906 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -16,6 +16,7 @@ DataStore* DataStore::instance = nullptr; template<> bool DataStore::instanced = false;*/ ChatModel *chatModel = new ChatModel(); +Chat *chat = new Chat(); ContactModel *contactModel = new ContactModel(); using json = nlohmann::json; @@ -1022,7 +1023,7 @@ void Controller::refreshTransactions() { // Update model data, which updates the table view transactionsTableModel->replaceData(txdata); - chatModel->renderChatBox(ui, ui->listChat); + chat->renderChatBox(ui, ui->listChat); refreshContacts( ui->listContactWidget @@ -1032,7 +1033,7 @@ void Controller::refreshTransactions() { void Controller::refreshChat(QListView *listWidget) { - chatModel->renderChatBox(ui, listWidget); + chat->renderChatBox(ui, listWidget); } diff --git a/src/controller.h b/src/controller.h index 05e1f97..cfd3bbb 100644 --- a/src/controller.h +++ b/src/controller.h @@ -12,6 +12,7 @@ #include "liteinterface.h" #include "connection.h" #include "chatmodel.h" +#include "Chat/Chat.h" #include "Model/ContactRequestChatItem.h" #include "Model/ContactItem.h" #include "contactmodel.h" From 7e491b3a2534bf88f9b80d71c994b9b0531e1b96 Mon Sep 17 00:00:00 2001 From: Strider <127.0.0.1@404.com> Date: Sun, 10 May 2020 19:15:04 +0200 Subject: [PATCH 103/256] update// addec chat.cpp --- src/Chat/Chat.cpp | 53 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 src/Chat/Chat.cpp diff --git a/src/Chat/Chat.cpp b/src/Chat/Chat.cpp new file mode 100644 index 0000000..c2719ee --- /dev/null +++ b/src/Chat/Chat.cpp @@ -0,0 +1,53 @@ +#include "Chat.h" +#include "../addressbook.h" +#include "../DataStore/DataStore.h" +Chat::Chat() {} + +void Chat::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); + } + } + } +} \ No newline at end of file From b9526c1f3514f4a7abd2ec0b8979392c5781141d Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 14 May 2020 12:50:05 +0200 Subject: [PATCH 104/256] fix a problem with two chatrender functions due to refractor --- src/Chat/Chat.cpp | 4 +-- src/chatmodel.cpp | 74 ++-------------------------------------------- src/chatmodel.h | 5 ---- src/controller.cpp | 13 +++++--- 4 files changed, 13 insertions(+), 83 deletions(-) diff --git a/src/Chat/Chat.cpp b/src/Chat/Chat.cpp index c2719ee..7038fe1 100644 --- a/src/Chat/Chat.cpp +++ b/src/Chat/Chat.cpp @@ -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)) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 67dd432..01aed54 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -86,77 +86,7 @@ void ChatModel::showMessages() } } - -void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView &view) -{ - /*for(auto &c : this->chatItems) - { - //view.getItems().add(QString("[Timestamp] : 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; @@ -167,7 +97,7 @@ void MainWindow::renderContactRequest(){ QStandardItemModel* contactRequest = new QStandardItemModel(); { - for (auto &c : DataStore::getChatDataStore()->getAllContactRequests()) + for (auto &c : DataStore::getChatDataStore()->getAllRawChatItems()) { QStandardItem* Items = new QStandardItem(c.second.getAddress()); diff --git a/src/chatmodel.h b/src/chatmodel.h index b54c5ae..04493b8 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -30,18 +30,13 @@ class ChatModel ChatModel() {}; ChatModel(std::map chatItems); ChatModel(std::vector chatItems); - //QString generateChatItemID(ChatItem item); std::map getItems(); void setItems(std::map items); QString zaddr(); void setItems(std::vector 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); diff --git a/src/controller.cpp b/src/controller.cpp index 730e906..35403c1 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -877,7 +877,7 @@ void Controller::refreshTransactions() { if (address == c.getPartnerAddress()){ contact = c.getName(); }else{ contact = "";} - + } ChatItem item = ChatItem( datetime, @@ -890,14 +890,17 @@ void Controller::refreshTransactions() { txid, true ); + qDebug()<<"Kontaktname : " <setData(ChatIDGenerator::getInstance()->generateID(item), item); - } + // } items.push_back(TransactionItemDetail{address, amount, memo}); total_amount = total_amount + amount; } + { QList addresses; @@ -986,6 +989,7 @@ void Controller::refreshTransactions() { }else{ contact = "";} + } // position = it["position"].get(); ChatItem item = ChatItem( @@ -999,9 +1003,10 @@ void Controller::refreshTransactions() { txid, false ); - + qDebug()<<"Kontaktname : " <setData(ChatIDGenerator::getInstance()->generateID(item), item); - } + // } } } From 96a073cacf8737c87182b85418bcc8210d66f027 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 14 May 2020 13:26:24 +0200 Subject: [PATCH 105/256] dont scan transactions to often --- src/addressbook.cpp | 2 +- src/controller.cpp | 36 +++++++++--------------------------- 2 files changed, 10 insertions(+), 28 deletions(-) diff --git a/src/addressbook.cpp b/src/addressbook.cpp index d00c3ae..d17726c 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -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())) diff --git a/src/controller.cpp b/src/controller.cpp index 35403c1..3c370f1 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -867,22 +867,14 @@ 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 = "";} - } + QString cid; ChatItem item = ChatItem( datetime, address, - contact, + QString(""), memo, QString(""), QString(""), @@ -890,12 +882,11 @@ void Controller::refreshTransactions() { txid, true ); - qDebug()<<"Kontaktname : " <setData(ChatIDGenerator::getInstance()->generateID(item), item); - // } + } items.push_back(TransactionItemDetail{address, amount, memo}); total_amount = total_amount + amount; @@ -947,7 +938,7 @@ void Controller::refreshTransactions() { // int position; QString requestZaddr; - if (memo.startsWith("{")) { + if ((memo.startsWith("{")) && (!it["memo"].is_null())) { QJsonDocument headermemo = QJsonDocument::fromJson(memo.toUtf8()); @@ -958,7 +949,7 @@ void Controller::refreshTransactions() { chatModel->addCid(txid, cid); chatModel->addrequestZaddr(txid, requestZaddr); - } + // } if (chatModel->getCidByTx(txid) != QString("0xdeadbeef")){ @@ -980,22 +971,13 @@ void Controller::refreshTransactions() { requestZaddr = ""; } - QString contact; - for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) - { - if (address == c.getMyAddress()){ - contact = c.getName(); - - }else{ contact = "";} - - } // position = it["position"].get(); ChatItem item = ChatItem( datetime, address, - contact, + QString(""), memo, requestZaddr, type, @@ -1003,10 +985,10 @@ void Controller::refreshTransactions() { txid, false ); - qDebug()<<"Kontaktname : " <setData(ChatIDGenerator::getInstance()->generateID(item), item); - // } + } } } From 7fe11f4985c0a8ec6ff8871f5d4ca295131946bc Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 14 May 2020 13:55:25 +0200 Subject: [PATCH 106/256] fix some typos/reformat --- src/controller.cpp | 1928 +++++++++++++++++++++----------------------- 1 file changed, 899 insertions(+), 1029 deletions(-) diff --git a/src/controller.cpp b/src/controller.cpp index 3c370f1..8023cbc 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -2,58 +2,67 @@ // GPLv3 #include "controller.h" + #include "mainwindow.h" + #include "addressbook.h" + #include "settings.h" + #include "version.h" + #include "camount.h" + #include "websockets.h" + #include "Model/ChatItem.h" + #include "DataStore/DataStore.h" /*template<> DataStore* DataStore::instance = nullptr; template<> bool DataStore::instanced = false;*/ -ChatModel *chatModel = new ChatModel(); -Chat *chat = new Chat(); -ContactModel *contactModel = new ContactModel(); +ChatModel * chatModel = new ChatModel(); +Chat * chat = new Chat(); +ContactModel * contactModel = new ContactModel(); using json = nlohmann::json; -Controller::Controller(MainWindow* main) -{ +Controller::Controller(MainWindow * main) { auto cl = new ConnectionLoader(main, this); // Execute the load connection async, so we can set up the rest of RPC properly. - QTimer::singleShot(1, [=]() { cl->loadConnection(); }); + QTimer::singleShot(1, [ = ]() { + cl - > loadConnection(); + }); - this->main = main; - this->ui = main->ui; + this - > main = main; + this - > ui = main - > ui; // Setup balances table model - balancesTableModel = new BalancesTableModel(main->ui->balancesTable); - main->ui->balancesTable->setModel(balancesTableModel); + balancesTableModel = new BalancesTableModel(main - > ui - > balancesTable); + main - > ui - > balancesTable - > setModel(balancesTableModel); // Setup transactions table model - transactionsTableModel = new TxTableModel(ui->transactionsTable); - main->ui->transactionsTable->setModel(transactionsTableModel); - + transactionsTableModel = new TxTableModel(ui - > transactionsTable); + main - > ui - > transactionsTable - > setModel(transactionsTableModel); + // Set up timer to refresh Price priceTimer = new QTimer(main); - QObject::connect(priceTimer, &QTimer::timeout, [=]() { - if (Settings::getInstance()->getAllowFetchPrices()) - refreshZECPrice(); - + QObject::connect(priceTimer, & QTimer::timeout, [ = ]() { + if (Settings::getInstance() - > getAllowFetchPrices()) + refreshZECPrice(); + }); - priceTimer->start(Settings::priceRefreshSpeed); // Every 5 Min + priceTimer - > start(Settings::priceRefreshSpeed); // Every 5 Min // Set up a timer to refresh the UI every few seconds timer = new QTimer(main); - QObject::connect(timer, &QTimer::timeout, [=]() { + QObject::connect(timer, & QTimer::timeout, [ = ]() { refresh(); }); - timer->start(Settings::updateSpeed); + timer - > start(Settings::updateSpeed); // Create the data model model = new DataModel(); @@ -62,8 +71,7 @@ Controller::Controller(MainWindow* main) zrpc = new LiteInterface(); } -Controller::~Controller() -{ +Controller::~Controller() { delete timer; delete txTimer; delete transactionsTableModel; @@ -71,22 +79,21 @@ Controller::~Controller() delete model; delete zrpc; } - + // Called when a connection to hushd is available. -void Controller::setConnection(Connection* c) -{ - if (c == nullptr) +void Controller::setConnection(Connection * c) { + if (c == nullptr) return; - this->zrpc->setConnection(c); - ui->statusBar->showMessage(""); + this - > zrpc - > setConnection(c); + ui - > statusBar - > showMessage(""); // If we're allowed to get the Hush Price, get the prices - if (Settings::getInstance()->getAllowFetchPrices()) + if (Settings::getInstance() - > getAllowFetchPrices()) refreshZECPrice(); // If we're allowed to check for updates, check for a new release - if (Settings::getInstance()->getCheckForUpdates()) + if (Settings::getInstance() - > getCheckForUpdates()) checkForUpdate(); // Force update, because this might be coming from a settings update @@ -95,458 +102,417 @@ void Controller::setConnection(Connection* c) // Create Sietch zdust addr at startup. // Using DataStore singelton, to store the data outside of lambda, bing bada boom :D - for(uint8_t i = 0; i < 10; i++) - { - zrpc->createNewSietchZaddr( [=] (json reply) { - QString zdust = QString::fromStdString(reply.get()[0]); - DataStore::getSietchDataStore()->setData("Sietch" + QString(i), zdust.toUtf8()); + for (uint8_t i = 0; i < 10; i++) { + zrpc - > createNewSietchZaddr([ = ](json reply) { + QString zdust = QString::fromStdString(reply.get < json::array_t > ()[0]); + DataStore::getSietchDataStore() - > setData("Sietch" + QString(i), zdust.toUtf8()); }); } } // Build the RPC JSON Parameters for this tx -void Controller::fillTxJsonParams(json& allRecepients, Tx tx) -{ +void Controller::fillTxJsonParams(json & allRecepients, Tx tx) { Q_ASSERT(allRecepients.is_array()); // Construct the JSON params json rec = json::object(); //creating the JSON dust parameters in a std::vector to iterate over there during tx - std::vector dust(10); + std::vector < json > dust(10); dust.resize(10, json::object()); // Create Sietch zdust addr again to not use it twice. // Using DataStore singelton, to store the data outside of lambda, bing bada boom :D - for(uint8_t i = 0; i < 10; i++) - { - zrpc->createNewSietchZaddr( [=] (json reply) { - QString zdust = QString::fromStdString(reply.get()[0]); - DataStore::getSietchDataStore()->setData(QString("Sietch") + QString(i), zdust.toUtf8()); - } ); + for (uint8_t i = 0; i < 10; i++) { + zrpc - > createNewSietchZaddr([ = ](json reply) { + QString zdust = QString::fromStdString(reply.get < json::array_t > ()[0]); + DataStore::getSietchDataStore() - > setData(QString("Sietch") + QString(i), zdust.toUtf8()); + }); } // Set sietch zdust addr to json. // Using DataStore singelton, to store the data into the dusts, bing bada boom :D - for(uint8_t i = 0; i < 10; i++) - { - dust.at(i)["address"] = DataStore::getSietchDataStore()->getData(QString("Sietch" + QString(i))).toStdString(); + for (uint8_t i = 0; i < 10; i++) { + dust.at(i)["address"] = DataStore::getSietchDataStore() - > getData(QString("Sietch" + QString(i))).toStdString(); } - DataStore::getSietchDataStore()->clear(); // clears the datastore + DataStore::getSietchDataStore() - > clear(); // clears the datastore // Dust amt/memo, construct the JSON - for(uint8_t i = 0; i < 10; i++) - { + for (uint8_t i = 0; i < 10; i++) { dust.at(i)["amount"] = 0; dust.at(i)["memo"] = ""; - + } - + // For each addr/amt/memo, construct the JSON and also build the confirm dialog box - for (int i=0; i < tx.toAddrs.size(); i++) - { + for (int i = 0; i < tx.toAddrs.size(); i++) { auto toAddr = tx.toAddrs[i]; rec["address"] = toAddr.addr.toStdString(); - rec["amount"] = toAddr.amount.toqint64(); + rec["amount"] = toAddr.amount.toqint64(); if (Settings::isZAddress(toAddr.addr) && !toAddr.memo.trimmed().isEmpty()) rec["memo"] = toAddr.memo.toStdString(); - allRecepients.push_back(rec) ; + allRecepients.push_back(rec); } - allRecepients.insert(std::begin(allRecepients), { - dust.at(0), - dust.at(1), - dust.at(2), - dust.at(3), - dust.at(4), - dust.at(5), - dust.at(6), - dust.at(7), - dust.at(8) - }) ; + allRecepients.insert(std::begin(allRecepients), { + dust.at(0), + dust.at(1), + dust.at(2), + dust.at(3), + dust.at(4), + dust.at(5), + dust.at(6), + dust.at(7), + dust.at(8) + }); } -void Controller::noConnection() -{ - QIcon i = QApplication::style()->standardIcon(QStyle::SP_MessageBoxCritical); - main->statusIcon->setPixmap(i.pixmap(16, 16)); - main->statusIcon->setToolTip(""); - main->statusLabel->setText(QObject::tr("No Connection")); - main->statusLabel->setToolTip(""); - main->ui->statusBar->showMessage(QObject::tr("No Connection"), 1000); +void Controller::noConnection() { + QIcon i = QApplication::style() - > standardIcon(QStyle::SP_MessageBoxCritical); + main - > statusIcon - > setPixmap(i.pixmap(16, 16)); + main - > statusIcon - > setToolTip(""); + main - > statusLabel - > setText(QObject::tr("No Connection")); + main - > statusLabel - > setToolTip(""); + main - > ui - > statusBar - > showMessage(QObject::tr("No Connection"), 1000); // Clear balances table. - QMap emptyBalances; - QList emptyOutputs; - QList emptyAddresses; - balancesTableModel->setNewData(emptyAddresses, emptyAddresses, emptyBalances, emptyOutputs); + QMap < QString, CAmount > emptyBalances; + QList < UnspentOutput > emptyOutputs; + QList < QString > emptyAddresses; + balancesTableModel - > setNewData(emptyAddresses, emptyAddresses, emptyBalances, emptyOutputs); // Clear Transactions table. - QList emptyTxs; - transactionsTableModel->replaceData(emptyTxs); + QList < TransactionItem > emptyTxs; + transactionsTableModel - > replaceData(emptyTxs); // Clear balances - ui->balSheilded->setText(""); - ui->balTransparent->setText(""); - ui->balTotal->setText(""); + ui - > balSheilded - > setText(""); + ui - > balTransparent - > setText(""); + ui - > balTotal - > setText(""); - ui->balSheilded->setToolTip(""); - ui->balTransparent->setToolTip(""); - ui->balTotal->setToolTip(""); + ui - > balSheilded - > setToolTip(""); + ui - > balTransparent - > setToolTip(""); + ui - > balTotal - > setToolTip(""); } /// This will refresh all the balance data from hushd -void Controller::refresh(bool force) -{ - if (!zrpc->haveConnection()) +void Controller::refresh(bool force) { + if (!zrpc - > haveConnection()) return noConnection(); getInfoThenRefresh(force); } -void Controller::processInfo(const json& info) -{ +void Controller::processInfo(const json & info) { // Testnet? QString chainName; - if (!info["chain_name"].is_null()) - { - chainName = QString::fromStdString(info["chain_name"].get()); - Settings::getInstance()->setTestnet(chainName == "test"); + if (!info["chain_name"].is_null()) { + chainName = QString::fromStdString(info["chain_name"].get < json::string_t > ()); + Settings::getInstance() - > setTestnet(chainName == "test"); } - QString version = QString::fromStdString(info["version"].get()); - Settings::getInstance()->sethushdVersion(version); + QString version = QString::fromStdString(info["version"].get < json::string_t > ()); + Settings::getInstance() - > sethushdVersion(version); // Recurring pamynets are testnet only - if (!Settings::getInstance()->isTestnet()) - main->disableRecurring(); + if (!Settings::getInstance() - > isTestnet()) + main - > disableRecurring(); } -void Controller::getInfoThenRefresh(bool force) -{ - if (!zrpc->haveConnection()) +void Controller::getInfoThenRefresh(bool force) { + if (!zrpc - > haveConnection()) return noConnection(); static bool prevCallSucceeded = false; - zrpc->fetchInfo([=] (const json& reply) { - prevCallSucceeded = true; - int curBlock = reply["latest_block_height"].get(); - int longestchain = reply["longestchain"].get(); - int notarized = reply["notarized"].get(); - int difficulty = reply["difficulty"].get(); - 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); + zrpc - > fetchInfo([ = ](const json & reply) { + prevCallSucceeded = true; + int curBlock = reply["latest_block_height"].get < json::number_integer_t > (); + int longestchain = reply["longestchain"].get < json::number_integer_t > (); + int notarized = reply["notarized"].get < json::number_integer_t > (); + 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" || - Settings::getInstance()->get_currency_name() == "CHF" || - Settings::getInstance()->get_currency_name() == "RUB" - ) - { - ui->blockHeight->setText( + Settings::getInstance() - > get_currency_name() == "EUR" || + Settings::getInstance() - > get_currency_name() == "CHF" || + Settings::getInstance() - > get_currency_name() == "RUB" + ) { + ui - > blockHeight - > setText( "Block: " + QLocale(QLocale::German).toString(curBlock) ); - ui->last_notarized->setText( + ui - > last_notarized - > setText( "Block: " + QLocale(QLocale::German).toString(notarized) ); - ui->longestchain->setText( + ui - > longestchain - > setText( "Block: " + QLocale(QLocale::German).toString(longestchain) ); - ui->difficulty->setText( + ui - > difficulty - > setText( QLocale(QLocale::German).toString(difficulty) ); - ui->halvingTime->setText( - (QLocale(QLocale::German).toString(blocks_until_halving)) + - " Blocks or , " + (QLocale(QLocale::German).toString(halving_days) + " days" ) + ui - > halvingTime - > setText( + (QLocale(QLocale::German).toString(blocks_until_halving)) + + " Blocks or , " + (QLocale(QLocale::German).toString(halving_days) + " days") ); - } - else - { - ui->blockHeight->setText( + } else { + ui - > blockHeight - > setText( "Block: " + QLocale(QLocale::English).toString(curBlock) ); - ui->last_notarized->setText( + ui - > last_notarized - > setText( "Block: " + QLocale(QLocale::English).toString(notarized) ); - ui->longestchain->setText( + ui - > longestchain - > setText( "Block: " + QLocale(QLocale::English).toString(longestchain) ); - ui->difficulty->setText( + ui - > difficulty - > setText( QLocale(QLocale::English).toString(difficulty) ); - ui->halvingTime->setText( - (QLocale(QLocale::English).toString(blocks_until_halving)) + - " Blocks or , " + (QLocale(QLocale::English).toString(halving_days) + " days" ) + ui - > halvingTime - > setText( + (QLocale(QLocale::English).toString(blocks_until_halving)) + + " Blocks or , " + (QLocale(QLocale::English).toString(halving_days) + " days") ); } - ui->Version->setText( - QString::fromStdString(reply["version"].get()) - ); - ui->Vendor->setText( - QString::fromStdString(reply["vendor"].get()) + ui - > Version - > setText( + QString::fromStdString(reply["version"].get < json::string_t > ()) ); - main->logger->write( - QString("Refresh. curblock ") % QString::number(curBlock) % ", update=" % (doUpdate ? "true" : "false") + ui - > Vendor - > setText( + QString::fromStdString(reply["vendor"].get < json::string_t > ()) + ); + main - > logger - > write( + QString("Refresh. curblock ") % QString::number(curBlock) % ", update=" % (doUpdate ? "true" : "false") ); // Connected, so display checkmark. - auto tooltip = Settings::getInstance()->getSettings().server + "\n" + - QString::fromStdString(zrpc->getConnection()->getInfo().dump()); + auto tooltip = Settings::getInstance() - > getSettings().server + "\n" + + QString::fromStdString(zrpc - > getConnection() - > getInfo().dump()); QIcon i(":/icons/res/connected.gif"); - QString chainName = Settings::getInstance()->isTestnet() ? "test" : "main"; - main->statusLabel->setText(chainName + "(" + QString::number(curBlock) + ")"); + QString chainName = Settings::getInstance() - > isTestnet() ? "test" : "main"; + main - > statusLabel - > setText(chainName + "(" + QString::number(curBlock) + ")"); // use currency ComboBox as input - if (Settings::getInstance()->get_currency_name() == "USD") - { - double price = Settings::getInstance()->getZECPrice(); - double volume = Settings::getInstance()->getUSDVolume(); - double cap = Settings::getInstance()->getUSDCAP(); - main->statusLabel->setText( - " HUSH/USD=$ " + (QLocale(QLocale::English).toString(price,'f', 2)) + if (Settings::getInstance() - > get_currency_name() == "USD") { + double price = Settings::getInstance() - > getZECPrice(); + double volume = Settings::getInstance() - > getUSDVolume(); + double cap = Settings::getInstance() - > getUSDCAP(); + main - > statusLabel - > setText( + " HUSH/USD=$ " + (QLocale(QLocale::English).toString(price, 'f', 2)) ); - ui->volumeExchange->setText( - " $ " + (QLocale(QLocale::English).toString(volume,'f', 2)) + ui - > volumeExchange - > setText( + " $ " + (QLocale(QLocale::English).toString(volume, 'f', 2)) ); - ui->marketcapTab->setText( - " $ " + (QLocale(QLocale::English).toString(cap,'f', 2)) + ui - > marketcapTab - > setText( + " $ " + (QLocale(QLocale::English).toString(cap, 'f', 2)) ); - } - else if (Settings::getInstance()->get_currency_name() == "EUR") - { - double price = Settings::getInstance()->getEURPrice(); - double volume = Settings::getInstance()->getEURVolume(); - double cap = Settings::getInstance()->getEURCAP(); - main->statusLabel->setText( - "HUSH/EUR "+(QLocale(QLocale::German).toString(price,'f', 2))+ " €" - ); - ui->volumeExchange->setText( - QLocale(QLocale::German).toString(volume,'f', 2)+ " €" + } else if (Settings::getInstance() - > get_currency_name() == "EUR") { + double price = Settings::getInstance() - > getEURPrice(); + double volume = Settings::getInstance() - > getEURVolume(); + double cap = Settings::getInstance() - > getEURCAP(); + main - > statusLabel - > setText( + "HUSH/EUR " + (QLocale(QLocale::German).toString(price, 'f', 2)) + " €" + ); + ui - > volumeExchange - > setText( + QLocale(QLocale::German).toString(volume, 'f', 2) + " €" ); - ui->marketcapTab->setText( - QLocale(QLocale::German).toString(cap,'f', 2)+ " €" + ui - > marketcapTab - > setText( + QLocale(QLocale::German).toString(cap, 'f', 2) + " €" ); - } - else if (Settings::getInstance()->get_currency_name() == "BTC") - { - double price = Settings::getInstance()->getBTCPrice(); - double volume = Settings::getInstance()->getBTCVolume(); - double cap = Settings::getInstance()->getBTCCAP(); - main->statusLabel->setText( - " HUSH/BTC=BTC " + (QLocale(QLocale::English).toString(price, 'f',8)) + } else if (Settings::getInstance() - > get_currency_name() == "BTC") { + double price = Settings::getInstance() - > getBTCPrice(); + double volume = Settings::getInstance() - > getBTCVolume(); + double cap = Settings::getInstance() - > getBTCCAP(); + main - > statusLabel - > setText( + " HUSH/BTC=BTC " + (QLocale(QLocale::English).toString(price, 'f', 8)) ); - ui->volumeExchange->setText( - " BTC " + (QLocale(QLocale::English).toString(volume, 'f',8)) + ui - > volumeExchange - > setText( + " BTC " + (QLocale(QLocale::English).toString(volume, 'f', 8)) ); - ui->marketcapTab->setText( - " BTC " + (QLocale(QLocale::English).toString(cap, 'f',8)) + ui - > marketcapTab - > setText( + " BTC " + (QLocale(QLocale::English).toString(cap, 'f', 8)) ); - } - else if (Settings::getInstance()->get_currency_name() == "CNY") - { - double price = Settings::getInstance()->getCNYPrice(); - double volume = Settings::getInstance()->getCNYVolume(); - double cap = Settings::getInstance()->getCNYCAP(); - main->statusLabel->setText( - " HUSH/CNY=¥ /元 " + (QLocale(QLocale::Chinese).toString(price,'f', 2)) + } else if (Settings::getInstance() - > get_currency_name() == "CNY") { + double price = Settings::getInstance() - > getCNYPrice(); + double volume = Settings::getInstance() - > getCNYVolume(); + double cap = Settings::getInstance() - > getCNYCAP(); + main - > statusLabel - > setText( + " HUSH/CNY=¥ /元 " + (QLocale(QLocale::Chinese).toString(price, 'f', 2)) ); - ui->volumeExchange->setText( - " ¥ /元 " + (QLocale(QLocale::Chinese).toString(volume,'f', 2)) + ui - > volumeExchange - > setText( + " ¥ /元 " + (QLocale(QLocale::Chinese).toString(volume, 'f', 2)) ); - ui->marketcapTab->setText( - " ¥ /元 " + (QLocale(QLocale::Chinese).toString(cap,'f', 2)) + ui - > marketcapTab - > setText( + " ¥ /元 " + (QLocale(QLocale::Chinese).toString(cap, 'f', 2)) ); - } - else if (Settings::getInstance()->get_currency_name() == "RUB") - { - double price = Settings::getInstance()->getRUBPrice(); - double volume = Settings::getInstance()->getRUBVolume(); - double cap = Settings::getInstance()->getRUBCAP(); - main->statusLabel->setText( - " HUSH/RUB=₽ " + (QLocale(QLocale::German).toString(price,'f', 2)) + } else if (Settings::getInstance() - > get_currency_name() == "RUB") { + double price = Settings::getInstance() - > getRUBPrice(); + double volume = Settings::getInstance() - > getRUBVolume(); + double cap = Settings::getInstance() - > getRUBCAP(); + main - > statusLabel - > setText( + " HUSH/RUB=₽ " + (QLocale(QLocale::German).toString(price, 'f', 2)) ); - ui->volumeExchange->setText( - " ₽ " + (QLocale(QLocale::German).toString(volume,'f', 2)) + ui - > volumeExchange - > setText( + " ₽ " + (QLocale(QLocale::German).toString(volume, 'f', 2)) ); - ui->marketcapTab->setText( - " ₽ " + (QLocale(QLocale::German).toString(cap,'f', 2)) + ui - > marketcapTab - > setText( + " ₽ " + (QLocale(QLocale::German).toString(cap, 'f', 2)) ); - } - else if (Settings::getInstance()->get_currency_name() == "CAD") - { - double price = Settings::getInstance()->getCADPrice(); - double volume = Settings::getInstance()->getCADVolume(); - double cap = Settings::getInstance()->getCADCAP(); - main->statusLabel->setText( - " HUSH/CAD=$ " + (QLocale(QLocale::English).toString(price,'f', 2)) + } else if (Settings::getInstance() - > get_currency_name() == "CAD") { + double price = Settings::getInstance() - > getCADPrice(); + double volume = Settings::getInstance() - > getCADVolume(); + double cap = Settings::getInstance() - > getCADCAP(); + main - > statusLabel - > setText( + " HUSH/CAD=$ " + (QLocale(QLocale::English).toString(price, 'f', 2)) ); - ui->volumeExchange->setText( - " $ " + (QLocale(QLocale::English).toString(volume,'f', 2)) + ui - > volumeExchange - > setText( + " $ " + (QLocale(QLocale::English).toString(volume, 'f', 2)) ); - ui->marketcapTab->setText( - " $ " + (QLocale(QLocale::English).toString(cap,'f', 2)) + ui - > marketcapTab - > setText( + " $ " + (QLocale(QLocale::English).toString(cap, 'f', 2)) ); - } - else if (Settings::getInstance()->get_currency_name() == "SGD") - { - double price = Settings::getInstance()->getSGDPrice(); - double volume = Settings::getInstance()->getSGDVolume(); - double cap = Settings::getInstance()->getSGDCAP(); - main->statusLabel->setText( - " HUSH/SGD=$ " + (QLocale(QLocale::English).toString(price,'f', 2)) + } else if (Settings::getInstance() - > get_currency_name() == "SGD") { + double price = Settings::getInstance() - > getSGDPrice(); + double volume = Settings::getInstance() - > getSGDVolume(); + double cap = Settings::getInstance() - > getSGDCAP(); + main - > statusLabel - > setText( + " HUSH/SGD=$ " + (QLocale(QLocale::English).toString(price, 'f', 2)) ); - ui->volumeExchange->setText( - " $ " + (QLocale(QLocale::English).toString(volume,'f', 2)) + ui - > volumeExchange - > setText( + " $ " + (QLocale(QLocale::English).toString(volume, 'f', 2)) ); - ui->marketcapTab->setText( - " $ " + (QLocale(QLocale::English).toString(cap,'f', 2)) + ui - > marketcapTab - > setText( + " $ " + (QLocale(QLocale::English).toString(cap, 'f', 2)) ); - } - else if (Settings::getInstance()->get_currency_name() == "CHF") - { - double price = Settings::getInstance()->getCHFPrice(); - double volume = Settings::getInstance()->getCHFVolume(); - double cap = Settings::getInstance()->getCHFCAP(); - main->statusLabel->setText( - " HUSH/CHF= " + (QLocale(QLocale::German).toString(price,'f', 2))+ " CHF" + } else if (Settings::getInstance() - > get_currency_name() == "CHF") { + double price = Settings::getInstance() - > getCHFPrice(); + double volume = Settings::getInstance() - > getCHFVolume(); + double cap = Settings::getInstance() - > getCHFCAP(); + main - > statusLabel - > setText( + " HUSH/CHF= " + (QLocale(QLocale::German).toString(price, 'f', 2)) + " CHF" ); - ui->volumeExchange->setText( - QLocale(QLocale::German).toString(volume,'f', 2)+ " CHF" + ui - > volumeExchange - > setText( + QLocale(QLocale::German).toString(volume, 'f', 2) + " CHF" ); - ui->marketcapTab->setText( - QLocale(QLocale::German).toString(cap,'f', 2)+ " CHF" + ui - > marketcapTab - > setText( + QLocale(QLocale::German).toString(cap, 'f', 2) + " CHF" ); - } - else if (Settings::getInstance()->get_currency_name() == "INR") - { - double price = Settings::getInstance()->getINRPrice(); - double volume = Settings::getInstance()->getINRVolume(); - double cap = Settings::getInstance()->getINRCAP(); - main->statusLabel->setText( - " HUSH/INR=₹ " + (QLocale(QLocale::English).toString(price,'f', 2)) + } else if (Settings::getInstance() - > get_currency_name() == "INR") { + double price = Settings::getInstance() - > getINRPrice(); + double volume = Settings::getInstance() - > getINRVolume(); + double cap = Settings::getInstance() - > getINRCAP(); + main - > statusLabel - > setText( + " HUSH/INR=₹ " + (QLocale(QLocale::English).toString(price, 'f', 2)) ); - ui->volumeExchange->setText( - " ₹ " + (QLocale(QLocale::English).toString(volume,'f', 2)) + ui - > volumeExchange - > setText( + " ₹ " + (QLocale(QLocale::English).toString(volume, 'f', 2)) ); - ui->marketcapTab->setText( - " ₹ " + (QLocale(QLocale::English).toString(cap,'f', 2)) + ui - > marketcapTab - > setText( + " ₹ " + (QLocale(QLocale::English).toString(cap, 'f', 2)) ); - } - else if (Settings::getInstance()->get_currency_name() == "GBP") - { - double price = Settings::getInstance()->getGBPPrice(); - double volume = Settings::getInstance()->getGBPVolume(); - double cap = Settings::getInstance()->getGBPCAP(); - main->statusLabel->setText( - " HUSH/GBP=£ " + (QLocale(QLocale::English).toString(price,'f', 2)) + } else if (Settings::getInstance() - > get_currency_name() == "GBP") { + double price = Settings::getInstance() - > getGBPPrice(); + double volume = Settings::getInstance() - > getGBPVolume(); + double cap = Settings::getInstance() - > getGBPCAP(); + main - > statusLabel - > setText( + " HUSH/GBP=£ " + (QLocale(QLocale::English).toString(price, 'f', 2)) ); - ui->volumeExchange->setText( - " £ " + (QLocale(QLocale::English).toString(volume,'f', 2)) + ui - > volumeExchange - > setText( + " £ " + (QLocale(QLocale::English).toString(volume, 'f', 2)) ); - ui->marketcapTab->setText( - " £ " + (QLocale(QLocale::English).toString(cap,'f', 2)) + ui - > marketcapTab - > setText( + " £ " + (QLocale(QLocale::English).toString(cap, 'f', 2)) ); - } - else if (Settings::getInstance()->get_currency_name() == "AUD") - { - double price = Settings::getInstance()->getAUDPrice(); - double volume = Settings::getInstance()->getAUDVolume(); - double cap = Settings::getInstance()->getAUDCAP(); - main->statusLabel->setText( - " HUSH/AUD=$ " + (QLocale(QLocale::English).toString(price,'f', 2)) + } else if (Settings::getInstance() - > get_currency_name() == "AUD") { + double price = Settings::getInstance() - > getAUDPrice(); + double volume = Settings::getInstance() - > getAUDVolume(); + double cap = Settings::getInstance() - > getAUDCAP(); + main - > statusLabel - > setText( + " HUSH/AUD=$ " + (QLocale(QLocale::English).toString(price, 'f', 2)) ); - ui->volumeExchange->setText( - " $ " + (QLocale(QLocale::English).toString(volume,'f', 2)) + ui - > volumeExchange - > setText( + " $ " + (QLocale(QLocale::English).toString(volume, 'f', 2)) ); - ui->marketcapTab->setText( - " $ " + (QLocale(QLocale::English).toString(cap,'f', 2)) + ui - > marketcapTab - > setText( + " $ " + (QLocale(QLocale::English).toString(cap, 'f', 2)) ); - - } - else - { - main->statusLabel->setText( - " HUSH/USD=$" + QString::number(Settings::getInstance()->getZECPrice(),'f',2 ) + + } else { + main - > statusLabel - > setText( + " HUSH/USD=$" + QString::number(Settings::getInstance() - > getZECPrice(), 'f', 2) ); - ui->volumeExchange->setText( - " $ " + QString::number((double) Settings::getInstance()->getUSDVolume() ,'f',2) + ui - > volumeExchange - > setText( + " $ " + QString::number((double) Settings::getInstance() - > getUSDVolume(), 'f', 2) ); - ui->marketcapTab->setText( - " $ " + QString::number((double) Settings::getInstance()->getUSDCAP() ,'f',2) + ui - > marketcapTab - > setText( + " $ " + QString::number((double) Settings::getInstance() - > getUSDCAP(), 'f', 2) ); } - main->statusLabel->setToolTip(tooltip); - main->statusIcon->setPixmap(i.pixmap(16, 16)); - main->statusIcon->setToolTip(tooltip); + main - > statusLabel - > setToolTip(tooltip); + main - > statusIcon - > setPixmap(i.pixmap(16, 16)); + main - > statusIcon - > setToolTip(tooltip); // See if recurring payments needs anything - Recurring::getInstance()->processPending(main); + Recurring::getInstance() - > processPending(main); // Check if the wallet is locked/encrypted - zrpc->fetchWalletEncryptionStatus([=] (const json& reply) { - bool isEncrypted = reply["encrypted"].get(); - bool isLocked = reply["locked"].get(); - model->setEncryptionStatus(isEncrypted, isLocked); + zrpc - > fetchWalletEncryptionStatus([ = ](const json & reply) { + bool isEncrypted = reply["encrypted"].get < json::boolean_t > (); + bool isLocked = reply["locked"].get < json::boolean_t > (); + model - > setEncryptionStatus(isEncrypted, isLocked); }); - // Get the total supply and render it with thousand decimal - zrpc->fetchSupply([=] (const json& reply) { - int supply = reply["supply"].get(); - int zfunds = reply["zfunds"].get(); - int total = reply["total"].get(); + // Get the total supply and render it with thousand decimal + zrpc - > fetchSupply([ = ](const json & reply) { + int supply = reply["supply"].get < json::number_integer_t > (); + int zfunds = reply["zfunds"].get < json::number_integer_t > (); + int total = reply["total"].get < json::number_integer_t > (); if ( - Settings::getInstance()->get_currency_name() == "EUR" || - Settings::getInstance()->get_currency_name() == "CHF" || - Settings::getInstance()->get_currency_name() == "RUB" - ) - { - ui->supply_taddr->setText((QLocale(QLocale::German).toString(supply)+ " Hush")); - ui->supply_zaddr->setText((QLocale(QLocale::German).toString(zfunds)+ " Hush")); - ui->supply_total->setText((QLocale(QLocale::German).toString(total)+ " Hush")); - } - else - { - ui->supply_taddr->setText("Hush " + (QLocale(QLocale::English).toString(supply))); - ui->supply_zaddr->setText("Hush " +(QLocale(QLocale::English).toString(zfunds))); - ui->supply_total->setText("Hush " +(QLocale(QLocale::English).toString(total))); + Settings::getInstance() - > get_currency_name() == "EUR" || + Settings::getInstance() - > get_currency_name() == "CHF" || + Settings::getInstance() - > get_currency_name() == "RUB" + ) { + ui - > supply_taddr - > setText((QLocale(QLocale::German).toString(supply) + " Hush")); + ui - > supply_zaddr - > setText((QLocale(QLocale::German).toString(zfunds) + " Hush")); + ui - > supply_total - > setText((QLocale(QLocale::German).toString(total) + " Hush")); + } else { + ui - > supply_taddr - > setText("Hush " + (QLocale(QLocale::English).toString(supply))); + ui - > supply_zaddr - > setText("Hush " + (QLocale(QLocale::English).toString(zfunds))); + ui - > supply_total - > setText("Hush " + (QLocale(QLocale::English).toString(total))); } }); - if ( doUpdate ) - { + if (doUpdate) { // Something changed, so refresh everything. - refreshBalances(); - refreshAddresses(); // This calls refreshZSentTransactions() and refreshReceivedZTrans() + refreshBalances(); + refreshAddresses(); // This calls refreshZSentTransactions() and refreshReceivedZTrans() refreshTransactions(); } - }, [=](QString err) { + }, [ = ](QString err) { // hushd has probably disappeared. - this->noConnection(); + this - > noConnection(); // Prevent multiple dialog boxes, because these are called async static bool shown = false; if (!shown && prevCallSucceeded) // show error only first time - { + { shown = true; QMessageBox::critical( - main, - QObject::tr("Connection Error"), - QObject::tr("There was an error connecting to hushd. The error was") + ": \n\n"+ err, + main, + QObject::tr("Connection Error"), + QObject::tr("There was an error connecting to hushd. The error was") + ": \n\n" + err, QMessageBox::StandardButton::Ok ); shown = false; @@ -556,528 +522,498 @@ void Controller::getInfoThenRefresh(bool force) }); } -void Controller::refreshAddresses() -{ - if (!zrpc->haveConnection()) +void Controller::refreshAddresses() { + if (!zrpc - > haveConnection()) return noConnection(); - - auto newzaddresses = new QList(); - auto newtaddresses = new QList(); - zrpc->fetchAddresses([=] (json reply) { - auto zaddrs = reply["z_addresses"].get(); - for (auto& it : zaddrs) - { - auto addr = QString::fromStdString(it.get()); - newzaddresses->push_back(addr); + + auto newzaddresses = new QList < QString > (); + auto newtaddresses = new QList < QString > (); + zrpc - > fetchAddresses([ = ](json reply) { + auto zaddrs = reply["z_addresses"].get < json::array_t > (); + for (auto & it: zaddrs) { + auto addr = QString::fromStdString(it.get < json::string_t > ()); + newzaddresses - > push_back(addr); } - model->replaceZaddresses(newzaddresses); - auto taddrs = reply["t_addresses"].get(); - for (auto& it : taddrs) - { - auto addr = QString::fromStdString(it.get()); + model - > replaceZaddresses(newzaddresses); + auto taddrs = reply["t_addresses"].get < json::array_t > (); + for (auto & it: taddrs) { + auto addr = QString::fromStdString(it.get < json::string_t > ()); if (Settings::isTAddress(addr)) - newtaddresses->push_back(addr); + newtaddresses - > push_back(addr); } - model->replaceTaddresses(newtaddresses); + model - > replaceTaddresses(newtaddresses); // Refresh the sent and received txs from all these z-addresses refreshTransactions(); }); - + } // Function to create the data model and update the views, used below. -void Controller::updateUI(bool anyUnconfirmed) -{ - ui->unconfirmedWarning->setVisible(anyUnconfirmed); +void Controller::updateUI(bool anyUnconfirmed) { + ui - > unconfirmedWarning - > setVisible(anyUnconfirmed); // Update balances model data, which will update the table too - balancesTableModel->setNewData( - model->getAllZAddresses(), - model->getAllTAddresses(), - model->getAllBalances(), - model->getUTXOs() + balancesTableModel - > setNewData( + model - > getAllZAddresses(), + model - > getAllTAddresses(), + model - > getAllBalances(), + model - > getUTXOs() ); }; // Function to process reply of the listunspent and z_listunspent API calls, used below. -void Controller::processUnspent(const json& reply, QMap* balancesMap, QList* unspentOutputs) { - auto processFn = [=](const json& array) { - for (auto& it : array) - { - QString qsAddr = QString::fromStdString(it["address"]); - int block = it["created_in_block"].get(); - QString txid = QString::fromStdString(it["created_in_txid"]); - CAmount amount = CAmount::fromqint64(it["value"].get()); - - bool spendable = it["unconfirmed_spent"].is_null() && it["spent"].is_null(); // TODO: Wait for 4 confirmations - bool pending = !it["unconfirmed_spent"].is_null(); - - unspentOutputs->push_back( - UnspentOutput{ qsAddr, txid, amount, block, spendable, pending } +void Controller::processUnspent(const json & reply, QMap < QString, CAmount > * balancesMap, QList < UnspentOutput > * unspentOutputs) { + auto processFn = [ = ](const json & array) { + for (auto & it: array) { + QString qsAddr = QString::fromStdString(it["address"]); + int block = it["created_in_block"].get < json::number_unsigned_t > (); + QString txid = QString::fromStdString(it["created_in_txid"]); + CAmount amount = CAmount::fromqint64(it["value"].get < json::number_unsigned_t > ()); + + bool spendable = it["unconfirmed_spent"].is_null() && it["spent"].is_null(); // TODO: Wait for 4 confirmations + bool pending = !it["unconfirmed_spent"].is_null(); + + unspentOutputs - > push_back( + UnspentOutput { + qsAddr, + txid, + amount, + block, + spendable, + pending + } ); - if (spendable) - { - (*balancesMap)[qsAddr] = (*balancesMap)[qsAddr] + - CAmount::fromqint64(it["value"].get()); + if (spendable) { + ( * balancesMap)[qsAddr] = ( * balancesMap)[qsAddr] + + CAmount::fromqint64(it["value"].get < json::number_unsigned_t > ()); } } }; - processFn(reply["unspent_notes"].get()); - processFn(reply["utxos"].get()); - processFn(reply["pending_notes"].get()); - processFn(reply["pending_utxos"].get()); + processFn(reply["unspent_notes"].get < json::array_t > ()); + processFn(reply["utxos"].get < json::array_t > ()); + processFn(reply["pending_notes"].get < json::array_t > ()); + processFn(reply["pending_utxos"].get < json::array_t > ()); }; -void Controller::updateUIBalances() -{ - CAmount balT = getModel()->getBalT(); - CAmount balZ = getModel()->getBalZ(); - CAmount balVerified = getModel()->getBalVerified(); +void Controller::updateUIBalances() { + CAmount balT = getModel() - > getBalT(); + CAmount balZ = getModel() - > getBalZ(); + CAmount balVerified = getModel() - > getBalVerified(); // Reduce the BalanceZ by the pending outgoing amount. We're adding // here because totalPending is already negative for outgoing txns. - balZ = balZ + getModel()->getTotalPending(); + balZ = balZ + getModel() - > getTotalPending(); - CAmount balTotal = balT + balZ; + CAmount balTotal = balT + balZ; CAmount balAvailable = balT + balVerified; - if (balZ < 0) + if (balZ < 0) balZ = CAmount::fromqint64(0); // Balances table - ui->balSheilded->setText(balZ.toDecimalhushString()); - ui->balVerified->setText(balVerified.toDecimalhushString()); - ui->balTransparent->setText(balT.toDecimalhushString()); - ui->balTotal->setText(balTotal.toDecimalhushString()); - - if (Settings::getInstance()->get_currency_name() == "USD") - { - ui->balSheilded->setToolTip(balZ.toDecimalUSDString()); - ui->balVerified->setToolTip(balVerified.toDecimalUSDString()); - ui->balTransparent->setToolTip(balT.toDecimalUSDString()); - ui->balTotal->setToolTip(balTotal.toDecimalUSDString()); - - } - else if (Settings::getInstance()->get_currency_name() == "EUR") - { - ui->balSheilded->setToolTip(balZ.toDecimalEURString()); - ui->balVerified->setToolTip(balVerified.toDecimalEURString()); - ui->balTransparent->setToolTip(balT.toDecimalEURString()); - ui->balTotal->setToolTip(balTotal.toDecimalEURString()); - - } - else if (Settings::getInstance()->get_currency_name() == "BTC") - { - ui->balSheilded->setToolTip(balZ.toDecimalBTCString()); - ui->balVerified->setToolTip(balVerified.toDecimalBTCString()); - ui->balTransparent->setToolTip(balT.toDecimalBTCString()); - ui->balTotal->setToolTip(balTotal.toDecimalBTCString()); - - } - else if (Settings::getInstance()->get_currency_name() == "CNY") - { - ui->balSheilded->setToolTip(balZ.toDecimalCNYString()); - ui->balVerified->setToolTip(balVerified.toDecimalCNYString()); - ui->balTransparent->setToolTip(balT.toDecimalCNYString()); - ui->balTotal->setToolTip(balTotal.toDecimalCNYString()); - - } - else if (Settings::getInstance()->get_currency_name() == "RUB") - { - ui->balSheilded->setToolTip(balZ.toDecimalRUBString()); - ui->balVerified->setToolTip(balVerified.toDecimalRUBString()); - ui->balTransparent->setToolTip(balT.toDecimalRUBString()); - ui->balTotal->setToolTip(balTotal.toDecimalRUBString()); - - } - else if (Settings::getInstance()->get_currency_name() == "CAD") - { - ui->balSheilded->setToolTip(balZ.toDecimalCADString()); - ui->balVerified->setToolTip(balVerified.toDecimalCADString()); - ui->balTransparent->setToolTip(balT.toDecimalCADString()); - ui->balTotal->setToolTip(balTotal.toDecimalCADString()); - - } - else if (Settings::getInstance()->get_currency_name() == "SGD") - { - ui->balSheilded->setToolTip(balZ.toDecimalSGDString()); - ui->balVerified->setToolTip(balVerified.toDecimalSGDString()); - ui->balTransparent->setToolTip(balT.toDecimalSGDString()); - ui->balTotal->setToolTip(balTotal.toDecimalSGDString()); - - } - else if (Settings::getInstance()->get_currency_name() == "CHF") - { - ui->balSheilded->setToolTip(balZ.toDecimalCHFString()); - ui->balVerified->setToolTip(balVerified.toDecimalCHFString()); - ui->balTransparent->setToolTip(balT.toDecimalCHFString()); - ui->balTotal->setToolTip(balTotal.toDecimalCHFString()); - - } - else if (Settings::getInstance()->get_currency_name() == "INR") - { - ui->balSheilded->setToolTip(balZ.toDecimalINRString()); - ui->balVerified->setToolTip(balVerified.toDecimalINRString()); - ui->balTransparent->setToolTip(balT.toDecimalINRString()); - ui->balTotal->setToolTip(balTotal.toDecimalINRString()); - - } - else if (Settings::getInstance()->get_currency_name() == "GBP") - { - ui->balSheilded ->setToolTip(balZ.toDecimalGBPString()); - ui->balVerified ->setToolTip(balVerified.toDecimalGBPString()); - ui->balTransparent->setToolTip(balT.toDecimalGBPString()); - ui->balTotal ->setToolTip(balTotal.toDecimalGBPString()); - - } - else if (Settings::getInstance()->get_currency_name() == "AUD") - { - ui->balSheilded ->setToolTip(balZ.toDecimalAUDString()); - ui->balVerified ->setToolTip(balVerified.toDecimalAUDString()); - ui->balTransparent->setToolTip(balT.toDecimalAUDString()); - ui->balTotal ->setToolTip(balTotal.toDecimalAUDString()); + ui - > balSheilded - > setText(balZ.toDecimalhushString()); + ui - > balVerified - > setText(balVerified.toDecimalhushString()); + ui - > balTransparent - > setText(balT.toDecimalhushString()); + ui - > balTotal - > setText(balTotal.toDecimalhushString()); + + if (Settings::getInstance() - > get_currency_name() == "USD") { + ui - > balSheilded - > setToolTip(balZ.toDecimalUSDString()); + ui - > balVerified - > setToolTip(balVerified.toDecimalUSDString()); + ui - > balTransparent - > setToolTip(balT.toDecimalUSDString()); + ui - > balTotal - > setToolTip(balTotal.toDecimalUSDString()); + + } else if (Settings::getInstance() - > get_currency_name() == "EUR") { + ui - > balSheilded - > setToolTip(balZ.toDecimalEURString()); + ui - > balVerified - > setToolTip(balVerified.toDecimalEURString()); + ui - > balTransparent - > setToolTip(balT.toDecimalEURString()); + ui - > balTotal - > setToolTip(balTotal.toDecimalEURString()); + + } else if (Settings::getInstance() - > get_currency_name() == "BTC") { + ui - > balSheilded - > setToolTip(balZ.toDecimalBTCString()); + ui - > balVerified - > setToolTip(balVerified.toDecimalBTCString()); + ui - > balTransparent - > setToolTip(balT.toDecimalBTCString()); + ui - > balTotal - > setToolTip(balTotal.toDecimalBTCString()); + + } else if (Settings::getInstance() - > get_currency_name() == "CNY") { + ui - > balSheilded - > setToolTip(balZ.toDecimalCNYString()); + ui - > balVerified - > setToolTip(balVerified.toDecimalCNYString()); + ui - > balTransparent - > setToolTip(balT.toDecimalCNYString()); + ui - > balTotal - > setToolTip(balTotal.toDecimalCNYString()); + + } else if (Settings::getInstance() - > get_currency_name() == "RUB") { + ui - > balSheilded - > setToolTip(balZ.toDecimalRUBString()); + ui - > balVerified - > setToolTip(balVerified.toDecimalRUBString()); + ui - > balTransparent - > setToolTip(balT.toDecimalRUBString()); + ui - > balTotal - > setToolTip(balTotal.toDecimalRUBString()); + + } else if (Settings::getInstance() - > get_currency_name() == "CAD") { + ui - > balSheilded - > setToolTip(balZ.toDecimalCADString()); + ui - > balVerified - > setToolTip(balVerified.toDecimalCADString()); + ui - > balTransparent - > setToolTip(balT.toDecimalCADString()); + ui - > balTotal - > setToolTip(balTotal.toDecimalCADString()); + + } else if (Settings::getInstance() - > get_currency_name() == "SGD") { + ui - > balSheilded - > setToolTip(balZ.toDecimalSGDString()); + ui - > balVerified - > setToolTip(balVerified.toDecimalSGDString()); + ui - > balTransparent - > setToolTip(balT.toDecimalSGDString()); + ui - > balTotal - > setToolTip(balTotal.toDecimalSGDString()); + + } else if (Settings::getInstance() - > get_currency_name() == "CHF") { + ui - > balSheilded - > setToolTip(balZ.toDecimalCHFString()); + ui - > balVerified - > setToolTip(balVerified.toDecimalCHFString()); + ui - > balTransparent - > setToolTip(balT.toDecimalCHFString()); + ui - > balTotal - > setToolTip(balTotal.toDecimalCHFString()); + + } else if (Settings::getInstance() - > get_currency_name() == "INR") { + ui - > balSheilded - > setToolTip(balZ.toDecimalINRString()); + ui - > balVerified - > setToolTip(balVerified.toDecimalINRString()); + ui - > balTransparent - > setToolTip(balT.toDecimalINRString()); + ui - > balTotal - > setToolTip(balTotal.toDecimalINRString()); + + } else if (Settings::getInstance() - > get_currency_name() == "GBP") { + ui - > balSheilded - > setToolTip(balZ.toDecimalGBPString()); + ui - > balVerified - > setToolTip(balVerified.toDecimalGBPString()); + ui - > balTransparent - > setToolTip(balT.toDecimalGBPString()); + ui - > balTotal - > setToolTip(balTotal.toDecimalGBPString()); + + } else if (Settings::getInstance() - > get_currency_name() == "AUD") { + ui - > balSheilded - > setToolTip(balZ.toDecimalAUDString()); + ui - > balVerified - > setToolTip(balVerified.toDecimalAUDString()); + ui - > balTransparent - > setToolTip(balT.toDecimalAUDString()); + ui - > balTotal - > setToolTip(balTotal.toDecimalAUDString()); } // Send tab - ui->txtAvailablehush->setText(balAvailable.toDecimalhushString()); + ui - > txtAvailablehush - > setText(balAvailable.toDecimalhushString()); - if (Settings::getInstance()->get_currency_name() == "USD") - ui->txtAvailableUSD->setText(balAvailable.toDecimalUSDString()); + if (Settings::getInstance() - > get_currency_name() == "USD") + ui - > txtAvailableUSD - > setText(balAvailable.toDecimalUSDString()); - else if (Settings::getInstance()->get_currency_name() == "EUR") - ui->txtAvailableUSD->setText(balAvailable.toDecimalEURString()); + else if (Settings::getInstance() - > get_currency_name() == "EUR") + ui - > txtAvailableUSD - > setText(balAvailable.toDecimalEURString()); - else if (Settings::getInstance()->get_currency_name() == "BTC") - ui->txtAvailableUSD->setText(balAvailable.toDecimalBTCString()); + else if (Settings::getInstance() - > get_currency_name() == "BTC") + ui - > txtAvailableUSD - > setText(balAvailable.toDecimalBTCString()); - else if (Settings::getInstance()->get_currency_name() == "CNY") - ui->txtAvailableUSD->setText(balAvailable.toDecimalCNYString()); + else if (Settings::getInstance() - > get_currency_name() == "CNY") + ui - > txtAvailableUSD - > setText(balAvailable.toDecimalCNYString()); - else if (Settings::getInstance()->get_currency_name() == "RUB") - ui->txtAvailableUSD->setText(balAvailable.toDecimalRUBString()); + else if (Settings::getInstance() - > get_currency_name() == "RUB") + ui - > txtAvailableUSD - > setText(balAvailable.toDecimalRUBString()); - else if (Settings::getInstance()->get_currency_name() == "CAD") - ui->txtAvailableUSD->setText(balAvailable.toDecimalCADString()); + else if (Settings::getInstance() - > get_currency_name() == "CAD") + ui - > txtAvailableUSD - > setText(balAvailable.toDecimalCADString()); - else if (Settings::getInstance()->get_currency_name() == "SGD") - ui->txtAvailableUSD->setText(balAvailable.toDecimalSGDString()); + else if (Settings::getInstance() - > get_currency_name() == "SGD") + ui - > txtAvailableUSD - > setText(balAvailable.toDecimalSGDString()); - else if (Settings::getInstance()->get_currency_name() == "CHF") - ui->txtAvailableUSD->setText(balAvailable.toDecimalCHFString()); + else if (Settings::getInstance() - > get_currency_name() == "CHF") + ui - > txtAvailableUSD - > setText(balAvailable.toDecimalCHFString()); - else if (Settings::getInstance()->get_currency_name() == "INR") - ui->txtAvailableUSD->setText(balAvailable.toDecimalINRString()); + else if (Settings::getInstance() - > get_currency_name() == "INR") + ui - > txtAvailableUSD - > setText(balAvailable.toDecimalINRString()); - else if (Settings::getInstance()->get_currency_name() == "GBP") - ui->txtAvailableUSD->setText(balAvailable.toDecimalGBPString()); + else if (Settings::getInstance() - > get_currency_name() == "GBP") + ui - > txtAvailableUSD - > setText(balAvailable.toDecimalGBPString()); - else if (Settings::getInstance()->get_currency_name() == "AUD") - ui->txtAvailableUSD->setText(balAvailable.toDecimalAUDString()); + else if (Settings::getInstance() - > get_currency_name() == "AUD") + ui - > txtAvailableUSD - > setText(balAvailable.toDecimalAUDString()); } -void Controller::refreshBalances() -{ - if (!zrpc->haveConnection()) +void Controller::refreshBalances() { + if (!zrpc - > haveConnection()) return noConnection(); // 1. Get the Balances - zrpc->fetchBalance([=] (json reply) { - CAmount balT = CAmount::fromqint64(reply["tbalance"].get()); - CAmount balZ = CAmount::fromqint64(reply["zbalance"].get()); - CAmount balVerified = CAmount::fromqint64(reply["verified_zbalance"].get()); - - model->setBalT(balT); - model->setBalZ(balZ); - model->setBalVerified(balVerified); + zrpc - > fetchBalance([ = ](json reply) { + CAmount balT = CAmount::fromqint64(reply["tbalance"].get < json::number_unsigned_t > ()); + CAmount balZ = CAmount::fromqint64(reply["zbalance"].get < json::number_unsigned_t > ()); + CAmount balVerified = CAmount::fromqint64(reply["verified_zbalance"].get < json::number_unsigned_t > ()); + + model - > setBalT(balT); + model - > setBalZ(balZ); + model - > setBalVerified(balVerified); // This is for the websockets - AppDataModel::getInstance()->setBalances(balT, balZ); - + AppDataModel::getInstance() - > setBalances(balT, balZ); + // This is for the datamodel CAmount balAvailable = balT + balVerified; - model->setAvailableBalance(balAvailable); + model - > setAvailableBalance(balAvailable); updateUIBalances(); }); // 2. Get the UTXOs // First, create a new UTXO list. It will be replacing the existing list when everything is processed. - auto newUnspentOutputs = new QList(); - auto newBalances = new QMap(); + auto newUnspentOutputs = new QList < UnspentOutput > (); + auto newBalances = new QMap < QString, CAmount > (); // Call the Transparent and Z unspent APIs serially and then, once they're done, update the UI - zrpc->fetchUnspent([=] (json reply) { + zrpc - > fetchUnspent([ = ](json reply) { processUnspent(reply, newBalances, newUnspentOutputs); // Swap out the balances and UTXOs - model->replaceBalances(newBalances); - model->replaceUTXOs(newUnspentOutputs); + model - > replaceBalances(newBalances); + model - > replaceUTXOs(newUnspentOutputs); // Find if any output is not spendable or is pending bool anyUnconfirmed = std::find_if( - newUnspentOutputs->constBegin(), - newUnspentOutputs->constEnd(), - [=](const UnspentOutput& u) -> bool { - return !u.spendable || u.pending; + newUnspentOutputs - > constBegin(), + newUnspentOutputs - > constEnd(), + [ = ](const UnspentOutput & u) - > bool { + return !u.spendable || u.pending; } - ) != newUnspentOutputs->constEnd(); + ) != newUnspentOutputs - > constEnd(); updateUI(anyUnconfirmed); - main->balancesReady(); + main - > balancesReady(); }); } -void Controller::refreshTransactions() { - if (!zrpc->haveConnection()) +void Controller::refreshTransactions() { + if (!zrpc - > haveConnection()) return noConnection(); - zrpc->fetchTransactions([=] (json reply) { - QList txdata; + zrpc - > fetchTransactions([ = ](json reply) { + QList < TransactionItem > txdata; - for (auto& it : reply.get()) { + for (auto & it: reply.get < json::array_t > ()) { QString address; CAmount total_amount; - QList items; + QList < TransactionItemDetail > items; long confirmations; - if (it.find("unconfirmed") != it.end() && it["unconfirmed"].get()) { + if (it.find("unconfirmed") != it.end() && it["unconfirmed"].get < json::boolean_t > ()) { confirmations = 0; } else { - confirmations = model->getLatestBlock() - it["block_height"].get() + 1; + confirmations = model - > getLatestBlock() - it["block_height"].get < json::number_integer_t > () + 1; } - + auto txid = QString::fromStdString(it["txid"]); - auto datetime = it["datetime"].get(); - + auto datetime = it["datetime"].get < json::number_integer_t > (); + // First, check if there's outgoing metadata if (!it["outgoing_metadata"].is_null()) { - - for (auto o: it["outgoing_metadata"].get()) { - - QString address; - + + for (auto o: it["outgoing_metadata"].get < json::array_t > ()) { + + QString address; address = QString::fromStdString(o["address"]); - + // Sent items are -ve - CAmount amount = CAmount::fromqint64(-1* o["value"].get()); - - // Check for Memos - + CAmount amount = CAmount::fromqint64(-1 * o["value"].get < json::number_unsigned_t > ()); + + // Check for Memos + QString memo; if (!o["memo"].is_null()) { memo = QString::fromStdString(o["memo"]); - - QString cid; + QString cid; ChatItem item = ChatItem( - datetime, - address, - QString(""), - memo, - QString(""), - QString(""), - cid, - txid, - true - ); - qDebug()<<"Memo : " <setData(ChatIDGenerator::getInstance()->generateID(item), item); - - } - - items.push_back(TransactionItemDetail{address, amount, memo}); + datetime, + address, + QString(""), + memo, + QString(""), + QString(""), + cid, + txid, + true + ); + qDebug() << "Memo : " << memo; + + DataStore::getChatDataStore() - > setData(ChatIDGenerator::getInstance() - > generateID(item), item); + + } + + items.push_back(TransactionItemDetail { + address, + amount, + memo + }); total_amount = total_amount + amount; } - { - QList addresses; - for (auto item : items) { - // Concat all the addresses - - - addresses.push_back(item.address); - address = addresses.join(","); + QList < QString > addresses; + for (auto item: items) { + // Concat all the addresses + + addresses.push_back(item.address); + address = addresses.join(","); } - - } - - txdata.push_back(TransactionItem{ - "send", datetime, address, txid,confirmations, items + + } + + txdata.push_back(TransactionItem { + "send", + datetime, + address, + txid, + confirmations, + items }); - + } else { // Incoming Transaction address = (it["address"].is_null() ? "" : QString::fromStdString(it["address"])); - model->markAddressUsed(address); + model - > markAddressUsed(address); QString memo; - QString test; if (!it["memo"].is_null()) { memo = QString::fromStdString(it["memo"]); } - items.push_back(TransactionItemDetail{ + items.push_back(TransactionItemDetail { address, - CAmount::fromqint64(it["amount"].get()), + CAmount::fromqint64(it["amount"].get < json::number_integer_t > ()), memo }); - - TransactionItem tx{ - "Receive", datetime, address, txid,confirmations, items + TransactionItem tx { + "Receive", + datetime, + address, + txid, + confirmations, + items }; txdata.push_back(tx); - - QString type; - QString cid; - // int position; - QString requestZaddr; - - if ((memo.startsWith("{")) && (!it["memo"].is_null())) { - QJsonDocument headermemo = QJsonDocument::fromJson(memo.toUtf8()); + QString type; + QString cid; + int position; + QString requestZaddr; - cid = headermemo["cid"].toString(); - type = headermemo["t"].toString(); - requestZaddr = headermemo["z"].toString(); + if (!it["memo"].is_null()) { - chatModel->addCid(txid, cid); - chatModel->addrequestZaddr(txid, requestZaddr); + if (memo.startsWith("{")) { - // } - - if (chatModel->getCidByTx(txid) != QString("0xdeadbeef")){ + QJsonDocument headermemo = QJsonDocument::fromJson(memo.toUtf8()); - cid = chatModel->getCidByTx(txid); + cid = headermemo["cid"].toString(); + type = headermemo["t"].toString(); + requestZaddr = headermemo["z"].toString(); - } - else{ + chatModel - > addCid(txid, cid); + chatModel - > addrequestZaddr(txid, requestZaddr); - cid = ""; } - - if (chatModel->getrequestZaddrByTx(txid) != QString("0xdeadbeef")){ - requestZaddr = chatModel->getrequestZaddrByTx(txid); + if (chatModel - > getCidByTx(txid) != QString("0xdeadbeef")) { - } - - else{ - requestZaddr = ""; - } - - - // position = it["position"].get(); + cid = chatModel - > getCidByTx(txid); + + } else { + cid = ""; + } + if (chatModel - > getrequestZaddrByTx(txid) != QString("0xdeadbeef")) { + + requestZaddr = chatModel - > getrequestZaddrByTx(txid); + } else { + requestZaddr = ""; + } + position = it["position"].get < json::number_integer_t > (); ChatItem item = ChatItem( - datetime, - address, - QString(""), - memo, - requestZaddr, - type, - cid, - txid, - false - ); - qDebug()<<"CID : " <setData(ChatIDGenerator::getInstance()->generateID(item), item); - } + datetime, + address, + QString(""), + memo, + requestZaddr, + type, + cid, + txid, + false + ); + qDebug() << "Position : " << position; + + DataStore::getChatDataStore() - > setData(ChatIDGenerator::getInstance() - > generateID(item), item); + } } - + } // Calculate the total unspent amount that's pending. This will need to be // shown in the UI so the user can keep track of pending funds CAmount totalPending; - for (auto txitem : txdata) { + for (auto txitem: txdata) { if (txitem.confirmations == 0) { for (auto item: txitem.items) { totalPending = totalPending + item.amount; } } } - getModel()->setTotalPending(totalPending); + getModel() - > setTotalPending(totalPending); // Update UI Balance updateUIBalances(); - // Update model data, which updates the table view - transactionsTableModel->replaceData(txdata); - chat->renderChatBox(ui, ui->listChat); + // Update model data, which updates the table view + transactionsTableModel - > replaceData(txdata); + chat - > renderChatBox(ui, ui - > listChat); refreshContacts( - ui->listContactWidget - + ui - > listContactWidget + ); - }); + }); } -void Controller::refreshChat(QListView *listWidget) -{ - chat->renderChatBox(ui, listWidget); - +void Controller::refreshChat(QListView * listWidget) { + chat - > renderChatBox(ui, listWidget); + } -void Controller::refreshContacts(QListView *listWidget) -{ - contactModel->renderContactList(listWidget); +void Controller::refreshContacts(QListView * listWidget) { + contactModel - > renderContactList(listWidget); } // If the wallet is encrpyted and locked, we need to unlock it -void Controller::unlockIfEncrypted(std::function cb, std::function error) -{ - auto encStatus = getModel()->getEncryptionStatus(); - if (encStatus.first && encStatus.second) - { +void Controller::unlockIfEncrypted(std:: function < void(void) > cb, std:: function < void(void) > error) { + auto encStatus = getModel() - > getEncryptionStatus(); + if (encStatus.first && encStatus.second) { // Wallet is encrypted and locked. Ask for the password and unlock. QString password = QInputDialog::getText( - main, - main->tr("Wallet Password"), - main->tr("Your wallet is encrypted.\nPlease enter your wallet password"), + main, + main - > tr("Wallet Password"), + main - > tr("Your wallet is encrypted.\nPlease enter your wallet password"), QLineEdit::Password ); - if (password.isEmpty()) - { + if (password.isEmpty()) { QMessageBox::critical( - main, - main->tr("Wallet Decryption Failed"), - main->tr("Please enter a valid password"), + main, + main - > tr("Wallet Decryption Failed"), + main - > tr("Please enter a valid password"), QMessageBox::Ok ); error(); return; } - zrpc->unlockWallet(password, [=](json reply) { - if (isJsonResultSuccess(reply)) - { + zrpc - > unlockWallet(password, [ = ](json reply) { + if (isJsonResultSuccess(reply)) { cb(); // Refresh the wallet so the encryption status is now in sync. refresh(true); - } - else - { + } else { QMessageBox::critical( - main, - main->tr("Wallet Decryption Failed"), - QString::fromStdString(reply["error"].get()), + main, + main - > tr("Wallet Decryption Failed"), + QString::fromStdString(reply["error"].get < json::string_t > ()), QMessageBox::Ok ); error(); } }); - } - else - { + } else { // Not locked, so just call the function cb(); } @@ -1087,86 +1023,75 @@ void Controller::unlockIfEncrypted(std::function cb, std::functionstatusBar->showMessage(Settings::txidStatusMessage + " " + txid); +void Controller::executeStandardUITransaction(Tx tx) { + executeTransaction(tx, [ = ](QString txid) { + ui - > statusBar - > showMessage(Settings::txidStatusMessage + " " + txid); }, - [=] (QString opid, QString errStr) { - ui->statusBar->showMessage( + [ = ](QString opid, QString errStr) { + ui - > statusBar - > showMessage( QObject::tr(" Tx ") % opid % QObject::tr(" failed"), 15 * 1000 ); if (!opid.isEmpty()) - errStr = QObject::tr("The transaction with id ") % opid % QObject::tr(" failed. The error was") + ":\n\n" + errStr; + errStr = QObject::tr("The transaction with id ") % opid % QObject::tr(" failed. The error was") + ":\n\n" + errStr; QMessageBox::critical( - main, - QObject::tr("Transaction Error"), - errStr, + main, + QObject::tr("Transaction Error"), + errStr, QMessageBox::Ok - ); + ); } ); } - // Execute a transaction! -void Controller::executeTransaction(Tx tx, - const std::function submitted, - const std::function error) -{ - unlockIfEncrypted([=] () { +void Controller::executeTransaction(Tx tx, + const std:: function < void(QString txid) > submitted, + const std:: function < void(QString txid, QString errStr) > error) { + unlockIfEncrypted([ = ]() { // First, create the json params json params = json::array(); fillTxJsonParams(params, tx); std::cout << std::setw(2) << params << std::endl; - zrpc->sendTransaction(QString::fromStdString(params.dump()), [=](const json& reply) { - if (reply.find("txid") == reply.end()) - { - error("", "Couldn't understand Response: " + QString::fromStdString(reply.dump())); - } - else - { - QString txid = QString::fromStdString(reply["txid"].get()); - submitted(txid); - } - }, - [=](QString errStr) { - error("", errStr); - }); - }, [=]() { - error("", main->tr("Failed to unlock wallet")); + zrpc - > sendTransaction(QString::fromStdString(params.dump()), [ = ](const json & reply) { + if (reply.find("txid") == reply.end()) { + error("", "Couldn't understand Response: " + QString::fromStdString(reply.dump())); + } else { + QString txid = QString::fromStdString(reply["txid"].get < json::string_t > ()); + submitted(txid); + } + }, + [ = ](QString errStr) { + error("", errStr); + }); + }, [ = ]() { + error("", main - > tr("Failed to unlock wallet")); }); } - -void Controller::checkForUpdate(bool silent) -{ - if (!zrpc->haveConnection()) +void Controller::checkForUpdate(bool silent) { + if (!zrpc - > haveConnection()) return noConnection(); QUrl cmcURL("https://api.github.com/repos/MyHush/SilentDragonLite/releases"); QNetworkRequest req; req.setUrl(cmcURL); - - QNetworkAccessManager *manager = new QNetworkAccessManager(this->main); - QNetworkReply *reply = manager->get(req); - QObject::connect(reply, &QNetworkReply::finished, [=] { - reply->deleteLater(); - manager->deleteLater(); + QNetworkAccessManager * manager = new QNetworkAccessManager(this - > main); + QNetworkReply * reply = manager - > get(req); - try - { - if (reply->error() == QNetworkReply::NoError) - { - auto releases = QJsonDocument::fromJson(reply->readAll()).array(); + QObject::connect(reply, & QNetworkReply::finished, [ = ] { + reply - > deleteLater(); + manager - > deleteLater(); + + try { + if (reply - > error() == QNetworkReply::NoError) { + auto releases = QJsonDocument::fromJson(reply - > readAll()).array(); QVersionNumber maxVersion(0, 0, 0); - for (QJsonValue rel : releases) - { + for (QJsonValue rel: releases) { if (!rel.toObject().contains("tag_name")) continue; @@ -1174,8 +1099,7 @@ void Controller::checkForUpdate(bool silent) if (tag.startsWith("v")) tag = tag.right(tag.length() - 1); - if (!tag.isEmpty()) - { + if (!tag.isEmpty()) { auto v = QVersionNumber::fromString(tag); if (v > maxVersion) maxVersion = v; @@ -1183,418 +1107,367 @@ void Controller::checkForUpdate(bool silent) } auto currentVersion = QVersionNumber::fromString(APP_VERSION); - + // Get the max version that the user has hidden updates for QSettings s; auto maxHiddenVersion = QVersionNumber::fromString( - s.value("update/lastversion", "0.0.0" - ).toString()); + s.value("update/lastversion", "0.0.0").toString()); qDebug() << "Version check: Current " << currentVersion << ", Available " << maxVersion; - if (maxVersion > currentVersion && (!silent || maxVersion > maxHiddenVersion)) - { - auto ans = QMessageBox::information(main, QObject::tr("Update Available"), + if (maxVersion > currentVersion && (!silent || maxVersion > maxHiddenVersion)) { + auto ans = QMessageBox::information(main, QObject::tr("Update Available"), QObject::tr("A new release v%1 is available! You have v%2.\n\nWould you like to visit the releases page?") - .arg(maxVersion.toString()) - .arg(currentVersion.toString()), + .arg(maxVersion.toString()) + .arg(currentVersion.toString()), QMessageBox::Yes, QMessageBox::Cancel); - if (ans == QMessageBox::Yes) - { + if (ans == QMessageBox::Yes) { QDesktopServices::openUrl(QUrl("https://github.com/MyHush/SilentDragonLite/releases")); - } - else - { + } else { // If the user selects cancel, don't bother them again for this version s.setValue("update/lastversion", maxVersion.toString()); } - } - else - { - if (!silent) - { - QMessageBox::information(main, QObject::tr("No updates available"), + } else { + if (!silent) { + QMessageBox::information(main, QObject::tr("No updates available"), QObject::tr("You already have the latest release v%1") - .arg(currentVersion.toString())); + .arg(currentVersion.toString())); } - } + } } - } - catch (...) - { + } catch (...) { // If anything at all goes wrong, just set the price to 0 and move on. qDebug() << QString("Caught something nasty"); - } + } }); } // Get the hush->USD price from coinmarketcap using their API -void Controller::refreshZECPrice() -{ - if (!zrpc->haveConnection()) +void Controller::refreshZECPrice() { + if (!zrpc - > haveConnection()) return noConnection(); - // TODO: use/render all this data + // TODO: use/render all this data QUrl cmcURL("https://api.coingecko.com/api/v3/simple/price?ids=hush&vs_currencies=btc%2Cusd%2Ceur%2Ceth%2Cgbp%2Ccny%2Cjpy%2Crub%2Ccad%2Csgd%2Cchf%2Cinr%2Caud%2Cinr&include_market_cap=true&include_24hr_vol=true&include_24hr_change=true"); - + QNetworkRequest req; req.setUrl(cmcURL); - QNetworkAccessManager *manager = new QNetworkAccessManager(this->main); - QNetworkReply *reply = manager->get(req); - QObject::connect(reply, &QNetworkReply::finished, [=] { - reply->deleteLater(); - manager->deleteLater(); - - try - { - if (reply->error() != QNetworkReply::NoError) - { - auto parsed = json::parse(reply->readAll(), nullptr, false); - if (!parsed.is_discarded() && !parsed["error"]["message"].is_null()) + QNetworkAccessManager * manager = new QNetworkAccessManager(this - > main); + QNetworkReply * reply = manager - > get(req); + QObject::connect(reply, & QNetworkReply::finished, [ = ] { + reply - > deleteLater(); + manager - > deleteLater(); + + try { + if (reply - > error() != QNetworkReply::NoError) { + auto parsed = json::parse(reply - > readAll(), nullptr, false); + if (!parsed.is_discarded() && !parsed["error"]["message"].is_null()) qDebug() << QString::fromStdString(parsed["error"]["message"]); else - qDebug() << reply->errorString(); - - Settings::getInstance()->setZECPrice(0); - Settings::getInstance()->setEURPrice(0); - Settings::getInstance()->setBTCPrice(0); - Settings::getInstance()->setCNYPrice(0); - Settings::getInstance()->setRUBPrice(0); - Settings::getInstance()->setCADPrice(0); - Settings::getInstance()->setSGDPrice(0); - Settings::getInstance()->setCHFPrice(0); - Settings::getInstance()->setGBPPrice(0); - Settings::getInstance()->setAUDPrice(0); - Settings::getInstance()->setINRPrice(0); - Settings::getInstance()->setUSDVolume(0); - Settings::getInstance()->setEURVolume(0); - Settings::getInstance()->setBTCVolume(0); - Settings::getInstance()->setCNYVolume(0); - Settings::getInstance()->setRUBVolume(0); - Settings::getInstance()->setCADVolume(0); - Settings::getInstance()->setINRVolume(0); - Settings::getInstance()->setSGDVolume(0); - Settings::getInstance()->setCHFVolume(0); - Settings::getInstance()->setGBPVolume(0); - Settings::getInstance()->setAUDVolume(0); - Settings::getInstance()->setUSDCAP(0); - Settings::getInstance()->setEURCAP(0); - Settings::getInstance()->setBTCCAP(0); - Settings::getInstance()->setCNYCAP(0); - Settings::getInstance()->setRUBCAP(0); - Settings::getInstance()->setCADCAP(0); - Settings::getInstance()->setINRCAP(0); - Settings::getInstance()->setSGDCAP(0); - Settings::getInstance()->setCHFCAP(0); - Settings::getInstance()->setGBPCAP(0); - Settings::getInstance()->setAUDCAP(0); + qDebug() << reply - > errorString(); + + Settings::getInstance() - > setZECPrice(0); + Settings::getInstance() - > setEURPrice(0); + Settings::getInstance() - > setBTCPrice(0); + Settings::getInstance() - > setCNYPrice(0); + Settings::getInstance() - > setRUBPrice(0); + Settings::getInstance() - > setCADPrice(0); + Settings::getInstance() - > setSGDPrice(0); + Settings::getInstance() - > setCHFPrice(0); + Settings::getInstance() - > setGBPPrice(0); + Settings::getInstance() - > setAUDPrice(0); + Settings::getInstance() - > setINRPrice(0); + Settings::getInstance() - > setUSDVolume(0); + Settings::getInstance() - > setEURVolume(0); + Settings::getInstance() - > setBTCVolume(0); + Settings::getInstance() - > setCNYVolume(0); + Settings::getInstance() - > setRUBVolume(0); + Settings::getInstance() - > setCADVolume(0); + Settings::getInstance() - > setINRVolume(0); + Settings::getInstance() - > setSGDVolume(0); + Settings::getInstance() - > setCHFVolume(0); + Settings::getInstance() - > setGBPVolume(0); + Settings::getInstance() - > setAUDVolume(0); + Settings::getInstance() - > setUSDCAP(0); + Settings::getInstance() - > setEURCAP(0); + Settings::getInstance() - > setBTCCAP(0); + Settings::getInstance() - > setCNYCAP(0); + Settings::getInstance() - > setRUBCAP(0); + Settings::getInstance() - > setCADCAP(0); + Settings::getInstance() - > setINRCAP(0); + Settings::getInstance() - > setSGDCAP(0); + Settings::getInstance() - > setCHFCAP(0); + Settings::getInstance() - > setGBPCAP(0); + Settings::getInstance() - > setAUDCAP(0); return; } qDebug() << "No network errors"; - auto all = reply->readAll(); + auto all = reply - > readAll(); auto parsed = json::parse(all, nullptr, false); - if (parsed.is_discarded()) - { - Settings::getInstance()->setZECPrice(0); - Settings::getInstance()->setEURPrice(0); - Settings::getInstance()->setBTCPrice(0); - Settings::getInstance()->setCNYPrice(0); - Settings::getInstance()->setRUBPrice(0); - Settings::getInstance()->setCADPrice(0); - Settings::getInstance()->setSGDPrice(0); - Settings::getInstance()->setCHFPrice(0); - Settings::getInstance()->setGBPPrice(0); - Settings::getInstance()->setAUDPrice(0); - Settings::getInstance()->setINRPrice(0); - Settings::getInstance()->setUSDVolume(0); - Settings::getInstance()->setEURVolume(0); - Settings::getInstance()->setBTCVolume(0); - Settings::getInstance()->setCNYVolume(0); - Settings::getInstance()->setRUBVolume(0); - Settings::getInstance()->setCADVolume(0); - Settings::getInstance()->setINRVolume(0); - Settings::getInstance()->setSGDVolume(0); - Settings::getInstance()->setCHFVolume(0); - Settings::getInstance()->setGBPVolume(0); - Settings::getInstance()->setAUDVolume(0); - Settings::getInstance()->setUSDCAP(0); - Settings::getInstance()->setEURCAP(0); - Settings::getInstance()->setBTCCAP(0); - Settings::getInstance()->setCNYCAP(0); - Settings::getInstance()->setRUBCAP(0); - Settings::getInstance()->setCADCAP(0); - Settings::getInstance()->setINRCAP(0); - Settings::getInstance()->setSGDCAP(0); - Settings::getInstance()->setCHFCAP(0); - Settings::getInstance()->setGBPCAP(0); - Settings::getInstance()->setAUDCAP(0); + if (parsed.is_discarded()) { + Settings::getInstance() - > setZECPrice(0); + Settings::getInstance() - > setEURPrice(0); + Settings::getInstance() - > setBTCPrice(0); + Settings::getInstance() - > setCNYPrice(0); + Settings::getInstance() - > setRUBPrice(0); + Settings::getInstance() - > setCADPrice(0); + Settings::getInstance() - > setSGDPrice(0); + Settings::getInstance() - > setCHFPrice(0); + Settings::getInstance() - > setGBPPrice(0); + Settings::getInstance() - > setAUDPrice(0); + Settings::getInstance() - > setINRPrice(0); + Settings::getInstance() - > setUSDVolume(0); + Settings::getInstance() - > setEURVolume(0); + Settings::getInstance() - > setBTCVolume(0); + Settings::getInstance() - > setCNYVolume(0); + Settings::getInstance() - > setRUBVolume(0); + Settings::getInstance() - > setCADVolume(0); + Settings::getInstance() - > setINRVolume(0); + Settings::getInstance() - > setSGDVolume(0); + Settings::getInstance() - > setCHFVolume(0); + Settings::getInstance() - > setGBPVolume(0); + Settings::getInstance() - > setAUDVolume(0); + Settings::getInstance() - > setUSDCAP(0); + Settings::getInstance() - > setEURCAP(0); + Settings::getInstance() - > setBTCCAP(0); + Settings::getInstance() - > setCNYCAP(0); + Settings::getInstance() - > setRUBCAP(0); + Settings::getInstance() - > setCADCAP(0); + Settings::getInstance() - > setINRCAP(0); + Settings::getInstance() - > setSGDCAP(0); + Settings::getInstance() - > setCHFCAP(0); + Settings::getInstance() - > setGBPCAP(0); + Settings::getInstance() - > setAUDCAP(0); return; } qDebug() << "Parsed JSON"; - const json& item = parsed.get(); - const json& hush = item["hush"].get(); + const json & item = parsed.get < json::object_t > (); + const json & hush = item["hush"].get < json::object_t > (); - if (hush["usd"] >= 0) - { + if (hush["usd"] >= 0) { qDebug() << "Found hush key in price json"; - qDebug() << "HUSH = $" << QString::number((double)hush["usd"]); - Settings::getInstance()->setZECPrice( hush["usd"] ); + qDebug() << "HUSH = $" << QString::number((double) hush["usd"]); + Settings::getInstance() - > setZECPrice(hush["usd"]); } - if (hush["eur"] >= 0) - { - qDebug() << "HUSH = €" << QString::number((double)hush["eur"]); - Settings::getInstance()->setEURPrice(hush["eur"]); + if (hush["eur"] >= 0) { + qDebug() << "HUSH = €" << QString::number((double) hush["eur"]); + Settings::getInstance() - > setEURPrice(hush["eur"]); } - if (hush["btc"] >= 0) - { - qDebug() << "HUSH = BTC" << QString::number((double)hush["btc"]); - Settings::getInstance()->setBTCPrice( hush["btc"]); + if (hush["btc"] >= 0) { + qDebug() << "HUSH = BTC" << QString::number((double) hush["btc"]); + Settings::getInstance() - > setBTCPrice(hush["btc"]); } - if (hush["cny"] >= 0) - { - qDebug() << "HUSH = CNY" << QString::number((double)hush["cny"]); - Settings::getInstance()->setCNYPrice( hush["cny"]); + if (hush["cny"] >= 0) { + qDebug() << "HUSH = CNY" << QString::number((double) hush["cny"]); + Settings::getInstance() - > setCNYPrice(hush["cny"]); } - if (hush["rub"] >= 0) - { - qDebug() << "HUSH = RUB" << QString::number((double)hush["rub"]); - Settings::getInstance()->setRUBPrice( hush["rub"]); + if (hush["rub"] >= 0) { + qDebug() << "HUSH = RUB" << QString::number((double) hush["rub"]); + Settings::getInstance() - > setRUBPrice(hush["rub"]); } - if (hush["cad"] >= 0) - { - qDebug() << "HUSH = CAD" << QString::number((double)hush["cad"]); - Settings::getInstance()->setCADPrice( hush["cad"]); + if (hush["cad"] >= 0) { + qDebug() << "HUSH = CAD" << QString::number((double) hush["cad"]); + Settings::getInstance() - > setCADPrice(hush["cad"]); } - if (hush["sgd"] >= 0) - { - qDebug() << "HUSH = SGD" << QString::number((double)hush["sgd"]); - Settings::getInstance()->setSGDPrice( hush["sgd"]); + if (hush["sgd"] >= 0) { + qDebug() << "HUSH = SGD" << QString::number((double) hush["sgd"]); + Settings::getInstance() - > setSGDPrice(hush["sgd"]); } - if (hush["chf"] >= 0) - { - qDebug() << "HUSH = CHF" << QString::number((double)hush["chf"]); - Settings::getInstance()->setCHFPrice( hush["chf"]); + if (hush["chf"] >= 0) { + qDebug() << "HUSH = CHF" << QString::number((double) hush["chf"]); + Settings::getInstance() - > setCHFPrice(hush["chf"]); } - if (hush["inr"] >= 0) - { - qDebug() << "HUSH = INR" << QString::number((double)hush["inr"]); - Settings::getInstance()->setINRPrice( hush["inr"]); + if (hush["inr"] >= 0) { + qDebug() << "HUSH = INR" << QString::number((double) hush["inr"]); + Settings::getInstance() - > setINRPrice(hush["inr"]); } - if (hush["gbp"] >= 0) - { - qDebug() << "HUSH = GBP" << QString::number((double)hush["gbp"]); - Settings::getInstance()->setGBPPrice( hush["gbp"]); + if (hush["gbp"] >= 0) { + qDebug() << "HUSH = GBP" << QString::number((double) hush["gbp"]); + Settings::getInstance() - > setGBPPrice(hush["gbp"]); } - if (hush["aud"] >= 0) - { - qDebug() << "HUSH = AUD" << QString::number((double)hush["aud"]); - Settings::getInstance()->setAUDPrice( hush["aud"]); + if (hush["aud"] >= 0) { + qDebug() << "HUSH = AUD" << QString::number((double) hush["aud"]); + Settings::getInstance() - > setAUDPrice(hush["aud"]); } - if (hush["btc_24h_vol"] >= 0) - { - qDebug() << "HUSH = usd_24h_vol" << QString::number((double)hush["usd_24h_vol"]); - Settings::getInstance()->setUSDVolume( hush["usd_24h_vol"]); + if (hush["btc_24h_vol"] >= 0) { + qDebug() << "HUSH = usd_24h_vol" << QString::number((double) hush["usd_24h_vol"]); + Settings::getInstance() - > setUSDVolume(hush["usd_24h_vol"]); } - if (hush["btc_24h_vol"] >= 0) - { - qDebug() << "HUSH = euro_24h_vol" << QString::number((double)hush["eur_24h_vol"]); - Settings::getInstance()->setEURVolume( hush["eur_24h_vol"]); + if (hush["btc_24h_vol"] >= 0) { + qDebug() << "HUSH = euro_24h_vol" << QString::number((double) hush["eur_24h_vol"]); + Settings::getInstance() - > setEURVolume(hush["eur_24h_vol"]); } - if (hush["btc_24h_vol"] >= 0) - { - qDebug() << "HUSH = btc_24h_vol" << QString::number((double)hush["btc_24h_vol"]); - Settings::getInstance()->setBTCVolume( hush["btc_24h_vol"]); + if (hush["btc_24h_vol"] >= 0) { + qDebug() << "HUSH = btc_24h_vol" << QString::number((double) hush["btc_24h_vol"]); + Settings::getInstance() - > setBTCVolume(hush["btc_24h_vol"]); } - - if (hush["cny_24h_vol"] >= 0) - { - qDebug() << "HUSH = cny_24h_vol" << QString::number((double)hush["cny_24h_vol"]); - Settings::getInstance()->setCNYVolume( hush["cny_24h_vol"]); + + if (hush["cny_24h_vol"] >= 0) { + qDebug() << "HUSH = cny_24h_vol" << QString::number((double) hush["cny_24h_vol"]); + Settings::getInstance() - > setCNYVolume(hush["cny_24h_vol"]); } - if (hush["rub_24h_vol"] >= 0) - { - qDebug() << "HUSH = rub_24h_vol" << QString::number((double)hush["rub_24h_vol"]); - Settings::getInstance()->setRUBVolume( hush["rub_24h_vol"]); + if (hush["rub_24h_vol"] >= 0) { + qDebug() << "HUSH = rub_24h_vol" << QString::number((double) hush["rub_24h_vol"]); + Settings::getInstance() - > setRUBVolume(hush["rub_24h_vol"]); } - - if (hush["cad_24h_vol"] >= 0) - { - qDebug() << "HUSH = cad_24h_vol" << QString::number((double)hush["cad_24h_vol"]); - Settings::getInstance()->setCADVolume( hush["cad_24h_vol"]); + + if (hush["cad_24h_vol"] >= 0) { + qDebug() << "HUSH = cad_24h_vol" << QString::number((double) hush["cad_24h_vol"]); + Settings::getInstance() - > setCADVolume(hush["cad_24h_vol"]); } - if (hush["sgd_24h_vol"] >= 0) - { - qDebug() << "HUSH = sgd_24h_vol" << QString::number((double)hush["sgd_24h_vol"]); - Settings::getInstance()->setSGDVolume( hush["sgd_24h_vol"]); + if (hush["sgd_24h_vol"] >= 0) { + qDebug() << "HUSH = sgd_24h_vol" << QString::number((double) hush["sgd_24h_vol"]); + Settings::getInstance() - > setSGDVolume(hush["sgd_24h_vol"]); } - if (hush["chf_24h_vol"] >= 0) - { - qDebug() << "HUSH = chf_24h_vol" << QString::number((double)hush["chf_24h_vol"]); - Settings::getInstance()->setCHFVolume( hush["chf_24h_vol"]); + if (hush["chf_24h_vol"] >= 0) { + qDebug() << "HUSH = chf_24h_vol" << QString::number((double) hush["chf_24h_vol"]); + Settings::getInstance() - > setCHFVolume(hush["chf_24h_vol"]); } - if (hush["inr_24h_vol"] >= 0) - { - qDebug() << "HUSH = inr_24h_vol" << QString::number((double)hush["inr_24h_vol"]); - Settings::getInstance()->setINRVolume( hush["inr_24h_vol"]); + if (hush["inr_24h_vol"] >= 0) { + qDebug() << "HUSH = inr_24h_vol" << QString::number((double) hush["inr_24h_vol"]); + Settings::getInstance() - > setINRVolume(hush["inr_24h_vol"]); } - if (hush["gbp_24h_vol"] >= 0) - { - qDebug() << "HUSH = gbp_24h_vol" << QString::number((double)hush["gbp_24h_vol"]); - Settings::getInstance()->setGBPVolume( hush["gbp_24h_vol"]); + if (hush["gbp_24h_vol"] >= 0) { + qDebug() << "HUSH = gbp_24h_vol" << QString::number((double) hush["gbp_24h_vol"]); + Settings::getInstance() - > setGBPVolume(hush["gbp_24h_vol"]); } - if (hush["aud_24h_vol"] >= 0) - { - qDebug() << "HUSH = aud_24h_vol" << QString::number((double)hush["aud_24h_vol"]); - Settings::getInstance()->setAUDVolume( hush["aud_24h_vol"]); + if (hush["aud_24h_vol"] >= 0) { + qDebug() << "HUSH = aud_24h_vol" << QString::number((double) hush["aud_24h_vol"]); + Settings::getInstance() - > setAUDVolume(hush["aud_24h_vol"]); } - if (hush["usd_market_cap"] >= 0) - { - qDebug() << "HUSH = usd_market_cap" << QString::number((double)hush["usd_market_cap"]); - Settings::getInstance()->setUSDCAP( hush["usd_market_cap"]); + if (hush["usd_market_cap"] >= 0) { + qDebug() << "HUSH = usd_market_cap" << QString::number((double) hush["usd_market_cap"]); + Settings::getInstance() - > setUSDCAP(hush["usd_market_cap"]); } - if (hush["eur_market_cap"] >= 0) - { - qDebug() << "HUSH = eur_market_cap" << QString::number((double)hush["eur_market_cap"]); - Settings::getInstance()->setEURCAP( hush["eur_market_cap"]); + if (hush["eur_market_cap"] >= 0) { + qDebug() << "HUSH = eur_market_cap" << QString::number((double) hush["eur_market_cap"]); + Settings::getInstance() - > setEURCAP(hush["eur_market_cap"]); } - if (hush["btc_market_cap"] >= 0) - { - qDebug() << "HUSH = btc_market_cap" << QString::number((double)hush["btc_market_cap"]); - Settings::getInstance()->setBTCCAP( hush["btc_market_cap"]); + if (hush["btc_market_cap"] >= 0) { + qDebug() << "HUSH = btc_market_cap" << QString::number((double) hush["btc_market_cap"]); + Settings::getInstance() - > setBTCCAP(hush["btc_market_cap"]); } - if (hush["cny_market_cap"] >= 0) - { - qDebug() << "HUSH = cny_market_cap" << QString::number((double)hush["cny_market_cap"]); - Settings::getInstance()->setCNYCAP( hush["cny_market_cap"]); + if (hush["cny_market_cap"] >= 0) { + qDebug() << "HUSH = cny_market_cap" << QString::number((double) hush["cny_market_cap"]); + Settings::getInstance() - > setCNYCAP(hush["cny_market_cap"]); } - if (hush["rub_market_cap"] >= 0) - { - qDebug() << "HUSH = rub_market_cap" << QString::number((double)hush["rub_market_cap"]); - Settings::getInstance()->setRUBCAP( hush["rub_market_cap"]); + if (hush["rub_market_cap"] >= 0) { + qDebug() << "HUSH = rub_market_cap" << QString::number((double) hush["rub_market_cap"]); + Settings::getInstance() - > setRUBCAP(hush["rub_market_cap"]); } - if (hush["cad_market_cap"] >= 0) - { - qDebug() << "HUSH = cad_market_cap" << QString::number((double)hush["cad_market_cap"]); - Settings::getInstance()->setCADCAP( hush["cad_market_cap"]); + if (hush["cad_market_cap"] >= 0) { + qDebug() << "HUSH = cad_market_cap" << QString::number((double) hush["cad_market_cap"]); + Settings::getInstance() - > setCADCAP(hush["cad_market_cap"]); } - if (hush["sgd_market_cap"] >= 0) - { - qDebug() << "HUSH = sgd_market_cap" << QString::number((double)hush["sgd_market_cap"]); - Settings::getInstance()->setSGDCAP( hush["sgd_market_cap"]); + if (hush["sgd_market_cap"] >= 0) { + qDebug() << "HUSH = sgd_market_cap" << QString::number((double) hush["sgd_market_cap"]); + Settings::getInstance() - > setSGDCAP(hush["sgd_market_cap"]); } - if (hush["chf_market_cap"] >= 0) - { - qDebug() << "HUSH = chf_market_cap" << QString::number((double)hush["chf_market_cap"]); - Settings::getInstance()->setCHFCAP( hush["chf_market_cap"]); + if (hush["chf_market_cap"] >= 0) { + qDebug() << "HUSH = chf_market_cap" << QString::number((double) hush["chf_market_cap"]); + Settings::getInstance() - > setCHFCAP(hush["chf_market_cap"]); } - if (hush["inr_market_cap"] >= 0) - { - qDebug() << "HUSH = inr_market_cap" << QString::number((double)hush["inr_market_cap"]); - Settings::getInstance()->setINRCAP( hush["inr_market_cap"]); + if (hush["inr_market_cap"] >= 0) { + qDebug() << "HUSH = inr_market_cap" << QString::number((double) hush["inr_market_cap"]); + Settings::getInstance() - > setINRCAP(hush["inr_market_cap"]); } - if (hush["gbp_market_cap"] >= 0) - { - qDebug() << "HUSH = gbp_market_cap" << QString::number((double)hush["gbp_market_cap"]); - Settings::getInstance()->setGBPCAP( hush["gbp_market_cap"]); + if (hush["gbp_market_cap"] >= 0) { + qDebug() << "HUSH = gbp_market_cap" << QString::number((double) hush["gbp_market_cap"]); + Settings::getInstance() - > setGBPCAP(hush["gbp_market_cap"]); } - if (hush["aud_market_cap"] >= 0) - { - qDebug() << "HUSH = aud_market_cap" << QString::number((double)hush["aud_market_cap"]); - Settings::getInstance()->setAUDCAP( hush["aud_market_cap"]); + if (hush["aud_market_cap"] >= 0) { + qDebug() << "HUSH = aud_market_cap" << QString::number((double) hush["aud_market_cap"]); + Settings::getInstance() - > setAUDCAP(hush["aud_market_cap"]); } return; - } - catch (const std::exception& e) - { + } catch (const std::exception & e) { // If anything at all goes wrong, just set the price to 0 and move on. qDebug() << QString("Caught something nasty: ") << e.what(); } // If nothing, then set the price to 0; - Settings::getInstance()->setZECPrice(0); - Settings::getInstance()->setEURPrice(0); - Settings::getInstance()->setBTCPrice(0); - Settings::getInstance()->setCNYPrice(0); - Settings::getInstance()->setRUBPrice(0); - Settings::getInstance()->setCADPrice(0); - Settings::getInstance()->setSGDPrice(0); - Settings::getInstance()->setCHFPrice(0); - Settings::getInstance()->setGBPPrice(0); - Settings::getInstance()->setAUDPrice(0); - Settings::getInstance()->setINRPrice(0); - Settings::getInstance()->setBTCVolume(0); - Settings::getInstance()->setUSDVolume(0); - Settings::getInstance()->setEURVolume(0); - Settings::getInstance()->setBTCVolume(0); - Settings::getInstance()->setCNYVolume(0); - Settings::getInstance()->setRUBVolume(0); - Settings::getInstance()->setCADVolume(0); - Settings::getInstance()->setINRVolume(0); - Settings::getInstance()->setSGDVolume(0); - Settings::getInstance()->setCHFVolume(0); - Settings::getInstance()->setGBPVolume(0); - Settings::getInstance()->setAUDVolume(0); - Settings::getInstance()->setUSDCAP(0); - Settings::getInstance()->setEURCAP(0); - Settings::getInstance()->setBTCCAP(0); - Settings::getInstance()->setCNYCAP(0); - Settings::getInstance()->setRUBCAP(0); - Settings::getInstance()->setCADCAP(0); - Settings::getInstance()->setINRCAP(0); - Settings::getInstance()->setSGDCAP(0); - Settings::getInstance()->setCHFCAP(0); - Settings::getInstance()->setGBPCAP(0); - Settings::getInstance()->setAUDCAP(0); + Settings::getInstance() - > setZECPrice(0); + Settings::getInstance() - > setEURPrice(0); + Settings::getInstance() - > setBTCPrice(0); + Settings::getInstance() - > setCNYPrice(0); + Settings::getInstance() - > setRUBPrice(0); + Settings::getInstance() - > setCADPrice(0); + Settings::getInstance() - > setSGDPrice(0); + Settings::getInstance() - > setCHFPrice(0); + Settings::getInstance() - > setGBPPrice(0); + Settings::getInstance() - > setAUDPrice(0); + Settings::getInstance() - > setINRPrice(0); + Settings::getInstance() - > setBTCVolume(0); + Settings::getInstance() - > setUSDVolume(0); + Settings::getInstance() - > setEURVolume(0); + Settings::getInstance() - > setBTCVolume(0); + Settings::getInstance() - > setCNYVolume(0); + Settings::getInstance() - > setRUBVolume(0); + Settings::getInstance() - > setCADVolume(0); + Settings::getInstance() - > setINRVolume(0); + Settings::getInstance() - > setSGDVolume(0); + Settings::getInstance() - > setCHFVolume(0); + Settings::getInstance() - > setGBPVolume(0); + Settings::getInstance() - > setAUDVolume(0); + Settings::getInstance() - > setUSDCAP(0); + Settings::getInstance() - > setEURCAP(0); + Settings::getInstance() - > setBTCCAP(0); + Settings::getInstance() - > setCNYCAP(0); + Settings::getInstance() - > setRUBCAP(0); + Settings::getInstance() - > setCADCAP(0); + Settings::getInstance() - > setINRCAP(0); + Settings::getInstance() - > setSGDCAP(0); + Settings::getInstance() - > setCHFCAP(0); + Settings::getInstance() - > setGBPCAP(0); + Settings::getInstance() - > setAUDCAP(0); }); } -void Controller::shutdownhushd() -{ +void Controller::shutdownhushd() { // Save the wallet and exit the lightclient library cleanly. - if (zrpc->haveConnection()) - { + if (zrpc - > haveConnection()) { QDialog d(main); Ui_ConnectionDialog connD; - connD.setupUi(&d); - connD.topIcon->setPixmap(QIcon(":/icons/res/icon.ico").pixmap(256, 256)); - connD.status->setText(QObject::tr("Please wait for SilentDragonLite to exit")); - connD.statusDetail->setText(QObject::tr("Waiting for hushd to exit")); + connD.setupUi( & d); + connD.topIcon - > setPixmap(QIcon(":/icons/res/icon.ico").pixmap(256, 256)); + connD.status - > setText(QObject::tr("Please wait for SilentDragonLite to exit")); + connD.statusDetail - > setText(QObject::tr("Waiting for hushd to exit")); bool finished = false; - zrpc->saveWallet([&] (json) { + zrpc - > saveWallet([ & ](json) { if (!finished) d.accept(); finished = true; @@ -1607,24 +1480,21 @@ void Controller::shutdownhushd() /** * Get a Sapling address from the user's wallet - */ -QString Controller::getDefaultSaplingAddress() -{ - for (QString addr: model->getAllZAddresses()) - { - if (Settings::getInstance()->isSaplingAddress(addr)) + */ +QString Controller::getDefaultSaplingAddress() { + for (QString addr: model - > getAllZAddresses()) { + if (Settings::getInstance() - > isSaplingAddress(addr)) return addr; } return QString(); } -QString Controller::getDefaultTAddress() -{ - if (model->getAllTAddresses().length() > 0) - return model->getAllTAddresses().at(0); +QString Controller::getDefaultTAddress() { + if (model - > getAllTAddresses().length() > 0) + return model - > getAllTAddresses().at(0); - else + else return QString(); - -} + +} \ No newline at end of file From ac2e27d2f7299012eb355b54751bb8aba6fd7620 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 14 May 2020 13:57:54 +0200 Subject: [PATCH 107/256] fix some typos --- src/controller.cpp | 1924 +++++++++++++++++++++++--------------------- 1 file changed, 1022 insertions(+), 902 deletions(-) diff --git a/src/controller.cpp b/src/controller.cpp index 8023cbc..47a1a1e 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -2,67 +2,58 @@ // GPLv3 #include "controller.h" - #include "mainwindow.h" - #include "addressbook.h" - #include "settings.h" - #include "version.h" - #include "camount.h" - #include "websockets.h" - #include "Model/ChatItem.h" - #include "DataStore/DataStore.h" /*template<> DataStore* DataStore::instance = nullptr; template<> bool DataStore::instanced = false;*/ -ChatModel * chatModel = new ChatModel(); -Chat * chat = new Chat(); -ContactModel * contactModel = new ContactModel(); +ChatModel *chatModel = new ChatModel(); +Chat *chat = new Chat(); +ContactModel *contactModel = new ContactModel(); using json = nlohmann::json; -Controller::Controller(MainWindow * main) { +Controller::Controller(MainWindow* main) +{ auto cl = new ConnectionLoader(main, this); // Execute the load connection async, so we can set up the rest of RPC properly. - QTimer::singleShot(1, [ = ]() { - cl - > loadConnection(); - }); + QTimer::singleShot(1, [=]() { cl->loadConnection(); }); - this - > main = main; - this - > ui = main - > ui; + this->main = main; + this->ui = main->ui; // Setup balances table model - balancesTableModel = new BalancesTableModel(main - > ui - > balancesTable); - main - > ui - > balancesTable - > setModel(balancesTableModel); + balancesTableModel = new BalancesTableModel(main->ui->balancesTable); + main->ui->balancesTable->setModel(balancesTableModel); // Setup transactions table model - transactionsTableModel = new TxTableModel(ui - > transactionsTable); - main - > ui - > transactionsTable - > setModel(transactionsTableModel); - + transactionsTableModel = new TxTableModel(ui->transactionsTable); + main->ui->transactionsTable->setModel(transactionsTableModel); + // Set up timer to refresh Price priceTimer = new QTimer(main); - QObject::connect(priceTimer, & QTimer::timeout, [ = ]() { - if (Settings::getInstance() - > getAllowFetchPrices()) - refreshZECPrice(); - + QObject::connect(priceTimer, &QTimer::timeout, [=]() { + if (Settings::getInstance()->getAllowFetchPrices()) + refreshZECPrice(); + }); - priceTimer - > start(Settings::priceRefreshSpeed); // Every 5 Min + priceTimer->start(Settings::priceRefreshSpeed); // Every 5 Min // Set up a timer to refresh the UI every few seconds timer = new QTimer(main); - QObject::connect(timer, & QTimer::timeout, [ = ]() { + QObject::connect(timer, &QTimer::timeout, [=]() { refresh(); }); - timer - > start(Settings::updateSpeed); + timer->start(Settings::updateSpeed); // Create the data model model = new DataModel(); @@ -71,7 +62,8 @@ Controller::Controller(MainWindow * main) { zrpc = new LiteInterface(); } -Controller::~Controller() { +Controller::~Controller() +{ delete timer; delete txTimer; delete transactionsTableModel; @@ -79,21 +71,22 @@ Controller::~Controller() { delete model; delete zrpc; } - + // Called when a connection to hushd is available. -void Controller::setConnection(Connection * c) { - if (c == nullptr) +void Controller::setConnection(Connection* c) +{ + if (c == nullptr) return; - this - > zrpc - > setConnection(c); - ui - > statusBar - > showMessage(""); + this->zrpc->setConnection(c); + ui->statusBar->showMessage(""); // If we're allowed to get the Hush Price, get the prices - if (Settings::getInstance() - > getAllowFetchPrices()) + if (Settings::getInstance()->getAllowFetchPrices()) refreshZECPrice(); // If we're allowed to check for updates, check for a new release - if (Settings::getInstance() - > getCheckForUpdates()) + if (Settings::getInstance()->getCheckForUpdates()) checkForUpdate(); // Force update, because this might be coming from a settings update @@ -102,417 +95,458 @@ void Controller::setConnection(Connection * c) { // Create Sietch zdust addr at startup. // Using DataStore singelton, to store the data outside of lambda, bing bada boom :D - for (uint8_t i = 0; i < 10; i++) { - zrpc - > createNewSietchZaddr([ = ](json reply) { - QString zdust = QString::fromStdString(reply.get < json::array_t > ()[0]); - DataStore::getSietchDataStore() - > setData("Sietch" + QString(i), zdust.toUtf8()); + for(uint8_t i = 0; i < 10; i++) + { + zrpc->createNewSietchZaddr( [=] (json reply) { + QString zdust = QString::fromStdString(reply.get()[0]); + DataStore::getSietchDataStore()->setData("Sietch" + QString(i), zdust.toUtf8()); }); } } // Build the RPC JSON Parameters for this tx -void Controller::fillTxJsonParams(json & allRecepients, Tx tx) { +void Controller::fillTxJsonParams(json& allRecepients, Tx tx) +{ Q_ASSERT(allRecepients.is_array()); // Construct the JSON params json rec = json::object(); //creating the JSON dust parameters in a std::vector to iterate over there during tx - std::vector < json > dust(10); + std::vector dust(10); dust.resize(10, json::object()); // Create Sietch zdust addr again to not use it twice. // Using DataStore singelton, to store the data outside of lambda, bing bada boom :D - for (uint8_t i = 0; i < 10; i++) { - zrpc - > createNewSietchZaddr([ = ](json reply) { - QString zdust = QString::fromStdString(reply.get < json::array_t > ()[0]); - DataStore::getSietchDataStore() - > setData(QString("Sietch") + QString(i), zdust.toUtf8()); - }); + for(uint8_t i = 0; i < 10; i++) + { + zrpc->createNewSietchZaddr( [=] (json reply) { + QString zdust = QString::fromStdString(reply.get()[0]); + DataStore::getSietchDataStore()->setData(QString("Sietch") + QString(i), zdust.toUtf8()); + } ); } // Set sietch zdust addr to json. // Using DataStore singelton, to store the data into the dusts, bing bada boom :D - for (uint8_t i = 0; i < 10; i++) { - dust.at(i)["address"] = DataStore::getSietchDataStore() - > getData(QString("Sietch" + QString(i))).toStdString(); + for(uint8_t i = 0; i < 10; i++) + { + dust.at(i)["address"] = DataStore::getSietchDataStore()->getData(QString("Sietch" + QString(i))).toStdString(); } - DataStore::getSietchDataStore() - > clear(); // clears the datastore + DataStore::getSietchDataStore()->clear(); // clears the datastore // Dust amt/memo, construct the JSON - for (uint8_t i = 0; i < 10; i++) { + for(uint8_t i = 0; i < 10; i++) + { dust.at(i)["amount"] = 0; dust.at(i)["memo"] = ""; - + } - + // For each addr/amt/memo, construct the JSON and also build the confirm dialog box - for (int i = 0; i < tx.toAddrs.size(); i++) { + for (int i=0; i < tx.toAddrs.size(); i++) + { auto toAddr = tx.toAddrs[i]; rec["address"] = toAddr.addr.toStdString(); - rec["amount"] = toAddr.amount.toqint64(); + rec["amount"] = toAddr.amount.toqint64(); if (Settings::isZAddress(toAddr.addr) && !toAddr.memo.trimmed().isEmpty()) rec["memo"] = toAddr.memo.toStdString(); - allRecepients.push_back(rec); + allRecepients.push_back(rec) ; } - allRecepients.insert(std::begin(allRecepients), { - dust.at(0), - dust.at(1), - dust.at(2), - dust.at(3), - dust.at(4), - dust.at(5), - dust.at(6), - dust.at(7), - dust.at(8) - }); + allRecepients.insert(std::begin(allRecepients), { + dust.at(0), + dust.at(1), + dust.at(2), + dust.at(3), + dust.at(4), + dust.at(5), + dust.at(6), + dust.at(7), + dust.at(8) + }) ; } -void Controller::noConnection() { - QIcon i = QApplication::style() - > standardIcon(QStyle::SP_MessageBoxCritical); - main - > statusIcon - > setPixmap(i.pixmap(16, 16)); - main - > statusIcon - > setToolTip(""); - main - > statusLabel - > setText(QObject::tr("No Connection")); - main - > statusLabel - > setToolTip(""); - main - > ui - > statusBar - > showMessage(QObject::tr("No Connection"), 1000); +void Controller::noConnection() +{ + QIcon i = QApplication::style()->standardIcon(QStyle::SP_MessageBoxCritical); + main->statusIcon->setPixmap(i.pixmap(16, 16)); + main->statusIcon->setToolTip(""); + main->statusLabel->setText(QObject::tr("No Connection")); + main->statusLabel->setToolTip(""); + main->ui->statusBar->showMessage(QObject::tr("No Connection"), 1000); // Clear balances table. - QMap < QString, CAmount > emptyBalances; - QList < UnspentOutput > emptyOutputs; - QList < QString > emptyAddresses; - balancesTableModel - > setNewData(emptyAddresses, emptyAddresses, emptyBalances, emptyOutputs); + QMap emptyBalances; + QList emptyOutputs; + QList emptyAddresses; + balancesTableModel->setNewData(emptyAddresses, emptyAddresses, emptyBalances, emptyOutputs); // Clear Transactions table. - QList < TransactionItem > emptyTxs; - transactionsTableModel - > replaceData(emptyTxs); + QList emptyTxs; + transactionsTableModel->replaceData(emptyTxs); // Clear balances - ui - > balSheilded - > setText(""); - ui - > balTransparent - > setText(""); - ui - > balTotal - > setText(""); + ui->balSheilded->setText(""); + ui->balTransparent->setText(""); + ui->balTotal->setText(""); - ui - > balSheilded - > setToolTip(""); - ui - > balTransparent - > setToolTip(""); - ui - > balTotal - > setToolTip(""); + ui->balSheilded->setToolTip(""); + ui->balTransparent->setToolTip(""); + ui->balTotal->setToolTip(""); } /// This will refresh all the balance data from hushd -void Controller::refresh(bool force) { - if (!zrpc - > haveConnection()) +void Controller::refresh(bool force) +{ + if (!zrpc->haveConnection()) return noConnection(); getInfoThenRefresh(force); } -void Controller::processInfo(const json & info) { +void Controller::processInfo(const json& info) +{ // Testnet? QString chainName; - if (!info["chain_name"].is_null()) { - chainName = QString::fromStdString(info["chain_name"].get < json::string_t > ()); - Settings::getInstance() - > setTestnet(chainName == "test"); + if (!info["chain_name"].is_null()) + { + chainName = QString::fromStdString(info["chain_name"].get()); + Settings::getInstance()->setTestnet(chainName == "test"); } - QString version = QString::fromStdString(info["version"].get < json::string_t > ()); - Settings::getInstance() - > sethushdVersion(version); + QString version = QString::fromStdString(info["version"].get()); + Settings::getInstance()->sethushdVersion(version); // Recurring pamynets are testnet only - if (!Settings::getInstance() - > isTestnet()) - main - > disableRecurring(); + if (!Settings::getInstance()->isTestnet()) + main->disableRecurring(); } -void Controller::getInfoThenRefresh(bool force) { - if (!zrpc - > haveConnection()) +void Controller::getInfoThenRefresh(bool force) +{ + if (!zrpc->haveConnection()) return noConnection(); static bool prevCallSucceeded = false; - zrpc - > fetchInfo([ = ](const json & reply) { - prevCallSucceeded = true; - int curBlock = reply["latest_block_height"].get < json::number_integer_t > (); - int longestchain = reply["longestchain"].get < json::number_integer_t > (); - int notarized = reply["notarized"].get < json::number_integer_t > (); - 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); + zrpc->fetchInfo([=] (const json& reply) { + prevCallSucceeded = true; + int curBlock = reply["latest_block_height"].get(); + int longestchain = reply["longestchain"].get(); + int notarized = reply["notarized"].get(); + int difficulty = reply["difficulty"].get(); + 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" || - Settings::getInstance() - > get_currency_name() == "CHF" || - Settings::getInstance() - > get_currency_name() == "RUB" - ) { - ui - > blockHeight - > setText( + Settings::getInstance()->get_currency_name() == "EUR" || + Settings::getInstance()->get_currency_name() == "CHF" || + Settings::getInstance()->get_currency_name() == "RUB" + ) + { + ui->blockHeight->setText( "Block: " + QLocale(QLocale::German).toString(curBlock) ); - ui - > last_notarized - > setText( + ui->last_notarized->setText( "Block: " + QLocale(QLocale::German).toString(notarized) ); - ui - > longestchain - > setText( + ui->longestchain->setText( "Block: " + QLocale(QLocale::German).toString(longestchain) ); - ui - > difficulty - > setText( + ui->difficulty->setText( QLocale(QLocale::German).toString(difficulty) ); - ui - > halvingTime - > setText( - (QLocale(QLocale::German).toString(blocks_until_halving)) + - " Blocks or , " + (QLocale(QLocale::German).toString(halving_days) + " days") + ui->halvingTime->setText( + (QLocale(QLocale::German).toString(blocks_until_halving)) + + " Blocks or , " + (QLocale(QLocale::German).toString(halving_days) + " days" ) ); - } else { - ui - > blockHeight - > setText( + } + else + { + ui->blockHeight->setText( "Block: " + QLocale(QLocale::English).toString(curBlock) ); - ui - > last_notarized - > setText( + ui->last_notarized->setText( "Block: " + QLocale(QLocale::English).toString(notarized) ); - ui - > longestchain - > setText( + ui->longestchain->setText( "Block: " + QLocale(QLocale::English).toString(longestchain) ); - ui - > difficulty - > setText( + ui->difficulty->setText( QLocale(QLocale::English).toString(difficulty) ); - ui - > halvingTime - > setText( - (QLocale(QLocale::English).toString(blocks_until_halving)) + - " Blocks or , " + (QLocale(QLocale::English).toString(halving_days) + " days") + ui->halvingTime->setText( + (QLocale(QLocale::English).toString(blocks_until_halving)) + + " Blocks or , " + (QLocale(QLocale::English).toString(halving_days) + " days" ) ); } - ui - > Version - > setText( - QString::fromStdString(reply["version"].get < json::string_t > ()) + ui->Version->setText( + QString::fromStdString(reply["version"].get()) + ); + ui->Vendor->setText( + QString::fromStdString(reply["vendor"].get()) ); - ui - > Vendor - > setText( - QString::fromStdString(reply["vendor"].get < json::string_t > ()) - ); - main - > logger - > write( - QString("Refresh. curblock ") % QString::number(curBlock) % ", update=" % (doUpdate ? "true" : "false") + main->logger->write( + QString("Refresh. curblock ") % QString::number(curBlock) % ", update=" % (doUpdate ? "true" : "false") ); // Connected, so display checkmark. - auto tooltip = Settings::getInstance() - > getSettings().server + "\n" + - QString::fromStdString(zrpc - > getConnection() - > getInfo().dump()); + auto tooltip = Settings::getInstance()->getSettings().server + "\n" + + QString::fromStdString(zrpc->getConnection()->getInfo().dump()); QIcon i(":/icons/res/connected.gif"); - QString chainName = Settings::getInstance() - > isTestnet() ? "test" : "main"; - main - > statusLabel - > setText(chainName + "(" + QString::number(curBlock) + ")"); + QString chainName = Settings::getInstance()->isTestnet() ? "test" : "main"; + main->statusLabel->setText(chainName + "(" + QString::number(curBlock) + ")"); // use currency ComboBox as input - if (Settings::getInstance() - > get_currency_name() == "USD") { - double price = Settings::getInstance() - > getZECPrice(); - double volume = Settings::getInstance() - > getUSDVolume(); - double cap = Settings::getInstance() - > getUSDCAP(); - main - > statusLabel - > setText( - " HUSH/USD=$ " + (QLocale(QLocale::English).toString(price, 'f', 2)) + if (Settings::getInstance()->get_currency_name() == "USD") + { + double price = Settings::getInstance()->getZECPrice(); + double volume = Settings::getInstance()->getUSDVolume(); + double cap = Settings::getInstance()->getUSDCAP(); + main->statusLabel->setText( + " HUSH/USD=$ " + (QLocale(QLocale::English).toString(price,'f', 2)) ); - ui - > volumeExchange - > setText( - " $ " + (QLocale(QLocale::English).toString(volume, 'f', 2)) + ui->volumeExchange->setText( + " $ " + (QLocale(QLocale::English).toString(volume,'f', 2)) ); - ui - > marketcapTab - > setText( - " $ " + (QLocale(QLocale::English).toString(cap, 'f', 2)) + ui->marketcapTab->setText( + " $ " + (QLocale(QLocale::English).toString(cap,'f', 2)) ); - } else if (Settings::getInstance() - > get_currency_name() == "EUR") { - double price = Settings::getInstance() - > getEURPrice(); - double volume = Settings::getInstance() - > getEURVolume(); - double cap = Settings::getInstance() - > getEURCAP(); - main - > statusLabel - > setText( - "HUSH/EUR " + (QLocale(QLocale::German).toString(price, 'f', 2)) + " €" - ); - ui - > volumeExchange - > setText( - QLocale(QLocale::German).toString(volume, 'f', 2) + " €" + } + else if (Settings::getInstance()->get_currency_name() == "EUR") + { + double price = Settings::getInstance()->getEURPrice(); + double volume = Settings::getInstance()->getEURVolume(); + double cap = Settings::getInstance()->getEURCAP(); + main->statusLabel->setText( + "HUSH/EUR "+(QLocale(QLocale::German).toString(price,'f', 2))+ " €" + ); + ui->volumeExchange->setText( + QLocale(QLocale::German).toString(volume,'f', 2)+ " €" ); - ui - > marketcapTab - > setText( - QLocale(QLocale::German).toString(cap, 'f', 2) + " €" + ui->marketcapTab->setText( + QLocale(QLocale::German).toString(cap,'f', 2)+ " €" ); - } else if (Settings::getInstance() - > get_currency_name() == "BTC") { - double price = Settings::getInstance() - > getBTCPrice(); - double volume = Settings::getInstance() - > getBTCVolume(); - double cap = Settings::getInstance() - > getBTCCAP(); - main - > statusLabel - > setText( - " HUSH/BTC=BTC " + (QLocale(QLocale::English).toString(price, 'f', 8)) + } + else if (Settings::getInstance()->get_currency_name() == "BTC") + { + double price = Settings::getInstance()->getBTCPrice(); + double volume = Settings::getInstance()->getBTCVolume(); + double cap = Settings::getInstance()->getBTCCAP(); + main->statusLabel->setText( + " HUSH/BTC=BTC " + (QLocale(QLocale::English).toString(price, 'f',8)) ); - ui - > volumeExchange - > setText( - " BTC " + (QLocale(QLocale::English).toString(volume, 'f', 8)) + ui->volumeExchange->setText( + " BTC " + (QLocale(QLocale::English).toString(volume, 'f',8)) ); - ui - > marketcapTab - > setText( - " BTC " + (QLocale(QLocale::English).toString(cap, 'f', 8)) + ui->marketcapTab->setText( + " BTC " + (QLocale(QLocale::English).toString(cap, 'f',8)) ); - } else if (Settings::getInstance() - > get_currency_name() == "CNY") { - double price = Settings::getInstance() - > getCNYPrice(); - double volume = Settings::getInstance() - > getCNYVolume(); - double cap = Settings::getInstance() - > getCNYCAP(); - main - > statusLabel - > setText( - " HUSH/CNY=¥ /元 " + (QLocale(QLocale::Chinese).toString(price, 'f', 2)) + } + else if (Settings::getInstance()->get_currency_name() == "CNY") + { + double price = Settings::getInstance()->getCNYPrice(); + double volume = Settings::getInstance()->getCNYVolume(); + double cap = Settings::getInstance()->getCNYCAP(); + main->statusLabel->setText( + " HUSH/CNY=¥ /元 " + (QLocale(QLocale::Chinese).toString(price,'f', 2)) ); - ui - > volumeExchange - > setText( - " ¥ /元 " + (QLocale(QLocale::Chinese).toString(volume, 'f', 2)) + ui->volumeExchange->setText( + " ¥ /元 " + (QLocale(QLocale::Chinese).toString(volume,'f', 2)) ); - ui - > marketcapTab - > setText( - " ¥ /元 " + (QLocale(QLocale::Chinese).toString(cap, 'f', 2)) + ui->marketcapTab->setText( + " ¥ /元 " + (QLocale(QLocale::Chinese).toString(cap,'f', 2)) ); - } else if (Settings::getInstance() - > get_currency_name() == "RUB") { - double price = Settings::getInstance() - > getRUBPrice(); - double volume = Settings::getInstance() - > getRUBVolume(); - double cap = Settings::getInstance() - > getRUBCAP(); - main - > statusLabel - > setText( - " HUSH/RUB=₽ " + (QLocale(QLocale::German).toString(price, 'f', 2)) + } + else if (Settings::getInstance()->get_currency_name() == "RUB") + { + double price = Settings::getInstance()->getRUBPrice(); + double volume = Settings::getInstance()->getRUBVolume(); + double cap = Settings::getInstance()->getRUBCAP(); + main->statusLabel->setText( + " HUSH/RUB=₽ " + (QLocale(QLocale::German).toString(price,'f', 2)) ); - ui - > volumeExchange - > setText( - " ₽ " + (QLocale(QLocale::German).toString(volume, 'f', 2)) + ui->volumeExchange->setText( + " ₽ " + (QLocale(QLocale::German).toString(volume,'f', 2)) ); - ui - > marketcapTab - > setText( - " ₽ " + (QLocale(QLocale::German).toString(cap, 'f', 2)) + ui->marketcapTab->setText( + " ₽ " + (QLocale(QLocale::German).toString(cap,'f', 2)) ); - } else if (Settings::getInstance() - > get_currency_name() == "CAD") { - double price = Settings::getInstance() - > getCADPrice(); - double volume = Settings::getInstance() - > getCADVolume(); - double cap = Settings::getInstance() - > getCADCAP(); - main - > statusLabel - > setText( - " HUSH/CAD=$ " + (QLocale(QLocale::English).toString(price, 'f', 2)) + } + else if (Settings::getInstance()->get_currency_name() == "CAD") + { + double price = Settings::getInstance()->getCADPrice(); + double volume = Settings::getInstance()->getCADVolume(); + double cap = Settings::getInstance()->getCADCAP(); + main->statusLabel->setText( + " HUSH/CAD=$ " + (QLocale(QLocale::English).toString(price,'f', 2)) ); - ui - > volumeExchange - > setText( - " $ " + (QLocale(QLocale::English).toString(volume, 'f', 2)) + ui->volumeExchange->setText( + " $ " + (QLocale(QLocale::English).toString(volume,'f', 2)) ); - ui - > marketcapTab - > setText( - " $ " + (QLocale(QLocale::English).toString(cap, 'f', 2)) + ui->marketcapTab->setText( + " $ " + (QLocale(QLocale::English).toString(cap,'f', 2)) ); - } else if (Settings::getInstance() - > get_currency_name() == "SGD") { - double price = Settings::getInstance() - > getSGDPrice(); - double volume = Settings::getInstance() - > getSGDVolume(); - double cap = Settings::getInstance() - > getSGDCAP(); - main - > statusLabel - > setText( - " HUSH/SGD=$ " + (QLocale(QLocale::English).toString(price, 'f', 2)) + } + else if (Settings::getInstance()->get_currency_name() == "SGD") + { + double price = Settings::getInstance()->getSGDPrice(); + double volume = Settings::getInstance()->getSGDVolume(); + double cap = Settings::getInstance()->getSGDCAP(); + main->statusLabel->setText( + " HUSH/SGD=$ " + (QLocale(QLocale::English).toString(price,'f', 2)) ); - ui - > volumeExchange - > setText( - " $ " + (QLocale(QLocale::English).toString(volume, 'f', 2)) + ui->volumeExchange->setText( + " $ " + (QLocale(QLocale::English).toString(volume,'f', 2)) ); - ui - > marketcapTab - > setText( - " $ " + (QLocale(QLocale::English).toString(cap, 'f', 2)) + ui->marketcapTab->setText( + " $ " + (QLocale(QLocale::English).toString(cap,'f', 2)) ); - } else if (Settings::getInstance() - > get_currency_name() == "CHF") { - double price = Settings::getInstance() - > getCHFPrice(); - double volume = Settings::getInstance() - > getCHFVolume(); - double cap = Settings::getInstance() - > getCHFCAP(); - main - > statusLabel - > setText( - " HUSH/CHF= " + (QLocale(QLocale::German).toString(price, 'f', 2)) + " CHF" + } + else if (Settings::getInstance()->get_currency_name() == "CHF") + { + double price = Settings::getInstance()->getCHFPrice(); + double volume = Settings::getInstance()->getCHFVolume(); + double cap = Settings::getInstance()->getCHFCAP(); + main->statusLabel->setText( + " HUSH/CHF= " + (QLocale(QLocale::German).toString(price,'f', 2))+ " CHF" ); - ui - > volumeExchange - > setText( - QLocale(QLocale::German).toString(volume, 'f', 2) + " CHF" + ui->volumeExchange->setText( + QLocale(QLocale::German).toString(volume,'f', 2)+ " CHF" ); - ui - > marketcapTab - > setText( - QLocale(QLocale::German).toString(cap, 'f', 2) + " CHF" + ui->marketcapTab->setText( + QLocale(QLocale::German).toString(cap,'f', 2)+ " CHF" ); - } else if (Settings::getInstance() - > get_currency_name() == "INR") { - double price = Settings::getInstance() - > getINRPrice(); - double volume = Settings::getInstance() - > getINRVolume(); - double cap = Settings::getInstance() - > getINRCAP(); - main - > statusLabel - > setText( - " HUSH/INR=₹ " + (QLocale(QLocale::English).toString(price, 'f', 2)) + } + else if (Settings::getInstance()->get_currency_name() == "INR") + { + double price = Settings::getInstance()->getINRPrice(); + double volume = Settings::getInstance()->getINRVolume(); + double cap = Settings::getInstance()->getINRCAP(); + main->statusLabel->setText( + " HUSH/INR=₹ " + (QLocale(QLocale::English).toString(price,'f', 2)) ); - ui - > volumeExchange - > setText( - " ₹ " + (QLocale(QLocale::English).toString(volume, 'f', 2)) + ui->volumeExchange->setText( + " ₹ " + (QLocale(QLocale::English).toString(volume,'f', 2)) ); - ui - > marketcapTab - > setText( - " ₹ " + (QLocale(QLocale::English).toString(cap, 'f', 2)) + ui->marketcapTab->setText( + " ₹ " + (QLocale(QLocale::English).toString(cap,'f', 2)) ); - } else if (Settings::getInstance() - > get_currency_name() == "GBP") { - double price = Settings::getInstance() - > getGBPPrice(); - double volume = Settings::getInstance() - > getGBPVolume(); - double cap = Settings::getInstance() - > getGBPCAP(); - main - > statusLabel - > setText( - " HUSH/GBP=£ " + (QLocale(QLocale::English).toString(price, 'f', 2)) + } + else if (Settings::getInstance()->get_currency_name() == "GBP") + { + double price = Settings::getInstance()->getGBPPrice(); + double volume = Settings::getInstance()->getGBPVolume(); + double cap = Settings::getInstance()->getGBPCAP(); + main->statusLabel->setText( + " HUSH/GBP=£ " + (QLocale(QLocale::English).toString(price,'f', 2)) ); - ui - > volumeExchange - > setText( - " £ " + (QLocale(QLocale::English).toString(volume, 'f', 2)) + ui->volumeExchange->setText( + " £ " + (QLocale(QLocale::English).toString(volume,'f', 2)) ); - ui - > marketcapTab - > setText( - " £ " + (QLocale(QLocale::English).toString(cap, 'f', 2)) + ui->marketcapTab->setText( + " £ " + (QLocale(QLocale::English).toString(cap,'f', 2)) ); - } else if (Settings::getInstance() - > get_currency_name() == "AUD") { - double price = Settings::getInstance() - > getAUDPrice(); - double volume = Settings::getInstance() - > getAUDVolume(); - double cap = Settings::getInstance() - > getAUDCAP(); - main - > statusLabel - > setText( - " HUSH/AUD=$ " + (QLocale(QLocale::English).toString(price, 'f', 2)) + } + else if (Settings::getInstance()->get_currency_name() == "AUD") + { + double price = Settings::getInstance()->getAUDPrice(); + double volume = Settings::getInstance()->getAUDVolume(); + double cap = Settings::getInstance()->getAUDCAP(); + main->statusLabel->setText( + " HUSH/AUD=$ " + (QLocale(QLocale::English).toString(price,'f', 2)) ); - ui - > volumeExchange - > setText( - " $ " + (QLocale(QLocale::English).toString(volume, 'f', 2)) + ui->volumeExchange->setText( + " $ " + (QLocale(QLocale::English).toString(volume,'f', 2)) ); - ui - > marketcapTab - > setText( - " $ " + (QLocale(QLocale::English).toString(cap, 'f', 2)) + ui->marketcapTab->setText( + " $ " + (QLocale(QLocale::English).toString(cap,'f', 2)) ); - - } else { - main - > statusLabel - > setText( - " HUSH/USD=$" + QString::number(Settings::getInstance() - > getZECPrice(), 'f', 2) + + } + else + { + main->statusLabel->setText( + " HUSH/USD=$" + QString::number(Settings::getInstance()->getZECPrice(),'f',2 ) ); - ui - > volumeExchange - > setText( - " $ " + QString::number((double) Settings::getInstance() - > getUSDVolume(), 'f', 2) + ui->volumeExchange->setText( + " $ " + QString::number((double) Settings::getInstance()->getUSDVolume() ,'f',2) ); - ui - > marketcapTab - > setText( - " $ " + QString::number((double) Settings::getInstance() - > getUSDCAP(), 'f', 2) + ui->marketcapTab->setText( + " $ " + QString::number((double) Settings::getInstance()->getUSDCAP() ,'f',2) ); } - main - > statusLabel - > setToolTip(tooltip); - main - > statusIcon - > setPixmap(i.pixmap(16, 16)); - main - > statusIcon - > setToolTip(tooltip); + main->statusLabel->setToolTip(tooltip); + main->statusIcon->setPixmap(i.pixmap(16, 16)); + main->statusIcon->setToolTip(tooltip); // See if recurring payments needs anything - Recurring::getInstance() - > processPending(main); + Recurring::getInstance()->processPending(main); // Check if the wallet is locked/encrypted - zrpc - > fetchWalletEncryptionStatus([ = ](const json & reply) { - bool isEncrypted = reply["encrypted"].get < json::boolean_t > (); - bool isLocked = reply["locked"].get < json::boolean_t > (); - model - > setEncryptionStatus(isEncrypted, isLocked); + zrpc->fetchWalletEncryptionStatus([=] (const json& reply) { + bool isEncrypted = reply["encrypted"].get(); + bool isLocked = reply["locked"].get(); + model->setEncryptionStatus(isEncrypted, isLocked); }); - // Get the total supply and render it with thousand decimal - zrpc - > fetchSupply([ = ](const json & reply) { - int supply = reply["supply"].get < json::number_integer_t > (); - int zfunds = reply["zfunds"].get < json::number_integer_t > (); - int total = reply["total"].get < json::number_integer_t > (); + // Get the total supply and render it with thousand decimal + zrpc->fetchSupply([=] (const json& reply) { + int supply = reply["supply"].get(); + int zfunds = reply["zfunds"].get(); + int total = reply["total"].get(); if ( - Settings::getInstance() - > get_currency_name() == "EUR" || - Settings::getInstance() - > get_currency_name() == "CHF" || - Settings::getInstance() - > get_currency_name() == "RUB" - ) { - ui - > supply_taddr - > setText((QLocale(QLocale::German).toString(supply) + " Hush")); - ui - > supply_zaddr - > setText((QLocale(QLocale::German).toString(zfunds) + " Hush")); - ui - > supply_total - > setText((QLocale(QLocale::German).toString(total) + " Hush")); - } else { - ui - > supply_taddr - > setText("Hush " + (QLocale(QLocale::English).toString(supply))); - ui - > supply_zaddr - > setText("Hush " + (QLocale(QLocale::English).toString(zfunds))); - ui - > supply_total - > setText("Hush " + (QLocale(QLocale::English).toString(total))); + Settings::getInstance()->get_currency_name() == "EUR" || + Settings::getInstance()->get_currency_name() == "CHF" || + Settings::getInstance()->get_currency_name() == "RUB" + ) + { + ui->supply_taddr->setText((QLocale(QLocale::German).toString(supply)+ " Hush")); + ui->supply_zaddr->setText((QLocale(QLocale::German).toString(zfunds)+ " Hush")); + ui->supply_total->setText((QLocale(QLocale::German).toString(total)+ " Hush")); + } + else + { + ui->supply_taddr->setText("Hush " + (QLocale(QLocale::English).toString(supply))); + ui->supply_zaddr->setText("Hush " +(QLocale(QLocale::English).toString(zfunds))); + ui->supply_total->setText("Hush " +(QLocale(QLocale::English).toString(total))); } }); - if (doUpdate) { + if ( doUpdate ) + { // Something changed, so refresh everything. - refreshBalances(); - refreshAddresses(); // This calls refreshZSentTransactions() and refreshReceivedZTrans() + refreshBalances(); + refreshAddresses(); // This calls refreshZSentTransactions() and refreshReceivedZTrans() refreshTransactions(); } - }, [ = ](QString err) { + }, [=](QString err) { // hushd has probably disappeared. - this - > noConnection(); + this->noConnection(); // Prevent multiple dialog boxes, because these are called async static bool shown = false; if (!shown && prevCallSucceeded) // show error only first time - { + { shown = true; QMessageBox::critical( - main, - QObject::tr("Connection Error"), - QObject::tr("There was an error connecting to hushd. The error was") + ": \n\n" + err, + main, + QObject::tr("Connection Error"), + QObject::tr("There was an error connecting to hushd. The error was") + ": \n\n"+ err, QMessageBox::StandardButton::Ok ); shown = false; @@ -522,498 +556,518 @@ void Controller::getInfoThenRefresh(bool force) { }); } -void Controller::refreshAddresses() { - if (!zrpc - > haveConnection()) +void Controller::refreshAddresses() +{ + if (!zrpc->haveConnection()) return noConnection(); - - auto newzaddresses = new QList < QString > (); - auto newtaddresses = new QList < QString > (); - zrpc - > fetchAddresses([ = ](json reply) { - auto zaddrs = reply["z_addresses"].get < json::array_t > (); - for (auto & it: zaddrs) { - auto addr = QString::fromStdString(it.get < json::string_t > ()); - newzaddresses - > push_back(addr); + + auto newzaddresses = new QList(); + auto newtaddresses = new QList(); + zrpc->fetchAddresses([=] (json reply) { + auto zaddrs = reply["z_addresses"].get(); + for (auto& it : zaddrs) + { + auto addr = QString::fromStdString(it.get()); + newzaddresses->push_back(addr); } - model - > replaceZaddresses(newzaddresses); - auto taddrs = reply["t_addresses"].get < json::array_t > (); - for (auto & it: taddrs) { - auto addr = QString::fromStdString(it.get < json::string_t > ()); + model->replaceZaddresses(newzaddresses); + auto taddrs = reply["t_addresses"].get(); + for (auto& it : taddrs) + { + auto addr = QString::fromStdString(it.get()); if (Settings::isTAddress(addr)) - newtaddresses - > push_back(addr); + newtaddresses->push_back(addr); } - model - > replaceTaddresses(newtaddresses); + model->replaceTaddresses(newtaddresses); // Refresh the sent and received txs from all these z-addresses refreshTransactions(); }); - + } // Function to create the data model and update the views, used below. -void Controller::updateUI(bool anyUnconfirmed) { - ui - > unconfirmedWarning - > setVisible(anyUnconfirmed); +void Controller::updateUI(bool anyUnconfirmed) +{ + ui->unconfirmedWarning->setVisible(anyUnconfirmed); // Update balances model data, which will update the table too - balancesTableModel - > setNewData( - model - > getAllZAddresses(), - model - > getAllTAddresses(), - model - > getAllBalances(), - model - > getUTXOs() + balancesTableModel->setNewData( + model->getAllZAddresses(), + model->getAllTAddresses(), + model->getAllBalances(), + model->getUTXOs() ); }; // Function to process reply of the listunspent and z_listunspent API calls, used below. -void Controller::processUnspent(const json & reply, QMap < QString, CAmount > * balancesMap, QList < UnspentOutput > * unspentOutputs) { - auto processFn = [ = ](const json & array) { - for (auto & it: array) { - QString qsAddr = QString::fromStdString(it["address"]); - int block = it["created_in_block"].get < json::number_unsigned_t > (); - QString txid = QString::fromStdString(it["created_in_txid"]); - CAmount amount = CAmount::fromqint64(it["value"].get < json::number_unsigned_t > ()); - - bool spendable = it["unconfirmed_spent"].is_null() && it["spent"].is_null(); // TODO: Wait for 4 confirmations - bool pending = !it["unconfirmed_spent"].is_null(); - - unspentOutputs - > push_back( - UnspentOutput { - qsAddr, - txid, - amount, - block, - spendable, - pending - } +void Controller::processUnspent(const json& reply, QMap* balancesMap, QList* unspentOutputs) { + auto processFn = [=](const json& array) { + for (auto& it : array) + { + QString qsAddr = QString::fromStdString(it["address"]); + int block = it["created_in_block"].get(); + QString txid = QString::fromStdString(it["created_in_txid"]); + CAmount amount = CAmount::fromqint64(it["value"].get()); + + bool spendable = it["unconfirmed_spent"].is_null() && it["spent"].is_null(); // TODO: Wait for 4 confirmations + bool pending = !it["unconfirmed_spent"].is_null(); + + unspentOutputs->push_back( + UnspentOutput{ qsAddr, txid, amount, block, spendable, pending } ); - if (spendable) { - ( * balancesMap)[qsAddr] = ( * balancesMap)[qsAddr] + - CAmount::fromqint64(it["value"].get < json::number_unsigned_t > ()); + if (spendable) + { + (*balancesMap)[qsAddr] = (*balancesMap)[qsAddr] + + CAmount::fromqint64(it["value"].get()); } } }; - processFn(reply["unspent_notes"].get < json::array_t > ()); - processFn(reply["utxos"].get < json::array_t > ()); - processFn(reply["pending_notes"].get < json::array_t > ()); - processFn(reply["pending_utxos"].get < json::array_t > ()); + processFn(reply["unspent_notes"].get()); + processFn(reply["utxos"].get()); + processFn(reply["pending_notes"].get()); + processFn(reply["pending_utxos"].get()); }; -void Controller::updateUIBalances() { - CAmount balT = getModel() - > getBalT(); - CAmount balZ = getModel() - > getBalZ(); - CAmount balVerified = getModel() - > getBalVerified(); +void Controller::updateUIBalances() +{ + CAmount balT = getModel()->getBalT(); + CAmount balZ = getModel()->getBalZ(); + CAmount balVerified = getModel()->getBalVerified(); // Reduce the BalanceZ by the pending outgoing amount. We're adding // here because totalPending is already negative for outgoing txns. - balZ = balZ + getModel() - > getTotalPending(); + balZ = balZ + getModel()->getTotalPending(); - CAmount balTotal = balT + balZ; + CAmount balTotal = balT + balZ; CAmount balAvailable = balT + balVerified; - if (balZ < 0) + if (balZ < 0) balZ = CAmount::fromqint64(0); // Balances table - ui - > balSheilded - > setText(balZ.toDecimalhushString()); - ui - > balVerified - > setText(balVerified.toDecimalhushString()); - ui - > balTransparent - > setText(balT.toDecimalhushString()); - ui - > balTotal - > setText(balTotal.toDecimalhushString()); - - if (Settings::getInstance() - > get_currency_name() == "USD") { - ui - > balSheilded - > setToolTip(balZ.toDecimalUSDString()); - ui - > balVerified - > setToolTip(balVerified.toDecimalUSDString()); - ui - > balTransparent - > setToolTip(balT.toDecimalUSDString()); - ui - > balTotal - > setToolTip(balTotal.toDecimalUSDString()); - - } else if (Settings::getInstance() - > get_currency_name() == "EUR") { - ui - > balSheilded - > setToolTip(balZ.toDecimalEURString()); - ui - > balVerified - > setToolTip(balVerified.toDecimalEURString()); - ui - > balTransparent - > setToolTip(balT.toDecimalEURString()); - ui - > balTotal - > setToolTip(balTotal.toDecimalEURString()); - - } else if (Settings::getInstance() - > get_currency_name() == "BTC") { - ui - > balSheilded - > setToolTip(balZ.toDecimalBTCString()); - ui - > balVerified - > setToolTip(balVerified.toDecimalBTCString()); - ui - > balTransparent - > setToolTip(balT.toDecimalBTCString()); - ui - > balTotal - > setToolTip(balTotal.toDecimalBTCString()); - - } else if (Settings::getInstance() - > get_currency_name() == "CNY") { - ui - > balSheilded - > setToolTip(balZ.toDecimalCNYString()); - ui - > balVerified - > setToolTip(balVerified.toDecimalCNYString()); - ui - > balTransparent - > setToolTip(balT.toDecimalCNYString()); - ui - > balTotal - > setToolTip(balTotal.toDecimalCNYString()); - - } else if (Settings::getInstance() - > get_currency_name() == "RUB") { - ui - > balSheilded - > setToolTip(balZ.toDecimalRUBString()); - ui - > balVerified - > setToolTip(balVerified.toDecimalRUBString()); - ui - > balTransparent - > setToolTip(balT.toDecimalRUBString()); - ui - > balTotal - > setToolTip(balTotal.toDecimalRUBString()); - - } else if (Settings::getInstance() - > get_currency_name() == "CAD") { - ui - > balSheilded - > setToolTip(balZ.toDecimalCADString()); - ui - > balVerified - > setToolTip(balVerified.toDecimalCADString()); - ui - > balTransparent - > setToolTip(balT.toDecimalCADString()); - ui - > balTotal - > setToolTip(balTotal.toDecimalCADString()); - - } else if (Settings::getInstance() - > get_currency_name() == "SGD") { - ui - > balSheilded - > setToolTip(balZ.toDecimalSGDString()); - ui - > balVerified - > setToolTip(balVerified.toDecimalSGDString()); - ui - > balTransparent - > setToolTip(balT.toDecimalSGDString()); - ui - > balTotal - > setToolTip(balTotal.toDecimalSGDString()); - - } else if (Settings::getInstance() - > get_currency_name() == "CHF") { - ui - > balSheilded - > setToolTip(balZ.toDecimalCHFString()); - ui - > balVerified - > setToolTip(balVerified.toDecimalCHFString()); - ui - > balTransparent - > setToolTip(balT.toDecimalCHFString()); - ui - > balTotal - > setToolTip(balTotal.toDecimalCHFString()); - - } else if (Settings::getInstance() - > get_currency_name() == "INR") { - ui - > balSheilded - > setToolTip(balZ.toDecimalINRString()); - ui - > balVerified - > setToolTip(balVerified.toDecimalINRString()); - ui - > balTransparent - > setToolTip(balT.toDecimalINRString()); - ui - > balTotal - > setToolTip(balTotal.toDecimalINRString()); - - } else if (Settings::getInstance() - > get_currency_name() == "GBP") { - ui - > balSheilded - > setToolTip(balZ.toDecimalGBPString()); - ui - > balVerified - > setToolTip(balVerified.toDecimalGBPString()); - ui - > balTransparent - > setToolTip(balT.toDecimalGBPString()); - ui - > balTotal - > setToolTip(balTotal.toDecimalGBPString()); - - } else if (Settings::getInstance() - > get_currency_name() == "AUD") { - ui - > balSheilded - > setToolTip(balZ.toDecimalAUDString()); - ui - > balVerified - > setToolTip(balVerified.toDecimalAUDString()); - ui - > balTransparent - > setToolTip(balT.toDecimalAUDString()); - ui - > balTotal - > setToolTip(balTotal.toDecimalAUDString()); + ui->balSheilded->setText(balZ.toDecimalhushString()); + ui->balVerified->setText(balVerified.toDecimalhushString()); + ui->balTransparent->setText(balT.toDecimalhushString()); + ui->balTotal->setText(balTotal.toDecimalhushString()); + + if (Settings::getInstance()->get_currency_name() == "USD") + { + ui->balSheilded->setToolTip(balZ.toDecimalUSDString()); + ui->balVerified->setToolTip(balVerified.toDecimalUSDString()); + ui->balTransparent->setToolTip(balT.toDecimalUSDString()); + ui->balTotal->setToolTip(balTotal.toDecimalUSDString()); + + } + else if (Settings::getInstance()->get_currency_name() == "EUR") + { + ui->balSheilded->setToolTip(balZ.toDecimalEURString()); + ui->balVerified->setToolTip(balVerified.toDecimalEURString()); + ui->balTransparent->setToolTip(balT.toDecimalEURString()); + ui->balTotal->setToolTip(balTotal.toDecimalEURString()); + + } + else if (Settings::getInstance()->get_currency_name() == "BTC") + { + ui->balSheilded->setToolTip(balZ.toDecimalBTCString()); + ui->balVerified->setToolTip(balVerified.toDecimalBTCString()); + ui->balTransparent->setToolTip(balT.toDecimalBTCString()); + ui->balTotal->setToolTip(balTotal.toDecimalBTCString()); + + } + else if (Settings::getInstance()->get_currency_name() == "CNY") + { + ui->balSheilded->setToolTip(balZ.toDecimalCNYString()); + ui->balVerified->setToolTip(balVerified.toDecimalCNYString()); + ui->balTransparent->setToolTip(balT.toDecimalCNYString()); + ui->balTotal->setToolTip(balTotal.toDecimalCNYString()); + + } + else if (Settings::getInstance()->get_currency_name() == "RUB") + { + ui->balSheilded->setToolTip(balZ.toDecimalRUBString()); + ui->balVerified->setToolTip(balVerified.toDecimalRUBString()); + ui->balTransparent->setToolTip(balT.toDecimalRUBString()); + ui->balTotal->setToolTip(balTotal.toDecimalRUBString()); + + } + else if (Settings::getInstance()->get_currency_name() == "CAD") + { + ui->balSheilded->setToolTip(balZ.toDecimalCADString()); + ui->balVerified->setToolTip(balVerified.toDecimalCADString()); + ui->balTransparent->setToolTip(balT.toDecimalCADString()); + ui->balTotal->setToolTip(balTotal.toDecimalCADString()); + + } + else if (Settings::getInstance()->get_currency_name() == "SGD") + { + ui->balSheilded->setToolTip(balZ.toDecimalSGDString()); + ui->balVerified->setToolTip(balVerified.toDecimalSGDString()); + ui->balTransparent->setToolTip(balT.toDecimalSGDString()); + ui->balTotal->setToolTip(balTotal.toDecimalSGDString()); + + } + else if (Settings::getInstance()->get_currency_name() == "CHF") + { + ui->balSheilded->setToolTip(balZ.toDecimalCHFString()); + ui->balVerified->setToolTip(balVerified.toDecimalCHFString()); + ui->balTransparent->setToolTip(balT.toDecimalCHFString()); + ui->balTotal->setToolTip(balTotal.toDecimalCHFString()); + + } + else if (Settings::getInstance()->get_currency_name() == "INR") + { + ui->balSheilded->setToolTip(balZ.toDecimalINRString()); + ui->balVerified->setToolTip(balVerified.toDecimalINRString()); + ui->balTransparent->setToolTip(balT.toDecimalINRString()); + ui->balTotal->setToolTip(balTotal.toDecimalINRString()); + + } + else if (Settings::getInstance()->get_currency_name() == "GBP") + { + ui->balSheilded ->setToolTip(balZ.toDecimalGBPString()); + ui->balVerified ->setToolTip(balVerified.toDecimalGBPString()); + ui->balTransparent->setToolTip(balT.toDecimalGBPString()); + ui->balTotal ->setToolTip(balTotal.toDecimalGBPString()); + + } + else if (Settings::getInstance()->get_currency_name() == "AUD") + { + ui->balSheilded ->setToolTip(balZ.toDecimalAUDString()); + ui->balVerified ->setToolTip(balVerified.toDecimalAUDString()); + ui->balTransparent->setToolTip(balT.toDecimalAUDString()); + ui->balTotal ->setToolTip(balTotal.toDecimalAUDString()); } // Send tab - ui - > txtAvailablehush - > setText(balAvailable.toDecimalhushString()); + ui->txtAvailablehush->setText(balAvailable.toDecimalhushString()); - if (Settings::getInstance() - > get_currency_name() == "USD") - ui - > txtAvailableUSD - > setText(balAvailable.toDecimalUSDString()); + if (Settings::getInstance()->get_currency_name() == "USD") + ui->txtAvailableUSD->setText(balAvailable.toDecimalUSDString()); - else if (Settings::getInstance() - > get_currency_name() == "EUR") - ui - > txtAvailableUSD - > setText(balAvailable.toDecimalEURString()); + else if (Settings::getInstance()->get_currency_name() == "EUR") + ui->txtAvailableUSD->setText(balAvailable.toDecimalEURString()); - else if (Settings::getInstance() - > get_currency_name() == "BTC") - ui - > txtAvailableUSD - > setText(balAvailable.toDecimalBTCString()); + else if (Settings::getInstance()->get_currency_name() == "BTC") + ui->txtAvailableUSD->setText(balAvailable.toDecimalBTCString()); - else if (Settings::getInstance() - > get_currency_name() == "CNY") - ui - > txtAvailableUSD - > setText(balAvailable.toDecimalCNYString()); + else if (Settings::getInstance()->get_currency_name() == "CNY") + ui->txtAvailableUSD->setText(balAvailable.toDecimalCNYString()); - else if (Settings::getInstance() - > get_currency_name() == "RUB") - ui - > txtAvailableUSD - > setText(balAvailable.toDecimalRUBString()); + else if (Settings::getInstance()->get_currency_name() == "RUB") + ui->txtAvailableUSD->setText(balAvailable.toDecimalRUBString()); - else if (Settings::getInstance() - > get_currency_name() == "CAD") - ui - > txtAvailableUSD - > setText(balAvailable.toDecimalCADString()); + else if (Settings::getInstance()->get_currency_name() == "CAD") + ui->txtAvailableUSD->setText(balAvailable.toDecimalCADString()); - else if (Settings::getInstance() - > get_currency_name() == "SGD") - ui - > txtAvailableUSD - > setText(balAvailable.toDecimalSGDString()); + else if (Settings::getInstance()->get_currency_name() == "SGD") + ui->txtAvailableUSD->setText(balAvailable.toDecimalSGDString()); - else if (Settings::getInstance() - > get_currency_name() == "CHF") - ui - > txtAvailableUSD - > setText(balAvailable.toDecimalCHFString()); + else if (Settings::getInstance()->get_currency_name() == "CHF") + ui->txtAvailableUSD->setText(balAvailable.toDecimalCHFString()); - else if (Settings::getInstance() - > get_currency_name() == "INR") - ui - > txtAvailableUSD - > setText(balAvailable.toDecimalINRString()); + else if (Settings::getInstance()->get_currency_name() == "INR") + ui->txtAvailableUSD->setText(balAvailable.toDecimalINRString()); - else if (Settings::getInstance() - > get_currency_name() == "GBP") - ui - > txtAvailableUSD - > setText(balAvailable.toDecimalGBPString()); + else if (Settings::getInstance()->get_currency_name() == "GBP") + ui->txtAvailableUSD->setText(balAvailable.toDecimalGBPString()); - else if (Settings::getInstance() - > get_currency_name() == "AUD") - ui - > txtAvailableUSD - > setText(balAvailable.toDecimalAUDString()); + else if (Settings::getInstance()->get_currency_name() == "AUD") + ui->txtAvailableUSD->setText(balAvailable.toDecimalAUDString()); } -void Controller::refreshBalances() { - if (!zrpc - > haveConnection()) +void Controller::refreshBalances() +{ + if (!zrpc->haveConnection()) return noConnection(); // 1. Get the Balances - zrpc - > fetchBalance([ = ](json reply) { - CAmount balT = CAmount::fromqint64(reply["tbalance"].get < json::number_unsigned_t > ()); - CAmount balZ = CAmount::fromqint64(reply["zbalance"].get < json::number_unsigned_t > ()); - CAmount balVerified = CAmount::fromqint64(reply["verified_zbalance"].get < json::number_unsigned_t > ()); - - model - > setBalT(balT); - model - > setBalZ(balZ); - model - > setBalVerified(balVerified); + zrpc->fetchBalance([=] (json reply) { + CAmount balT = CAmount::fromqint64(reply["tbalance"].get()); + CAmount balZ = CAmount::fromqint64(reply["zbalance"].get()); + CAmount balVerified = CAmount::fromqint64(reply["verified_zbalance"].get()); + + model->setBalT(balT); + model->setBalZ(balZ); + model->setBalVerified(balVerified); // This is for the websockets - AppDataModel::getInstance() - > setBalances(balT, balZ); - + AppDataModel::getInstance()->setBalances(balT, balZ); + // This is for the datamodel CAmount balAvailable = balT + balVerified; - model - > setAvailableBalance(balAvailable); + model->setAvailableBalance(balAvailable); updateUIBalances(); }); // 2. Get the UTXOs // First, create a new UTXO list. It will be replacing the existing list when everything is processed. - auto newUnspentOutputs = new QList < UnspentOutput > (); - auto newBalances = new QMap < QString, CAmount > (); + auto newUnspentOutputs = new QList(); + auto newBalances = new QMap(); // Call the Transparent and Z unspent APIs serially and then, once they're done, update the UI - zrpc - > fetchUnspent([ = ](json reply) { + zrpc->fetchUnspent([=] (json reply) { processUnspent(reply, newBalances, newUnspentOutputs); // Swap out the balances and UTXOs - model - > replaceBalances(newBalances); - model - > replaceUTXOs(newUnspentOutputs); + model->replaceBalances(newBalances); + model->replaceUTXOs(newUnspentOutputs); // Find if any output is not spendable or is pending bool anyUnconfirmed = std::find_if( - newUnspentOutputs - > constBegin(), - newUnspentOutputs - > constEnd(), - [ = ](const UnspentOutput & u) - > bool { - return !u.spendable || u.pending; + newUnspentOutputs->constBegin(), + newUnspentOutputs->constEnd(), + [=](const UnspentOutput& u) -> bool { + return !u.spendable || u.pending; } - ) != newUnspentOutputs - > constEnd(); + ) != newUnspentOutputs->constEnd(); updateUI(anyUnconfirmed); - main - > balancesReady(); + main->balancesReady(); }); } -void Controller::refreshTransactions() { - if (!zrpc - > haveConnection()) +void Controller::refreshTransactions() { + if (!zrpc->haveConnection()) return noConnection(); - zrpc - > fetchTransactions([ = ](json reply) { - QList < TransactionItem > txdata; + zrpc->fetchTransactions([=] (json reply) { + QList txdata; - for (auto & it: reply.get < json::array_t > ()) { + for (auto& it : reply.get()) { QString address; CAmount total_amount; - QList < TransactionItemDetail > items; + QList items; long confirmations; - if (it.find("unconfirmed") != it.end() && it["unconfirmed"].get < json::boolean_t > ()) { + if (it.find("unconfirmed") != it.end() && it["unconfirmed"].get()) { confirmations = 0; } else { - confirmations = model - > getLatestBlock() - it["block_height"].get < json::number_integer_t > () + 1; + confirmations = model->getLatestBlock() - it["block_height"].get() + 1; } - + auto txid = QString::fromStdString(it["txid"]); - auto datetime = it["datetime"].get < json::number_integer_t > (); - + auto datetime = it["datetime"].get(); + // First, check if there's outgoing metadata if (!it["outgoing_metadata"].is_null()) { - - for (auto o: it["outgoing_metadata"].get < json::array_t > ()) { - - QString address; - + + for (auto o: it["outgoing_metadata"].get()) { + + QString address; + address = QString::fromStdString(o["address"]); - + // Sent items are -ve - CAmount amount = CAmount::fromqint64(-1 * o["value"].get < json::number_unsigned_t > ()); - - // Check for Memos - + CAmount amount = CAmount::fromqint64(-1* o["value"].get()); + + // Check for Memos + QString memo; if (!o["memo"].is_null()) { memo = QString::fromStdString(o["memo"]); - QString cid; + QString cid; ChatItem item = ChatItem( - datetime, - address, - QString(""), - memo, - QString(""), - QString(""), - cid, - txid, - true - ); - qDebug() << "Memo : " << memo; - - DataStore::getChatDataStore() - > setData(ChatIDGenerator::getInstance() - > generateID(item), item); - - } - - items.push_back(TransactionItemDetail { - address, - amount, - memo - }); + datetime, + address, + QString(""), + memo, + QString(""), + QString(""), + cid, + txid, + true + ); + qDebug()<<"Memo : " <setData(ChatIDGenerator::getInstance()->generateID(item), item); + + } + + items.push_back(TransactionItemDetail{address, amount, memo}); total_amount = total_amount + amount; } - + { - QList < QString > addresses; - for (auto item: items) { - // Concat all the addresses - - addresses.push_back(item.address); - address = addresses.join(","); + QList addresses; + for (auto item : items) { + // Concat all the addresses + + + addresses.push_back(item.address); + address = addresses.join(","); } - - } - - txdata.push_back(TransactionItem { - "send", - datetime, - address, - txid, - confirmations, - items + + } + + txdata.push_back(TransactionItem{ + "send", datetime, address, txid,confirmations, items }); - + } else { // Incoming Transaction address = (it["address"].is_null() ? "" : QString::fromStdString(it["address"])); - model - > markAddressUsed(address); + model->markAddressUsed(address); QString memo; + QString test; if (!it["memo"].is_null()) { memo = QString::fromStdString(it["memo"]); } - items.push_back(TransactionItemDetail { + items.push_back(TransactionItemDetail{ address, - CAmount::fromqint64(it["amount"].get < json::number_integer_t > ()), + CAmount::fromqint64(it["amount"].get()), memo }); - TransactionItem tx { - "Receive", - datetime, - address, - txid, - confirmations, - items + TransactionItem tx{ + "Receive", datetime, address, txid,confirmations, items }; txdata.push_back(tx); - - QString type; - QString cid; - int position; - QString requestZaddr; + + QString type; + QString cid; + int position; + QString requestZaddr; if (!it["memo"].is_null()) { - if (memo.startsWith("{")) { - - QJsonDocument headermemo = QJsonDocument::fromJson(memo.toUtf8()); - - cid = headermemo["cid"].toString(); - type = headermemo["t"].toString(); - requestZaddr = headermemo["z"].toString(); - - chatModel - > addCid(txid, cid); - chatModel - > addrequestZaddr(txid, requestZaddr); + if (memo.startsWith("{")) { - } + QJsonDocument headermemo = QJsonDocument::fromJson(memo.toUtf8()); - if (chatModel - > getCidByTx(txid) != QString("0xdeadbeef")) { + cid = headermemo["cid"].toString(); + type = headermemo["t"].toString(); + requestZaddr = headermemo["z"].toString(); - cid = chatModel - > getCidByTx(txid); + chatModel->addCid(txid, cid); + chatModel->addrequestZaddr(txid, requestZaddr); - } else { - cid = ""; - } + } + + if (chatModel->getCidByTx(txid) != QString("0xdeadbeef")){ - if (chatModel - > getrequestZaddrByTx(txid) != QString("0xdeadbeef")) { + cid = chatModel->getCidByTx(txid); - requestZaddr = chatModel - > getrequestZaddrByTx(txid); - } else { - requestZaddr = ""; + }else{ + cid = ""; } - position = it["position"].get < json::number_integer_t > (); + + if (chatModel->getrequestZaddrByTx(txid) != QString("0xdeadbeef")){ + + requestZaddr = chatModel->getrequestZaddrByTx(txid); + }else{ + requestZaddr = ""; + } + position = it["position"].get(); ChatItem item = ChatItem( - datetime, - address, - QString(""), - memo, - requestZaddr, - type, - cid, - txid, - false - ); - qDebug() << "Position : " << position; - - DataStore::getChatDataStore() - > setData(ChatIDGenerator::getInstance() - > generateID(item), item); - } + datetime, + address, + QString(""), + memo, + requestZaddr, + type, + cid, + txid, + false + ); + qDebug()<< "Position : " << position; + + DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); + } } - + } // Calculate the total unspent amount that's pending. This will need to be // shown in the UI so the user can keep track of pending funds CAmount totalPending; - for (auto txitem: txdata) { + for (auto txitem : txdata) { if (txitem.confirmations == 0) { for (auto item: txitem.items) { totalPending = totalPending + item.amount; } } } - getModel() - > setTotalPending(totalPending); + getModel()->setTotalPending(totalPending); // Update UI Balance updateUIBalances(); - // Update model data, which updates the table view - transactionsTableModel - > replaceData(txdata); - chat - > renderChatBox(ui, ui - > listChat); + // Update model data, which updates the table view + transactionsTableModel->replaceData(txdata); + chat->renderChatBox(ui, ui->listChat); refreshContacts( - ui - > listContactWidget - + ui->listContactWidget + ); - }); + }); } -void Controller::refreshChat(QListView * listWidget) { - chat - > renderChatBox(ui, listWidget); - +void Controller::refreshChat(QListView *listWidget) +{ + chat->renderChatBox(ui, listWidget); + } -void Controller::refreshContacts(QListView * listWidget) { - contactModel - > renderContactList(listWidget); +void Controller::refreshContacts(QListView *listWidget) +{ + contactModel->renderContactList(listWidget); } // If the wallet is encrpyted and locked, we need to unlock it -void Controller::unlockIfEncrypted(std:: function < void(void) > cb, std:: function < void(void) > error) { - auto encStatus = getModel() - > getEncryptionStatus(); - if (encStatus.first && encStatus.second) { +void Controller::unlockIfEncrypted(std::function cb, std::function error) +{ + auto encStatus = getModel()->getEncryptionStatus(); + if (encStatus.first && encStatus.second) + { // Wallet is encrypted and locked. Ask for the password and unlock. QString password = QInputDialog::getText( - main, - main - > tr("Wallet Password"), - main - > tr("Your wallet is encrypted.\nPlease enter your wallet password"), + main, + main->tr("Wallet Password"), + main->tr("Your wallet is encrypted.\nPlease enter your wallet password"), QLineEdit::Password ); - if (password.isEmpty()) { + if (password.isEmpty()) + { QMessageBox::critical( - main, - main - > tr("Wallet Decryption Failed"), - main - > tr("Please enter a valid password"), + main, + main->tr("Wallet Decryption Failed"), + main->tr("Please enter a valid password"), QMessageBox::Ok ); error(); return; } - zrpc - > unlockWallet(password, [ = ](json reply) { - if (isJsonResultSuccess(reply)) { + zrpc->unlockWallet(password, [=](json reply) { + if (isJsonResultSuccess(reply)) + { cb(); // Refresh the wallet so the encryption status is now in sync. refresh(true); - } else { + } + else + { QMessageBox::critical( - main, - main - > tr("Wallet Decryption Failed"), - QString::fromStdString(reply["error"].get < json::string_t > ()), + main, + main->tr("Wallet Decryption Failed"), + QString::fromStdString(reply["error"].get()), QMessageBox::Ok ); error(); } }); - } else { + } + else + { // Not locked, so just call the function cb(); } @@ -1023,75 +1077,86 @@ void Controller::unlockIfEncrypted(std:: function < void(void) > cb, std:: funct * Execute a transaction with the standard UI. i.e., standard status bar message and standard error * handling */ -void Controller::executeStandardUITransaction(Tx tx) { - executeTransaction(tx, [ = ](QString txid) { - ui - > statusBar - > showMessage(Settings::txidStatusMessage + " " + txid); +void Controller::executeStandardUITransaction(Tx tx) +{ + executeTransaction(tx, [=] (QString txid) { + ui->statusBar->showMessage(Settings::txidStatusMessage + " " + txid); }, - [ = ](QString opid, QString errStr) { - ui - > statusBar - > showMessage( + [=] (QString opid, QString errStr) { + ui->statusBar->showMessage( QObject::tr(" Tx ") % opid % QObject::tr(" failed"), 15 * 1000 ); if (!opid.isEmpty()) - errStr = QObject::tr("The transaction with id ") % opid % QObject::tr(" failed. The error was") + ":\n\n" + errStr; + errStr = QObject::tr("The transaction with id ") % opid % QObject::tr(" failed. The error was") + ":\n\n" + errStr; QMessageBox::critical( - main, - QObject::tr("Transaction Error"), - errStr, + main, + QObject::tr("Transaction Error"), + errStr, QMessageBox::Ok - ); + ); } ); } + // Execute a transaction! -void Controller::executeTransaction(Tx tx, - const std:: function < void(QString txid) > submitted, - const std:: function < void(QString txid, QString errStr) > error) { - unlockIfEncrypted([ = ]() { +void Controller::executeTransaction(Tx tx, + const std::function submitted, + const std::function error) +{ + unlockIfEncrypted([=] () { // First, create the json params json params = json::array(); fillTxJsonParams(params, tx); std::cout << std::setw(2) << params << std::endl; - zrpc - > sendTransaction(QString::fromStdString(params.dump()), [ = ](const json & reply) { - if (reply.find("txid") == reply.end()) { - error("", "Couldn't understand Response: " + QString::fromStdString(reply.dump())); - } else { - QString txid = QString::fromStdString(reply["txid"].get < json::string_t > ()); - submitted(txid); - } - }, - [ = ](QString errStr) { - error("", errStr); - }); - }, [ = ]() { - error("", main - > tr("Failed to unlock wallet")); + zrpc->sendTransaction(QString::fromStdString(params.dump()), [=](const json& reply) { + if (reply.find("txid") == reply.end()) + { + error("", "Couldn't understand Response: " + QString::fromStdString(reply.dump())); + } + else + { + QString txid = QString::fromStdString(reply["txid"].get()); + submitted(txid); + } + }, + [=](QString errStr) { + error("", errStr); + }); + }, [=]() { + error("", main->tr("Failed to unlock wallet")); }); } -void Controller::checkForUpdate(bool silent) { - if (!zrpc - > haveConnection()) + +void Controller::checkForUpdate(bool silent) +{ + if (!zrpc->haveConnection()) return noConnection(); QUrl cmcURL("https://api.github.com/repos/MyHush/SilentDragonLite/releases"); QNetworkRequest req; req.setUrl(cmcURL); + + QNetworkAccessManager *manager = new QNetworkAccessManager(this->main); + QNetworkReply *reply = manager->get(req); - QNetworkAccessManager * manager = new QNetworkAccessManager(this - > main); - QNetworkReply * reply = manager - > get(req); + QObject::connect(reply, &QNetworkReply::finished, [=] { + reply->deleteLater(); + manager->deleteLater(); - QObject::connect(reply, & QNetworkReply::finished, [ = ] { - reply - > deleteLater(); - manager - > deleteLater(); - - try { - if (reply - > error() == QNetworkReply::NoError) { - auto releases = QJsonDocument::fromJson(reply - > readAll()).array(); + try + { + if (reply->error() == QNetworkReply::NoError) + { + auto releases = QJsonDocument::fromJson(reply->readAll()).array(); QVersionNumber maxVersion(0, 0, 0); - for (QJsonValue rel: releases) { + for (QJsonValue rel : releases) + { if (!rel.toObject().contains("tag_name")) continue; @@ -1099,7 +1164,8 @@ void Controller::checkForUpdate(bool silent) { if (tag.startsWith("v")) tag = tag.right(tag.length() - 1); - if (!tag.isEmpty()) { + if (!tag.isEmpty()) + { auto v = QVersionNumber::fromString(tag); if (v > maxVersion) maxVersion = v; @@ -1107,367 +1173,418 @@ void Controller::checkForUpdate(bool silent) { } auto currentVersion = QVersionNumber::fromString(APP_VERSION); - + // Get the max version that the user has hidden updates for QSettings s; auto maxHiddenVersion = QVersionNumber::fromString( - s.value("update/lastversion", "0.0.0").toString()); + s.value("update/lastversion", "0.0.0" + ).toString()); qDebug() << "Version check: Current " << currentVersion << ", Available " << maxVersion; - if (maxVersion > currentVersion && (!silent || maxVersion > maxHiddenVersion)) { - auto ans = QMessageBox::information(main, QObject::tr("Update Available"), + if (maxVersion > currentVersion && (!silent || maxVersion > maxHiddenVersion)) + { + auto ans = QMessageBox::information(main, QObject::tr("Update Available"), QObject::tr("A new release v%1 is available! You have v%2.\n\nWould you like to visit the releases page?") - .arg(maxVersion.toString()) - .arg(currentVersion.toString()), + .arg(maxVersion.toString()) + .arg(currentVersion.toString()), QMessageBox::Yes, QMessageBox::Cancel); - if (ans == QMessageBox::Yes) { + if (ans == QMessageBox::Yes) + { QDesktopServices::openUrl(QUrl("https://github.com/MyHush/SilentDragonLite/releases")); - } else { + } + else + { // If the user selects cancel, don't bother them again for this version s.setValue("update/lastversion", maxVersion.toString()); } - } else { - if (!silent) { - QMessageBox::information(main, QObject::tr("No updates available"), + } + else + { + if (!silent) + { + QMessageBox::information(main, QObject::tr("No updates available"), QObject::tr("You already have the latest release v%1") - .arg(currentVersion.toString())); + .arg(currentVersion.toString())); } - } + } } - } catch (...) { + } + catch (...) + { // If anything at all goes wrong, just set the price to 0 and move on. qDebug() << QString("Caught something nasty"); - } + } }); } // Get the hush->USD price from coinmarketcap using their API -void Controller::refreshZECPrice() { - if (!zrpc - > haveConnection()) +void Controller::refreshZECPrice() +{ + if (!zrpc->haveConnection()) return noConnection(); - // TODO: use/render all this data + // TODO: use/render all this data QUrl cmcURL("https://api.coingecko.com/api/v3/simple/price?ids=hush&vs_currencies=btc%2Cusd%2Ceur%2Ceth%2Cgbp%2Ccny%2Cjpy%2Crub%2Ccad%2Csgd%2Cchf%2Cinr%2Caud%2Cinr&include_market_cap=true&include_24hr_vol=true&include_24hr_change=true"); - + QNetworkRequest req; req.setUrl(cmcURL); - QNetworkAccessManager * manager = new QNetworkAccessManager(this - > main); - QNetworkReply * reply = manager - > get(req); - QObject::connect(reply, & QNetworkReply::finished, [ = ] { - reply - > deleteLater(); - manager - > deleteLater(); - - try { - if (reply - > error() != QNetworkReply::NoError) { - auto parsed = json::parse(reply - > readAll(), nullptr, false); - if (!parsed.is_discarded() && !parsed["error"]["message"].is_null()) + QNetworkAccessManager *manager = new QNetworkAccessManager(this->main); + QNetworkReply *reply = manager->get(req); + QObject::connect(reply, &QNetworkReply::finished, [=] { + reply->deleteLater(); + manager->deleteLater(); + + try + { + if (reply->error() != QNetworkReply::NoError) + { + auto parsed = json::parse(reply->readAll(), nullptr, false); + if (!parsed.is_discarded() && !parsed["error"]["message"].is_null()) qDebug() << QString::fromStdString(parsed["error"]["message"]); else - qDebug() << reply - > errorString(); - - Settings::getInstance() - > setZECPrice(0); - Settings::getInstance() - > setEURPrice(0); - Settings::getInstance() - > setBTCPrice(0); - Settings::getInstance() - > setCNYPrice(0); - Settings::getInstance() - > setRUBPrice(0); - Settings::getInstance() - > setCADPrice(0); - Settings::getInstance() - > setSGDPrice(0); - Settings::getInstance() - > setCHFPrice(0); - Settings::getInstance() - > setGBPPrice(0); - Settings::getInstance() - > setAUDPrice(0); - Settings::getInstance() - > setINRPrice(0); - Settings::getInstance() - > setUSDVolume(0); - Settings::getInstance() - > setEURVolume(0); - Settings::getInstance() - > setBTCVolume(0); - Settings::getInstance() - > setCNYVolume(0); - Settings::getInstance() - > setRUBVolume(0); - Settings::getInstance() - > setCADVolume(0); - Settings::getInstance() - > setINRVolume(0); - Settings::getInstance() - > setSGDVolume(0); - Settings::getInstance() - > setCHFVolume(0); - Settings::getInstance() - > setGBPVolume(0); - Settings::getInstance() - > setAUDVolume(0); - Settings::getInstance() - > setUSDCAP(0); - Settings::getInstance() - > setEURCAP(0); - Settings::getInstance() - > setBTCCAP(0); - Settings::getInstance() - > setCNYCAP(0); - Settings::getInstance() - > setRUBCAP(0); - Settings::getInstance() - > setCADCAP(0); - Settings::getInstance() - > setINRCAP(0); - Settings::getInstance() - > setSGDCAP(0); - Settings::getInstance() - > setCHFCAP(0); - Settings::getInstance() - > setGBPCAP(0); - Settings::getInstance() - > setAUDCAP(0); + qDebug() << reply->errorString(); + + Settings::getInstance()->setZECPrice(0); + Settings::getInstance()->setEURPrice(0); + Settings::getInstance()->setBTCPrice(0); + Settings::getInstance()->setCNYPrice(0); + Settings::getInstance()->setRUBPrice(0); + Settings::getInstance()->setCADPrice(0); + Settings::getInstance()->setSGDPrice(0); + Settings::getInstance()->setCHFPrice(0); + Settings::getInstance()->setGBPPrice(0); + Settings::getInstance()->setAUDPrice(0); + Settings::getInstance()->setINRPrice(0); + Settings::getInstance()->setUSDVolume(0); + Settings::getInstance()->setEURVolume(0); + Settings::getInstance()->setBTCVolume(0); + Settings::getInstance()->setCNYVolume(0); + Settings::getInstance()->setRUBVolume(0); + Settings::getInstance()->setCADVolume(0); + Settings::getInstance()->setINRVolume(0); + Settings::getInstance()->setSGDVolume(0); + Settings::getInstance()->setCHFVolume(0); + Settings::getInstance()->setGBPVolume(0); + Settings::getInstance()->setAUDVolume(0); + Settings::getInstance()->setUSDCAP(0); + Settings::getInstance()->setEURCAP(0); + Settings::getInstance()->setBTCCAP(0); + Settings::getInstance()->setCNYCAP(0); + Settings::getInstance()->setRUBCAP(0); + Settings::getInstance()->setCADCAP(0); + Settings::getInstance()->setINRCAP(0); + Settings::getInstance()->setSGDCAP(0); + Settings::getInstance()->setCHFCAP(0); + Settings::getInstance()->setGBPCAP(0); + Settings::getInstance()->setAUDCAP(0); return; } qDebug() << "No network errors"; - auto all = reply - > readAll(); + auto all = reply->readAll(); auto parsed = json::parse(all, nullptr, false); - if (parsed.is_discarded()) { - Settings::getInstance() - > setZECPrice(0); - Settings::getInstance() - > setEURPrice(0); - Settings::getInstance() - > setBTCPrice(0); - Settings::getInstance() - > setCNYPrice(0); - Settings::getInstance() - > setRUBPrice(0); - Settings::getInstance() - > setCADPrice(0); - Settings::getInstance() - > setSGDPrice(0); - Settings::getInstance() - > setCHFPrice(0); - Settings::getInstance() - > setGBPPrice(0); - Settings::getInstance() - > setAUDPrice(0); - Settings::getInstance() - > setINRPrice(0); - Settings::getInstance() - > setUSDVolume(0); - Settings::getInstance() - > setEURVolume(0); - Settings::getInstance() - > setBTCVolume(0); - Settings::getInstance() - > setCNYVolume(0); - Settings::getInstance() - > setRUBVolume(0); - Settings::getInstance() - > setCADVolume(0); - Settings::getInstance() - > setINRVolume(0); - Settings::getInstance() - > setSGDVolume(0); - Settings::getInstance() - > setCHFVolume(0); - Settings::getInstance() - > setGBPVolume(0); - Settings::getInstance() - > setAUDVolume(0); - Settings::getInstance() - > setUSDCAP(0); - Settings::getInstance() - > setEURCAP(0); - Settings::getInstance() - > setBTCCAP(0); - Settings::getInstance() - > setCNYCAP(0); - Settings::getInstance() - > setRUBCAP(0); - Settings::getInstance() - > setCADCAP(0); - Settings::getInstance() - > setINRCAP(0); - Settings::getInstance() - > setSGDCAP(0); - Settings::getInstance() - > setCHFCAP(0); - Settings::getInstance() - > setGBPCAP(0); - Settings::getInstance() - > setAUDCAP(0); + if (parsed.is_discarded()) + { + Settings::getInstance()->setZECPrice(0); + Settings::getInstance()->setEURPrice(0); + Settings::getInstance()->setBTCPrice(0); + Settings::getInstance()->setCNYPrice(0); + Settings::getInstance()->setRUBPrice(0); + Settings::getInstance()->setCADPrice(0); + Settings::getInstance()->setSGDPrice(0); + Settings::getInstance()->setCHFPrice(0); + Settings::getInstance()->setGBPPrice(0); + Settings::getInstance()->setAUDPrice(0); + Settings::getInstance()->setINRPrice(0); + Settings::getInstance()->setUSDVolume(0); + Settings::getInstance()->setEURVolume(0); + Settings::getInstance()->setBTCVolume(0); + Settings::getInstance()->setCNYVolume(0); + Settings::getInstance()->setRUBVolume(0); + Settings::getInstance()->setCADVolume(0); + Settings::getInstance()->setINRVolume(0); + Settings::getInstance()->setSGDVolume(0); + Settings::getInstance()->setCHFVolume(0); + Settings::getInstance()->setGBPVolume(0); + Settings::getInstance()->setAUDVolume(0); + Settings::getInstance()->setUSDCAP(0); + Settings::getInstance()->setEURCAP(0); + Settings::getInstance()->setBTCCAP(0); + Settings::getInstance()->setCNYCAP(0); + Settings::getInstance()->setRUBCAP(0); + Settings::getInstance()->setCADCAP(0); + Settings::getInstance()->setINRCAP(0); + Settings::getInstance()->setSGDCAP(0); + Settings::getInstance()->setCHFCAP(0); + Settings::getInstance()->setGBPCAP(0); + Settings::getInstance()->setAUDCAP(0); return; } qDebug() << "Parsed JSON"; - const json & item = parsed.get < json::object_t > (); - const json & hush = item["hush"].get < json::object_t > (); + const json& item = parsed.get(); + const json& hush = item["hush"].get(); - if (hush["usd"] >= 0) { + if (hush["usd"] >= 0) + { qDebug() << "Found hush key in price json"; - qDebug() << "HUSH = $" << QString::number((double) hush["usd"]); - Settings::getInstance() - > setZECPrice(hush["usd"]); + qDebug() << "HUSH = $" << QString::number((double)hush["usd"]); + Settings::getInstance()->setZECPrice( hush["usd"] ); } - if (hush["eur"] >= 0) { - qDebug() << "HUSH = €" << QString::number((double) hush["eur"]); - Settings::getInstance() - > setEURPrice(hush["eur"]); + if (hush["eur"] >= 0) + { + qDebug() << "HUSH = €" << QString::number((double)hush["eur"]); + Settings::getInstance()->setEURPrice(hush["eur"]); } - if (hush["btc"] >= 0) { - qDebug() << "HUSH = BTC" << QString::number((double) hush["btc"]); - Settings::getInstance() - > setBTCPrice(hush["btc"]); + if (hush["btc"] >= 0) + { + qDebug() << "HUSH = BTC" << QString::number((double)hush["btc"]); + Settings::getInstance()->setBTCPrice( hush["btc"]); } - if (hush["cny"] >= 0) { - qDebug() << "HUSH = CNY" << QString::number((double) hush["cny"]); - Settings::getInstance() - > setCNYPrice(hush["cny"]); + if (hush["cny"] >= 0) + { + qDebug() << "HUSH = CNY" << QString::number((double)hush["cny"]); + Settings::getInstance()->setCNYPrice( hush["cny"]); } - if (hush["rub"] >= 0) { - qDebug() << "HUSH = RUB" << QString::number((double) hush["rub"]); - Settings::getInstance() - > setRUBPrice(hush["rub"]); + if (hush["rub"] >= 0) + { + qDebug() << "HUSH = RUB" << QString::number((double)hush["rub"]); + Settings::getInstance()->setRUBPrice( hush["rub"]); } - if (hush["cad"] >= 0) { - qDebug() << "HUSH = CAD" << QString::number((double) hush["cad"]); - Settings::getInstance() - > setCADPrice(hush["cad"]); + if (hush["cad"] >= 0) + { + qDebug() << "HUSH = CAD" << QString::number((double)hush["cad"]); + Settings::getInstance()->setCADPrice( hush["cad"]); } - if (hush["sgd"] >= 0) { - qDebug() << "HUSH = SGD" << QString::number((double) hush["sgd"]); - Settings::getInstance() - > setSGDPrice(hush["sgd"]); + if (hush["sgd"] >= 0) + { + qDebug() << "HUSH = SGD" << QString::number((double)hush["sgd"]); + Settings::getInstance()->setSGDPrice( hush["sgd"]); } - if (hush["chf"] >= 0) { - qDebug() << "HUSH = CHF" << QString::number((double) hush["chf"]); - Settings::getInstance() - > setCHFPrice(hush["chf"]); + if (hush["chf"] >= 0) + { + qDebug() << "HUSH = CHF" << QString::number((double)hush["chf"]); + Settings::getInstance()->setCHFPrice( hush["chf"]); } - if (hush["inr"] >= 0) { - qDebug() << "HUSH = INR" << QString::number((double) hush["inr"]); - Settings::getInstance() - > setINRPrice(hush["inr"]); + if (hush["inr"] >= 0) + { + qDebug() << "HUSH = INR" << QString::number((double)hush["inr"]); + Settings::getInstance()->setINRPrice( hush["inr"]); } - if (hush["gbp"] >= 0) { - qDebug() << "HUSH = GBP" << QString::number((double) hush["gbp"]); - Settings::getInstance() - > setGBPPrice(hush["gbp"]); + if (hush["gbp"] >= 0) + { + qDebug() << "HUSH = GBP" << QString::number((double)hush["gbp"]); + Settings::getInstance()->setGBPPrice( hush["gbp"]); } - if (hush["aud"] >= 0) { - qDebug() << "HUSH = AUD" << QString::number((double) hush["aud"]); - Settings::getInstance() - > setAUDPrice(hush["aud"]); + if (hush["aud"] >= 0) + { + qDebug() << "HUSH = AUD" << QString::number((double)hush["aud"]); + Settings::getInstance()->setAUDPrice( hush["aud"]); } - if (hush["btc_24h_vol"] >= 0) { - qDebug() << "HUSH = usd_24h_vol" << QString::number((double) hush["usd_24h_vol"]); - Settings::getInstance() - > setUSDVolume(hush["usd_24h_vol"]); + if (hush["btc_24h_vol"] >= 0) + { + qDebug() << "HUSH = usd_24h_vol" << QString::number((double)hush["usd_24h_vol"]); + Settings::getInstance()->setUSDVolume( hush["usd_24h_vol"]); } - if (hush["btc_24h_vol"] >= 0) { - qDebug() << "HUSH = euro_24h_vol" << QString::number((double) hush["eur_24h_vol"]); - Settings::getInstance() - > setEURVolume(hush["eur_24h_vol"]); + if (hush["btc_24h_vol"] >= 0) + { + qDebug() << "HUSH = euro_24h_vol" << QString::number((double)hush["eur_24h_vol"]); + Settings::getInstance()->setEURVolume( hush["eur_24h_vol"]); } - if (hush["btc_24h_vol"] >= 0) { - qDebug() << "HUSH = btc_24h_vol" << QString::number((double) hush["btc_24h_vol"]); - Settings::getInstance() - > setBTCVolume(hush["btc_24h_vol"]); + if (hush["btc_24h_vol"] >= 0) + { + qDebug() << "HUSH = btc_24h_vol" << QString::number((double)hush["btc_24h_vol"]); + Settings::getInstance()->setBTCVolume( hush["btc_24h_vol"]); } - - if (hush["cny_24h_vol"] >= 0) { - qDebug() << "HUSH = cny_24h_vol" << QString::number((double) hush["cny_24h_vol"]); - Settings::getInstance() - > setCNYVolume(hush["cny_24h_vol"]); + + if (hush["cny_24h_vol"] >= 0) + { + qDebug() << "HUSH = cny_24h_vol" << QString::number((double)hush["cny_24h_vol"]); + Settings::getInstance()->setCNYVolume( hush["cny_24h_vol"]); } - if (hush["rub_24h_vol"] >= 0) { - qDebug() << "HUSH = rub_24h_vol" << QString::number((double) hush["rub_24h_vol"]); - Settings::getInstance() - > setRUBVolume(hush["rub_24h_vol"]); + if (hush["rub_24h_vol"] >= 0) + { + qDebug() << "HUSH = rub_24h_vol" << QString::number((double)hush["rub_24h_vol"]); + Settings::getInstance()->setRUBVolume( hush["rub_24h_vol"]); } - - if (hush["cad_24h_vol"] >= 0) { - qDebug() << "HUSH = cad_24h_vol" << QString::number((double) hush["cad_24h_vol"]); - Settings::getInstance() - > setCADVolume(hush["cad_24h_vol"]); + + if (hush["cad_24h_vol"] >= 0) + { + qDebug() << "HUSH = cad_24h_vol" << QString::number((double)hush["cad_24h_vol"]); + Settings::getInstance()->setCADVolume( hush["cad_24h_vol"]); } - if (hush["sgd_24h_vol"] >= 0) { - qDebug() << "HUSH = sgd_24h_vol" << QString::number((double) hush["sgd_24h_vol"]); - Settings::getInstance() - > setSGDVolume(hush["sgd_24h_vol"]); + if (hush["sgd_24h_vol"] >= 0) + { + qDebug() << "HUSH = sgd_24h_vol" << QString::number((double)hush["sgd_24h_vol"]); + Settings::getInstance()->setSGDVolume( hush["sgd_24h_vol"]); } - if (hush["chf_24h_vol"] >= 0) { - qDebug() << "HUSH = chf_24h_vol" << QString::number((double) hush["chf_24h_vol"]); - Settings::getInstance() - > setCHFVolume(hush["chf_24h_vol"]); + if (hush["chf_24h_vol"] >= 0) + { + qDebug() << "HUSH = chf_24h_vol" << QString::number((double)hush["chf_24h_vol"]); + Settings::getInstance()->setCHFVolume( hush["chf_24h_vol"]); } - if (hush["inr_24h_vol"] >= 0) { - qDebug() << "HUSH = inr_24h_vol" << QString::number((double) hush["inr_24h_vol"]); - Settings::getInstance() - > setINRVolume(hush["inr_24h_vol"]); + if (hush["inr_24h_vol"] >= 0) + { + qDebug() << "HUSH = inr_24h_vol" << QString::number((double)hush["inr_24h_vol"]); + Settings::getInstance()->setINRVolume( hush["inr_24h_vol"]); } - if (hush["gbp_24h_vol"] >= 0) { - qDebug() << "HUSH = gbp_24h_vol" << QString::number((double) hush["gbp_24h_vol"]); - Settings::getInstance() - > setGBPVolume(hush["gbp_24h_vol"]); + if (hush["gbp_24h_vol"] >= 0) + { + qDebug() << "HUSH = gbp_24h_vol" << QString::number((double)hush["gbp_24h_vol"]); + Settings::getInstance()->setGBPVolume( hush["gbp_24h_vol"]); } - if (hush["aud_24h_vol"] >= 0) { - qDebug() << "HUSH = aud_24h_vol" << QString::number((double) hush["aud_24h_vol"]); - Settings::getInstance() - > setAUDVolume(hush["aud_24h_vol"]); + if (hush["aud_24h_vol"] >= 0) + { + qDebug() << "HUSH = aud_24h_vol" << QString::number((double)hush["aud_24h_vol"]); + Settings::getInstance()->setAUDVolume( hush["aud_24h_vol"]); } - if (hush["usd_market_cap"] >= 0) { - qDebug() << "HUSH = usd_market_cap" << QString::number((double) hush["usd_market_cap"]); - Settings::getInstance() - > setUSDCAP(hush["usd_market_cap"]); + if (hush["usd_market_cap"] >= 0) + { + qDebug() << "HUSH = usd_market_cap" << QString::number((double)hush["usd_market_cap"]); + Settings::getInstance()->setUSDCAP( hush["usd_market_cap"]); } - if (hush["eur_market_cap"] >= 0) { - qDebug() << "HUSH = eur_market_cap" << QString::number((double) hush["eur_market_cap"]); - Settings::getInstance() - > setEURCAP(hush["eur_market_cap"]); + if (hush["eur_market_cap"] >= 0) + { + qDebug() << "HUSH = eur_market_cap" << QString::number((double)hush["eur_market_cap"]); + Settings::getInstance()->setEURCAP( hush["eur_market_cap"]); } - if (hush["btc_market_cap"] >= 0) { - qDebug() << "HUSH = btc_market_cap" << QString::number((double) hush["btc_market_cap"]); - Settings::getInstance() - > setBTCCAP(hush["btc_market_cap"]); + if (hush["btc_market_cap"] >= 0) + { + qDebug() << "HUSH = btc_market_cap" << QString::number((double)hush["btc_market_cap"]); + Settings::getInstance()->setBTCCAP( hush["btc_market_cap"]); } - if (hush["cny_market_cap"] >= 0) { - qDebug() << "HUSH = cny_market_cap" << QString::number((double) hush["cny_market_cap"]); - Settings::getInstance() - > setCNYCAP(hush["cny_market_cap"]); + if (hush["cny_market_cap"] >= 0) + { + qDebug() << "HUSH = cny_market_cap" << QString::number((double)hush["cny_market_cap"]); + Settings::getInstance()->setCNYCAP( hush["cny_market_cap"]); } - if (hush["rub_market_cap"] >= 0) { - qDebug() << "HUSH = rub_market_cap" << QString::number((double) hush["rub_market_cap"]); - Settings::getInstance() - > setRUBCAP(hush["rub_market_cap"]); + if (hush["rub_market_cap"] >= 0) + { + qDebug() << "HUSH = rub_market_cap" << QString::number((double)hush["rub_market_cap"]); + Settings::getInstance()->setRUBCAP( hush["rub_market_cap"]); } - if (hush["cad_market_cap"] >= 0) { - qDebug() << "HUSH = cad_market_cap" << QString::number((double) hush["cad_market_cap"]); - Settings::getInstance() - > setCADCAP(hush["cad_market_cap"]); + if (hush["cad_market_cap"] >= 0) + { + qDebug() << "HUSH = cad_market_cap" << QString::number((double)hush["cad_market_cap"]); + Settings::getInstance()->setCADCAP( hush["cad_market_cap"]); } - if (hush["sgd_market_cap"] >= 0) { - qDebug() << "HUSH = sgd_market_cap" << QString::number((double) hush["sgd_market_cap"]); - Settings::getInstance() - > setSGDCAP(hush["sgd_market_cap"]); + if (hush["sgd_market_cap"] >= 0) + { + qDebug() << "HUSH = sgd_market_cap" << QString::number((double)hush["sgd_market_cap"]); + Settings::getInstance()->setSGDCAP( hush["sgd_market_cap"]); } - if (hush["chf_market_cap"] >= 0) { - qDebug() << "HUSH = chf_market_cap" << QString::number((double) hush["chf_market_cap"]); - Settings::getInstance() - > setCHFCAP(hush["chf_market_cap"]); + if (hush["chf_market_cap"] >= 0) + { + qDebug() << "HUSH = chf_market_cap" << QString::number((double)hush["chf_market_cap"]); + Settings::getInstance()->setCHFCAP( hush["chf_market_cap"]); } - if (hush["inr_market_cap"] >= 0) { - qDebug() << "HUSH = inr_market_cap" << QString::number((double) hush["inr_market_cap"]); - Settings::getInstance() - > setINRCAP(hush["inr_market_cap"]); + if (hush["inr_market_cap"] >= 0) + { + qDebug() << "HUSH = inr_market_cap" << QString::number((double)hush["inr_market_cap"]); + Settings::getInstance()->setINRCAP( hush["inr_market_cap"]); } - if (hush["gbp_market_cap"] >= 0) { - qDebug() << "HUSH = gbp_market_cap" << QString::number((double) hush["gbp_market_cap"]); - Settings::getInstance() - > setGBPCAP(hush["gbp_market_cap"]); + if (hush["gbp_market_cap"] >= 0) + { + qDebug() << "HUSH = gbp_market_cap" << QString::number((double)hush["gbp_market_cap"]); + Settings::getInstance()->setGBPCAP( hush["gbp_market_cap"]); } - if (hush["aud_market_cap"] >= 0) { - qDebug() << "HUSH = aud_market_cap" << QString::number((double) hush["aud_market_cap"]); - Settings::getInstance() - > setAUDCAP(hush["aud_market_cap"]); + if (hush["aud_market_cap"] >= 0) + { + qDebug() << "HUSH = aud_market_cap" << QString::number((double)hush["aud_market_cap"]); + Settings::getInstance()->setAUDCAP( hush["aud_market_cap"]); } return; - } catch (const std::exception & e) { + } + catch (const std::exception& e) + { // If anything at all goes wrong, just set the price to 0 and move on. qDebug() << QString("Caught something nasty: ") << e.what(); } // If nothing, then set the price to 0; - Settings::getInstance() - > setZECPrice(0); - Settings::getInstance() - > setEURPrice(0); - Settings::getInstance() - > setBTCPrice(0); - Settings::getInstance() - > setCNYPrice(0); - Settings::getInstance() - > setRUBPrice(0); - Settings::getInstance() - > setCADPrice(0); - Settings::getInstance() - > setSGDPrice(0); - Settings::getInstance() - > setCHFPrice(0); - Settings::getInstance() - > setGBPPrice(0); - Settings::getInstance() - > setAUDPrice(0); - Settings::getInstance() - > setINRPrice(0); - Settings::getInstance() - > setBTCVolume(0); - Settings::getInstance() - > setUSDVolume(0); - Settings::getInstance() - > setEURVolume(0); - Settings::getInstance() - > setBTCVolume(0); - Settings::getInstance() - > setCNYVolume(0); - Settings::getInstance() - > setRUBVolume(0); - Settings::getInstance() - > setCADVolume(0); - Settings::getInstance() - > setINRVolume(0); - Settings::getInstance() - > setSGDVolume(0); - Settings::getInstance() - > setCHFVolume(0); - Settings::getInstance() - > setGBPVolume(0); - Settings::getInstance() - > setAUDVolume(0); - Settings::getInstance() - > setUSDCAP(0); - Settings::getInstance() - > setEURCAP(0); - Settings::getInstance() - > setBTCCAP(0); - Settings::getInstance() - > setCNYCAP(0); - Settings::getInstance() - > setRUBCAP(0); - Settings::getInstance() - > setCADCAP(0); - Settings::getInstance() - > setINRCAP(0); - Settings::getInstance() - > setSGDCAP(0); - Settings::getInstance() - > setCHFCAP(0); - Settings::getInstance() - > setGBPCAP(0); - Settings::getInstance() - > setAUDCAP(0); + Settings::getInstance()->setZECPrice(0); + Settings::getInstance()->setEURPrice(0); + Settings::getInstance()->setBTCPrice(0); + Settings::getInstance()->setCNYPrice(0); + Settings::getInstance()->setRUBPrice(0); + Settings::getInstance()->setCADPrice(0); + Settings::getInstance()->setSGDPrice(0); + Settings::getInstance()->setCHFPrice(0); + Settings::getInstance()->setGBPPrice(0); + Settings::getInstance()->setAUDPrice(0); + Settings::getInstance()->setINRPrice(0); + Settings::getInstance()->setBTCVolume(0); + Settings::getInstance()->setUSDVolume(0); + Settings::getInstance()->setEURVolume(0); + Settings::getInstance()->setBTCVolume(0); + Settings::getInstance()->setCNYVolume(0); + Settings::getInstance()->setRUBVolume(0); + Settings::getInstance()->setCADVolume(0); + Settings::getInstance()->setINRVolume(0); + Settings::getInstance()->setSGDVolume(0); + Settings::getInstance()->setCHFVolume(0); + Settings::getInstance()->setGBPVolume(0); + Settings::getInstance()->setAUDVolume(0); + Settings::getInstance()->setUSDCAP(0); + Settings::getInstance()->setEURCAP(0); + Settings::getInstance()->setBTCCAP(0); + Settings::getInstance()->setCNYCAP(0); + Settings::getInstance()->setRUBCAP(0); + Settings::getInstance()->setCADCAP(0); + Settings::getInstance()->setINRCAP(0); + Settings::getInstance()->setSGDCAP(0); + Settings::getInstance()->setCHFCAP(0); + Settings::getInstance()->setGBPCAP(0); + Settings::getInstance()->setAUDCAP(0); }); } -void Controller::shutdownhushd() { +void Controller::shutdownhushd() +{ // Save the wallet and exit the lightclient library cleanly. - if (zrpc - > haveConnection()) { + if (zrpc->haveConnection()) + { QDialog d(main); Ui_ConnectionDialog connD; - connD.setupUi( & d); - connD.topIcon - > setPixmap(QIcon(":/icons/res/icon.ico").pixmap(256, 256)); - connD.status - > setText(QObject::tr("Please wait for SilentDragonLite to exit")); - connD.statusDetail - > setText(QObject::tr("Waiting for hushd to exit")); + connD.setupUi(&d); + connD.topIcon->setPixmap(QIcon(":/icons/res/icon.ico").pixmap(256, 256)); + connD.status->setText(QObject::tr("Please wait for SilentDragonLite to exit")); + connD.statusDetail->setText(QObject::tr("Waiting for hushd to exit")); bool finished = false; - zrpc - > saveWallet([ & ](json) { + zrpc->saveWallet([&] (json) { if (!finished) d.accept(); finished = true; @@ -1480,21 +1597,24 @@ void Controller::shutdownhushd() { /** * Get a Sapling address from the user's wallet - */ -QString Controller::getDefaultSaplingAddress() { - for (QString addr: model - > getAllZAddresses()) { - if (Settings::getInstance() - > isSaplingAddress(addr)) + */ +QString Controller::getDefaultSaplingAddress() +{ + for (QString addr: model->getAllZAddresses()) + { + if (Settings::getInstance()->isSaplingAddress(addr)) return addr; } return QString(); } -QString Controller::getDefaultTAddress() { - if (model - > getAllTAddresses().length() > 0) - return model - > getAllTAddresses().at(0); +QString Controller::getDefaultTAddress() +{ + if (model->getAllTAddresses().length() > 0) + return model->getAllTAddresses().at(0); - else + else return QString(); - -} \ No newline at end of file + +} From b40b482b32de5ac9b9dfa5410c7d11d84a2f402b Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 14 May 2020 14:22:26 +0200 Subject: [PATCH 108/256] switch back to getAllContactRequests for rendering --- src/chatmodel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 01aed54..1e72714 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -97,7 +97,7 @@ void MainWindow::renderContactRequest(){ QStandardItemModel* contactRequest = new QStandardItemModel(); { - for (auto &c : DataStore::getChatDataStore()->getAllRawChatItems()) + for (auto &c : DataStore::getChatDataStore()->getAllContactRequests()) { QStandardItem* Items = new QStandardItem(c.second.getAddress()); From 74aaa0482fafa66b2f9aca951e05605b7c66f96a Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 14 May 2020 22:52:28 +0200 Subject: [PATCH 109/256] improve some gui elements --- application.qrc | 5 +++ res/lock.png | Bin 0 -> 812 bytes res/lock.svg | 7 ++++ res/lock_blue.svg | 7 ++++ res/lock_green.svg | 7 ++++ res/unlocked.svg | 7 ++++ src/Chat/Chat.cpp | 11 +++-- src/Chat/Helper/ChatDelegator.h | 72 ++++++++++++++++++++++++++------ src/DataStore/ChatDataStore.cpp | 7 +++- src/Model/ChatItem.cpp | 39 +++++++++++++---- src/Model/ChatItem.h | 10 ++++- src/addressbook.cpp | 1 + src/chatmodel.h | 3 ++ src/contactmodel.cpp | 1 + src/controller.cpp | 4 ++ src/mainwindow.cpp | 1 + 16 files changed, 153 insertions(+), 29 deletions(-) create mode 100644 res/lock.png create mode 100644 res/lock.svg create mode 100644 res/lock_blue.svg create mode 100644 res/lock_green.svg create mode 100644 res/unlocked.svg diff --git a/application.qrc b/application.qrc index 29a1765..d323bff 100644 --- a/application.qrc +++ b/application.qrc @@ -36,6 +36,11 @@ res/upload.png res/upload.svg res/message-icon.svg + res/lock.svg + res/lock.png + res/lock_green.svg + res/lock_blue.svg + res/unlocked.svg res/hushdlogo.gif diff --git a/res/lock.png b/res/lock.png new file mode 100644 index 0000000000000000000000000000000000000000..b05dc49e515101200ed38e5691913accf38d5667 GIT binary patch literal 812 zcmV+{1JnG8P)EX>4Tx04R}tkv&MmP!xqvTT4Z%4rUN>$WS|35EXIMDionYs1;guFnQ@8G%+M8 zE{=k0!NH%!s)LKOt`4q(Aov5~9J6k5c1;qgAsyXWxUeL%2LWt!DB257o% zW>QHpmtPShuLz?L0s@H3%ra&rDGlHHx~D#>y9Cej@B6cQ)q=%;uku-v%zO+nTZmTta@{6o#XTY$kMFRH^9Lm z5HC^on$NqtJLmRqPiuZZEdz3kXeP*K00006VoOIv0RI600RN!9r;`8x010qNS#tmY z4c7nw4c7reD4Tcy000McNliru`ai6{UIA?M@c5#R0oJ~$pEnybdcu0ztP{RVYafRn7|AnDqVEa60)gRoV4+rQ< z@@E)r2~vF~$tmn4*gJag7QR1FF4iHcH{4Ir`zxrXg~ec!jyjFH&{`)~L9G}ZHkKqG zBbhg&m0zQpaa=T#aR7tS>CTfe1LlLnnvL}!zl_Aa&~3E|E3XBU?dKKDh1Dh#Vk<$~ q(`<6wF^wvwF^Y1)YJsq$gh;=DyEZAQ + + + + Svg Vector Icons : http://www.onlinewebfonts.com/icon + + \ No newline at end of file diff --git a/res/lock_blue.svg b/res/lock_blue.svg new file mode 100644 index 0000000..752bc53 --- /dev/null +++ b/res/lock_blue.svg @@ -0,0 +1,7 @@ + + + + + Svg Vector Icons : http://www.onlinewebfonts.com/icon + + \ No newline at end of file diff --git a/res/lock_green.svg b/res/lock_green.svg new file mode 100644 index 0000000..1c5e4ef --- /dev/null +++ b/res/lock_green.svg @@ -0,0 +1,7 @@ + + + + + Svg Vector Icons : http://www.onlinewebfonts.com/icon + + \ No newline at end of file diff --git a/res/unlocked.svg b/res/unlocked.svg new file mode 100644 index 0000000..50ff5e1 --- /dev/null +++ b/res/unlocked.svg @@ -0,0 +1,7 @@ + + + + + Svg Vector Icons : http://www.onlinewebfonts.com/icon + + diff --git a/src/Chat/Chat.cpp b/src/Chat/Chat.cpp index 7038fe1..5b34929 100644 --- a/src/Chat/Chat.cpp +++ b/src/Chat/Chat.cpp @@ -1,3 +1,6 @@ +// Copyright 2019-2020 The Hush developers +// GPLv3 + #include "Chat.h" #include "../addressbook.h" #include "../DataStore/DataStore.h" @@ -23,9 +26,11 @@ void Chat::renderChatBox(Ui::MainWindow *ui, QListView *view) { QStandardItem *Items = new QStandardItem(c.second.toChatLine()); - Items->setData("Outgoing", Qt::UserRole + 1); + + Items->setData(OUTGOING, Qt::UserRole + 1); chat->appendRow(Items); - ui->listChat->setModel(chat); + ui->listChat->setModel(chat); + } else { @@ -39,7 +44,7 @@ void Chat::renderChatBox(Ui::MainWindow *ui, QListView *view) { QStandardItem *Items1 = new QStandardItem(c.second.toChatLine()); - Items1->setData("Incoming", Qt::UserRole + 1); + Items1->setData(INCOMING, Qt::UserRole + 1); chat->appendRow(Items1); ui->listChat->setModel(chat); } diff --git a/src/Chat/Helper/ChatDelegator.h b/src/Chat/Helper/ChatDelegator.h index ef6a150..6e3e676 100644 --- a/src/Chat/Helper/ChatDelegator.h +++ b/src/Chat/Helper/ChatDelegator.h @@ -1,3 +1,6 @@ +// Copyright 2019-2020 The Hush developers +// GPLv3 + #ifndef CHATDELEGATOR_H #define CHATDELEGATOR_H @@ -6,6 +9,14 @@ #include #include +enum RenderType +{ + OUTGOING=0, + INCOMING=1, + INDATE=2, + OUTDATE=3 +}; + class ListViewDelegate : public QAbstractItemDelegate { int d_radius; @@ -26,7 +37,7 @@ class ListViewDelegate : public QAbstractItemDelegate inline QSize sizeHint(QStyleOptionViewItem const &option, QModelIndex const &index) const; }; -inline ListViewDelegate::ListViewDelegate(QObject *parent): QAbstractItemDelegate(parent), d_radius(5), d_toppadding(5), d_bottompadding(3), d_leftpadding(5), d_rightpadding(5), d_verticalmargin(15), d_horizontalmargin(10), d_pointerwidth(10), d_pointerheight(17), d_widthfraction(.7) +inline ListViewDelegate::ListViewDelegate(QObject *parent): QAbstractItemDelegate(parent), d_radius(5), d_toppadding(5), d_bottompadding(3), d_leftpadding(5), d_rightpadding(5), d_verticalmargin(5), d_horizontalmargin(10), d_pointerwidth(10), d_pointerheight(17), d_widthfraction(.6) { } @@ -43,7 +54,9 @@ inline void ListViewDelegate::paint(QPainter *painter, QStyleOptionViewItem cons qreal contentswidth = option.rect.width() * d_widthfraction - d_horizontalmargin - d_pointerwidth - d_leftpadding - d_rightpadding; bodydoc.setTextWidth(contentswidth); qreal bodyheight = bodydoc.size().height(); - bool outgoing = index.data(Qt::UserRole + 1).toString() == "Outgoing"; + int outgoing = index.data(Qt::UserRole + 1).toInt(); + int outdate = index.data(Qt::UserRole + 1).toInt(); + int indate = index.data(Qt::UserRole + 1).toInt(); painter->save(); painter->setRenderHint(QPainter::Antialiasing); @@ -53,10 +66,26 @@ inline void ListViewDelegate::paint(QPainter *painter, QStyleOptionViewItem cons painter->translate(option.rect.left() + d_horizontalmargin, option.rect.top() + ((index.row() == 0) ? d_verticalmargin : 0)); - // background color for chat bubble - QColor bgcolor("#535353"); - if (outgoing) - bgcolor = "#eeeeee"; + QColor bgcolor("#ffffff"); + switch(outgoing) + { + case INDATE: + bgcolor = "transparent"; + break; + + case OUTDATE: + bgcolor = "transparent"; + break; + + case OUTGOING: + bgcolor = "#f8f9fa"; + break; + + default: + case INCOMING: + bgcolor = "#535353"; + break; + } // create chat bubble QPainterPath pointie; @@ -85,7 +114,7 @@ inline void ListViewDelegate::paint(QPainter *painter, QStyleOptionViewItem cons pointie.closeSubpath(); // rotate bubble for outgoing messages - if (outgoing) + if ((outgoing == OUTGOING) || (outdate == OUTDATE)) { painter->translate(option.rect.width() - pointie.boundingRect().width() - d_horizontalmargin - d_pointerwidth, 0); painter->translate(pointie.boundingRect().center()); @@ -99,7 +128,7 @@ inline void ListViewDelegate::paint(QPainter *painter, QStyleOptionViewItem cons painter->fillPath(pointie, QBrush(bgcolor)); // rotate back or painter is going to paint the text rotated... - if (outgoing) + if ((outgoing == OUTGOING) || (outdate == OUTDATE)) { painter->translate(pointie.boundingRect().center()); painter->rotate(-180); @@ -108,13 +137,30 @@ inline void ListViewDelegate::paint(QPainter *painter, QStyleOptionViewItem cons // set text color used to draw message body QAbstractTextDocumentLayout::PaintContext ctx; - if (outgoing) - ctx.palette.setColor(QPalette::Text, QColor("black")); - else - ctx.palette.setColor(QPalette::Text, QColor("white")); + switch(outgoing) + { + case INDATE: + ctx.palette.setColor(QPalette::Text, QColor("Black")); + break; + + case OUTDATE: + ctx.palette.setColor(QPalette::Text, QColor("Black")); + break; + + case OUTGOING: + ctx.palette.setColor(QPalette::Text, QColor("Black")); + break; + + default: + case INCOMING: + ctx.palette.setColor(QPalette::Text, QColor("whitesmoke")); + break; + } + // draw body text - painter->translate((outgoing ? 0 : d_pointerwidth) + d_leftpadding, 0); + painter->translate((outgoing == OUTGOING ? 0 : d_pointerwidth) + d_leftpadding, 0); + painter->translate((outdate == OUTDATE ? 0 : d_pointerwidth) + d_leftpadding, 0); bodydoc.documentLayout()->draw(painter, ctx); painter->restore(); diff --git a/src/DataStore/ChatDataStore.cpp b/src/DataStore/ChatDataStore.cpp index 4dfc605..5223d04 100644 --- a/src/DataStore/ChatDataStore.cpp +++ b/src/DataStore/ChatDataStore.cpp @@ -1,3 +1,6 @@ +// Copyright 2019-2020 The Hush developers +// GPLv3 + #include "ChatDataStore.h" ChatDataStore* ChatDataStore::getInstance() @@ -43,8 +46,8 @@ std::map ChatDataStore::getAllContactRequests() for(auto &c: this->data) { if ( - (c.second.getType() == "cont") && - (c.second.isOutgoing() == false) && + (c.second.isOutgoing() == false) && + (c.second.getType() == "cont") && (c.second.getMemo().startsWith("{")) ) { diff --git a/src/Model/ChatItem.cpp b/src/Model/ChatItem.cpp index 39d4a68..afdde53 100644 --- a/src/Model/ChatItem.cpp +++ b/src/Model/ChatItem.cpp @@ -1,8 +1,11 @@ +// Copyright 2019-2020 The Hush developers +// GPLv3 + #include "ChatItem.h" ChatItem::ChatItem() {} -ChatItem::ChatItem(long timestamp, QString address, QString contact, QString memo, QString requestZaddr, QString type, QString cid, QString txid) +ChatItem::ChatItem(long timestamp, QString address, QString contact, QString memo, QString requestZaddr, QString type, QString cid, QString txid, int confirmations) { _timestamp = timestamp; _address = address; @@ -12,10 +15,11 @@ ChatItem::ChatItem(long timestamp, QString address, QString contact, QString mem _type = type; _cid = cid; _txid = txid; + _confirmations = confirmations; _outgoing = false; } -ChatItem::ChatItem(long timestamp, QString address, QString contact, QString memo, QString requestZaddr, QString type, QString cid, QString txid, bool outgoing) +ChatItem::ChatItem(long timestamp, QString address, QString contact, QString memo, QString requestZaddr, QString type, QString cid, QString txid, int confirmations, bool outgoing) { _timestamp = timestamp; _address = address; @@ -25,6 +29,7 @@ ChatItem::ChatItem(long timestamp, QString address, QString contact, QString mem _type = type; _cid = cid; _txid = txid; + _confirmations = confirmations; _outgoing = outgoing; } @@ -66,6 +71,10 @@ QString ChatItem::getTxid() { return _txid; } +int ChatItem::getConfirmations() +{ + return _confirmations; +} bool ChatItem::isOutgoing() { @@ -110,26 +119,38 @@ void ChatItem::setTxid(QString txid) { _txid = txid; } +void ChatItem::setConfirmations(int confirmations) +{ + _confirmations = confirmations; +} void ChatItem::toggleOutgo() { _outgoing = true; } + QString ChatItem::toChatLine() { QDateTime myDateTime; + QString lock; myDateTime.setTime_t(_timestamp); - QString line = QString("[") + myDateTime.toString("d.M.yy hh:mm") + QString("] "); - line += QString("") + QString(_memo) + QString("\n\n"); + + if (_confirmations == 0){ + lock = " "; + }else{ + + lock = " "; + + } + + QString line = QString("") + myDateTime.toString("dd.MM.yyyy hh:mm"); + line += QString(lock) + QString(""); + line += QString("

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

"); return line; } ChatItem::~ChatItem() { - /*delete timestamp; - delete address; - delete contact; - delete memo; - delete outgoing;*/ + } \ No newline at end of file diff --git a/src/Model/ChatItem.h b/src/Model/ChatItem.h index 467341f..6f27609 100644 --- a/src/Model/ChatItem.h +++ b/src/Model/ChatItem.h @@ -1,3 +1,6 @@ +// Copyright 2019-2020 The Hush developers +// GPLv3 + #ifndef CHATITEM_H #define CHATITEM_H @@ -14,12 +17,13 @@ class ChatItem QString _type; QString _cid; QString _txid; + int _confirmations; bool _outgoing = false; public: ChatItem(); - ChatItem(long timestamp, QString address, QString contact, QString memo,QString requestZaddr, QString type, QString cid, QString txid); - ChatItem(long timestamp, QString address, QString contact, QString memo, QString requestZaddr, QString type, QString cid, QString txid, bool outgoing); + ChatItem(long timestamp, QString address, QString contact, QString memo,QString requestZaddr, QString type, QString cid, QString txid, int confirmations); + ChatItem(long timestamp, QString address, QString contact, QString memo, QString requestZaddr, QString type, QString cid, QString txid, int confirmations, bool outgoing); long getTimestamp(); QString getAddress(); QString getContact(); @@ -28,6 +32,7 @@ class ChatItem QString getType(); QString getCid(); QString getTxid(); + int getConfirmations(); bool isOutgoing(); void setTimestamp(long timestamp); void setAddress(QString address); @@ -37,6 +42,7 @@ class ChatItem void setType(QString type); void setCid(QString cid); void setTxid(QString txid); + void setConfirmations(int confirmations); void toggleOutgo(); QString toChatLine(); ~ChatItem(); diff --git a/src/addressbook.cpp b/src/addressbook.cpp index d17726c..c3fdc6c 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -1,5 +1,6 @@ // Copyright 2019-2020 The Hush developers // GPLv3 + #include "addressbook.h" #include "ui_addressbook.h" #include "ui_mainwindow.h" diff --git a/src/chatmodel.h b/src/chatmodel.h index 04493b8..bf3e255 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -1,3 +1,6 @@ +// Copyright 2019-2020 The Hush developers +// GPLv3 + #ifndef CHATMODEL_H #define CHATMODEL_H #include diff --git a/src/contactmodel.cpp b/src/contactmodel.cpp index ad58ccb..6f452fa 100644 --- a/src/contactmodel.cpp +++ b/src/contactmodel.cpp @@ -1,5 +1,6 @@ // Copyright 2019-2020 The Hush developers // GPLv3 + #include "contactmodel.h" #include "addressbook.h" #include "mainwindow.h" diff --git a/src/controller.cpp b/src/controller.cpp index 47a1a1e..534fffe 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -878,9 +878,11 @@ void Controller::refreshTransactions() { QString(""), cid, txid, + confirmations, true ); qDebug()<<"Memo : " <setData(ChatIDGenerator::getInstance()->generateID(item), item); @@ -973,9 +975,11 @@ void Controller::refreshTransactions() { type, cid, txid, + confirmations, false ); qDebug()<< "Position : " << position; + qDebug()<<"Confirmation :" << confirmations; DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); } diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 7a1f6c2..de034ac 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1,5 +1,6 @@ // Copyright 2019-2020 The Hush developers // GPLv3 + #include "mainwindow.h" #include "addressbook.h" #include "viewalladdresses.h" From 9f7fa3ae995c4c996f8bbd33d1c0987eeecd24be Mon Sep 17 00:00:00 2001 From: Strider <127.0.0.1@404.com> Date: Sat, 16 May 2020 11:48:15 +0200 Subject: [PATCH 110/256] update// improved addressbook performance --- src/addressbook.cpp | 45 ++++++++++++++++++++++++--------------------- 1 file changed, 24 insertions(+), 21 deletions(-) diff --git a/src/addressbook.cpp b/src/addressbook.cpp index c3fdc6c..2c7c107 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -373,35 +373,38 @@ void AddressBook::readFromStorage() in >> version; qDebug() << "Detected old addressbook format"; // Convert old addressbook format v1 to v2 - QList> stuff; - in >> stuff; - //qDebug() << "Stuff: " << stuff; - for (int i=0; i < stuff.size(); i++) + if(in.status() == QDataStream::ReadCorruptData) { - //qDebug() << "0:" << stuff[i][0]; - //qDebug() << "1:" << stuff[i][1]; - //qDebug() << "2:" << stuff[i][2]; - ContactItem contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3],stuff[i][4]); - //qDebug() << "contact=" << contact.toQTString(); - allLabels.push_back(contact); + qDebug() << "Error reading contacts! ---> Your hush contacts from disk maybe corrupted"; + QString filepath = QFileInfo(AddressBook::writeableFile()).absolutePath() + QString("/"); + QFile::rename(filepath + QString("addresslabels.dat"), filepath + QString("addresslabels.dat-corrupted")); + QMessageBox::critical( + nullptr, + QObject::tr("Error reading contacts!"), + QObject::tr("Your hush contacts from disk maybe corrupted"), + QMessageBox::Ok + ); } - - qDebug() << "Read " << version << " Hush contacts from disk..."; + else + { + qDebug() << "Read " << version << " Hush contacts from disk..."; + QList> stuff; + in >> stuff; + for (int i=0; i < stuff.size(); i++) + { + ContactItem contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3],stuff[i][4]); + allLabels.push_back(contact); + } + + qDebug() << "Hush contacts readed from disk..."; + } + file.close(); } else { qDebug() << "No Hush contacts found on disk!"; } - - // Special. - // Add the default silentdragon donation address if it isn't already present - // QList allAddresses; - // std::transform(allLabels.begin(), allLabels.end(), - // std::back_inserter(allAddresses), [=] (auto i) { return i.getPartnerAddress(); }); - // if (!allAddresses.contains(Settings::getDonationAddr(true))) { - // allLabels.append(QPair("silentdragon donation", Settings::getDonationAddr(true))); - // } } void AddressBook::writeToStorage() From 1e59b30280a9bc837bc0b486340ff3009d8766ba Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 16 May 2020 20:29:35 +0200 Subject: [PATCH 111/256] undo addressbook fix --- lib/Cargo.lock | 6 +++--- lib/Cargo.toml | 2 +- src/addressbook.cpp | 37 ++++++++++++++----------------------- 3 files changed, 18 insertions(+), 27 deletions(-) diff --git a/lib/Cargo.lock b/lib/Cargo.lock index e198570..01613d0 100644 --- a/lib/Cargo.lock +++ b/lib/Cargo.lock @@ -1177,7 +1177,7 @@ version = "0.1.0" dependencies = [ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", - "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=1da0f0e3210db704edec74de1bc318b4e22cb6c8)", + "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=32ca60735b3529ff8589ab08fc16678f508a9359)", ] [[package]] @@ -1640,7 +1640,7 @@ dependencies = [ [[package]] name = "silentdragonlitelib" version = "0.1.0" -source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=1da0f0e3210db704edec74de1bc318b4e22cb6c8#1da0f0e3210db704edec74de1bc318b4e22cb6c8" +source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=32ca60735b3529ff8589ab08fc16678f508a9359#32ca60735b3529ff8589ab08fc16678f508a9359" dependencies = [ "base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "bellman 0.1.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", @@ -2631,7 +2631,7 @@ dependencies = [ "checksum serde_yaml 0.8.11 (registry+https://github.com/rust-lang/crates.io-index)" = "691b17f19fc1ec9d94ec0b5864859290dff279dbd7b03f017afda54eb36c3c35" "checksum sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "27044adfd2e1f077f649f59deb9490d3941d674002f7d062870a60ebe9bd47a0" "checksum signal-hook-registry 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94f478ede9f64724c5d173d7bb56099ec3e2d9fc2774aac65d34b8b890405f41" -"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=1da0f0e3210db704edec74de1bc318b4e22cb6c8)" = "" +"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=32ca60735b3529ff8589ab08fc16678f508a9359)" = "" "checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" "checksum smallvec 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "f7b0758c52e15a8b5e3691eae6cc559f08eee9406e548a4477ba4e67770a82b6" "checksum socket2 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "e8b74de517221a2cb01a53349cf54182acdc31a074727d3079068448c0676d85" diff --git a/lib/Cargo.toml b/lib/Cargo.toml index bdf5a9b..fba5265 100644 --- a/lib/Cargo.toml +++ b/lib/Cargo.toml @@ -11,4 +11,4 @@ crate-type = ["staticlib"] [dependencies] libc = "0.2.58" lazy_static = "1.4.0" -silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "1da0f0e3210db704edec74de1bc318b4e22cb6c8" } +silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "32ca60735b3529ff8589ab08fc16678f508a9359" } diff --git a/src/addressbook.cpp b/src/addressbook.cpp index 2c7c107..8c4d132 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -373,39 +373,30 @@ void AddressBook::readFromStorage() in >> version; qDebug() << "Detected old addressbook format"; // Convert old addressbook format v1 to v2 - if(in.status() == QDataStream::ReadCorruptData) + QList> stuff; + in >> stuff; + //qDebug() << "Stuff: " << stuff; + for (int i=0; i < stuff.size(); i++) { - qDebug() << "Error reading contacts! ---> Your hush contacts from disk maybe corrupted"; - QString filepath = QFileInfo(AddressBook::writeableFile()).absolutePath() + QString("/"); - QFile::rename(filepath + QString("addresslabels.dat"), filepath + QString("addresslabels.dat-corrupted")); - QMessageBox::critical( - nullptr, - QObject::tr("Error reading contacts!"), - QObject::tr("Your hush contacts from disk maybe corrupted"), - QMessageBox::Ok - ); + //qDebug() << "0:" << stuff[i][0]; + //qDebug() << "1:" << stuff[i][1]; + //qDebug() << "2:" << stuff[i][2]; + ContactItem contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3],stuff[i][4]); + //qDebug() << "contact=" << contact.toQTString(); + allLabels.push_back(contact); } - else + { - qDebug() << "Read " << version << " Hush contacts from disk..."; - QList> stuff; - in >> stuff; - for (int i=0; i < stuff.size(); i++) - { - ContactItem contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3],stuff[i][4]); - allLabels.push_back(contact); - } - - qDebug() << "Hush contacts readed from disk..."; - } + qDebug() << "Read " << version << " Hush contacts from disk..."; file.close(); } - else + }else{ { qDebug() << "No Hush contacts found on disk!"; } } +} void AddressBook::writeToStorage() { From 4f584ac86ec55f6e59983e7c91e007a72c833a53 Mon Sep 17 00:00:00 2001 From: Strider <127.0.0.1@404.com> Date: Sun, 17 May 2020 13:18:19 +0200 Subject: [PATCH 112/256] update// added filesystem and reformated addressbook --- silentdragon-lite.pro | 4 +- src/Crypto/FileEncryption.cpp | 102 ++++++++++++++++++++++++++++++++++ src/Crypto/FileEncryption.h | 18 ++++++ src/FileSystem/FileSystem.cpp | 82 +++++++++++++++++++++++++++ src/FileSystem/FileSystem.h | 24 ++++++++ src/Logger/LogContext.h | 11 ++++ src/Logger/LogCrtitical.h | 18 ++++++ src/Logger/LogDebug.h | 18 ++++++ src/Logger/LogError.h | 18 ++++++ src/Logger/LogFatal.h | 18 ++++++ src/Logger/LogInfo.h | 18 ++++++ src/Logger/LogStrategy.h | 11 ++++ src/Logger/LogSuccess.h | 18 ++++++ src/Logger/LogType.h | 47 ++++++++++++++++ src/Logger/LogWarning.h | 18 ++++++ src/Logger/LogWriter.cpp | 35 ++++++++++++ src/Logger/LogWriter.h | 22 ++++++++ src/Logger/Logger.h | 25 +++++++++ src/Logger/SimpleLogger.h | 84 ++++++++++++++++++++++++++++ src/Logger/test.cpp | 14 +++++ src/addressbook.cpp | 17 +++--- src/addressbook.h | 1 + 22 files changed, 615 insertions(+), 8 deletions(-) create mode 100644 src/Crypto/FileEncryption.cpp create mode 100644 src/Crypto/FileEncryption.h create mode 100644 src/FileSystem/FileSystem.cpp create mode 100644 src/FileSystem/FileSystem.h create mode 100644 src/Logger/LogContext.h create mode 100644 src/Logger/LogCrtitical.h create mode 100644 src/Logger/LogDebug.h create mode 100644 src/Logger/LogError.h create mode 100644 src/Logger/LogFatal.h create mode 100644 src/Logger/LogInfo.h create mode 100644 src/Logger/LogStrategy.h create mode 100644 src/Logger/LogSuccess.h create mode 100644 src/Logger/LogType.h create mode 100644 src/Logger/LogWarning.h create mode 100644 src/Logger/LogWriter.cpp create mode 100644 src/Logger/LogWriter.h create mode 100644 src/Logger/Logger.h create mode 100644 src/Logger/SimpleLogger.h create mode 100644 src/Logger/test.cpp diff --git a/silentdragon-lite.pro b/silentdragon-lite.pro index da53d6d..56c9e4c 100644 --- a/silentdragon-lite.pro +++ b/silentdragon-lite.pro @@ -79,7 +79,9 @@ SOURCES += \ src/Model/ContactRequestChatItem.cpp \ src/Model/ContactItem.cpp \ src/Chat/Helper/ChatIDGenerator.cpp \ - src/Chat/Chat.cpp + src/Chat/Chat.cpp \ + src/FileSystem/FileSystem.cpp \ + src/Crypto/FileEncryption.cpp HEADERS += \ src/firsttimewizard.h \ diff --git a/src/Crypto/FileEncryption.cpp b/src/Crypto/FileEncryption.cpp new file mode 100644 index 0000000..0100585 --- /dev/null +++ b/src/Crypto/FileEncryption.cpp @@ -0,0 +1,102 @@ +#include "FileEncryption.h" + +void FileEncryption::showConfig() +{ + qInfo() << FILEENCRYPTION_CHUNK_SIZE; +} + +int FileEncryption::encrypt(QString target_file, QString source_file, const unsigned char key[crypto_secretstream_xchacha20poly1305_KEYBYTES]) +{ + unsigned char buf_in[FILEENCRYPTION_CHUNK_SIZE]; + unsigned char buf_out[FILEENCRYPTION_CHUNK_SIZE + crypto_secretstream_xchacha20poly1305_ABYTES]; + unsigned char header[crypto_secretstream_xchacha20poly1305_HEADERBYTES]; + crypto_secretstream_xchacha20poly1305_state st; + FILE *fp_t, *fp_s; + unsigned long long out_len; + size_t rlen; + int eof; + unsigned char tag; + + fp_s = fopen(source_file.toStdString().c_str(), "rb"); + fp_t = fopen(target_file.toStdString().c_str(), "wb"); + crypto_secretstream_xchacha20poly1305_init_push(&st, header, key); + fwrite(header, 1, sizeof header, fp_t); + do + { + rlen = fread(buf_in, 1, sizeof buf_in, fp_s); + eof = feof(fp_s); + tag = eof ? crypto_secretstream_xchacha20poly1305_TAG_FINAL : 0; + crypto_secretstream_xchacha20poly1305_push( + &st, + buf_out, + &out_len, + buf_in, + rlen, + NULL, + 0, + tag + ); + + fwrite(buf_out, 1, (size_t) out_len, fp_t); + } + while (! eof); + + fclose(fp_t); + fclose(fp_s); + return 0; +} + +int FileEncryption::decrypt(QString target_file, QString source_file, const unsigned char key[crypto_secretstream_xchacha20poly1305_KEYBYTES]) +{ + unsigned char buf_in[FILEENCRYPTION_CHUNK_SIZE + crypto_secretstream_xchacha20poly1305_ABYTES]; + unsigned char buf_out[FILEENCRYPTION_CHUNK_SIZE]; + unsigned char header[crypto_secretstream_xchacha20poly1305_HEADERBYTES]; + crypto_secretstream_xchacha20poly1305_state st; + FILE *fp_t, *fp_s; + unsigned long long out_len; + size_t rlen; + int eof; + int ret = -1; + unsigned char tag; + + fp_s = fopen(source_file.toStdString().c_str(), "rb"); + fp_t = fopen(target_file.toStdString().c_str(), "wb"); + fread(header, 1, sizeof header, fp_s); + if (crypto_secretstream_xchacha20poly1305_init_pull(&st, header, key) != 0) + { + goto ret; /* incomplete header */ + } + + do + { + rlen = fread(buf_in, 1, sizeof buf_in, fp_s); + eof = feof(fp_s); + if (crypto_secretstream_xchacha20poly1305_pull( + &st, + buf_out, + &out_len, + &tag, + buf_in, + rlen, + NULL, + 0 + ) != 0) + { + goto ret; /* corrupted chunk */ + } + + if (tag == crypto_secretstream_xchacha20poly1305_TAG_FINAL && ! eof) + { + goto ret; /* premature end (end of file reached before the end of the stream) */ + } + + fwrite(buf_out, 1, (size_t) out_len, fp_t); + } + while (! eof); + ret = 0; + +ret: + fclose(fp_t); + fclose(fp_s); + return ret; +} \ No newline at end of file diff --git a/src/Crypto/FileEncryption.h b/src/Crypto/FileEncryption.h new file mode 100644 index 0000000..6db8977 --- /dev/null +++ b/src/Crypto/FileEncryption.h @@ -0,0 +1,18 @@ +#ifndef FILEENCRYPTION_H +#define FILEENCRYPTION_H +#include +#include +#include + +#define FILEENCRYPTION_CHUNK_SIZE 4096 + +class FileEncryption +{ + public: + static void showConfig(); + static int encrypt(QString target_file, QString source_file, const unsigned char key[crypto_secretstream_xchacha20poly1305_KEYBYTES]); + static int decrypt(QString target_file, QString source_file, const unsigned char key[crypto_secretstream_xchacha20poly1305_KEYBYTES]); +}; + + +#endif \ No newline at end of file diff --git a/src/FileSystem/FileSystem.cpp b/src/FileSystem/FileSystem.cpp new file mode 100644 index 0000000..5ee2fef --- /dev/null +++ b/src/FileSystem/FileSystem.cpp @@ -0,0 +1,82 @@ +#include "FileSystem.h" + +#include +#include + +FileSystem::FileSystem() +{ +} + +FileSystem* FileSystem::getInstance() +{ + if(!FileSystem::instanced) + { + FileSystem::instanced = true; + FileSystem::instance = new FileSystem(); + FileEncryption::showConfig(); + } + + return FileSystem::instance; +} + +QList FileSystem::readContacts(QString file) +{ + QList contacts; + QFile _file(file); + if (_file.exists()) + { + contacts.clear(); + _file.open(QIODevice::ReadOnly); + QDataStream in(&_file); // read the data serialized from the file + QString version; + in >> version; + qDebug() << "Read " << version << " Hush contacts from disk..."; + qDebug() << "Detected old addressbook format"; + QList> stuff; + in >> stuff; + //qDebug() << "Stuff: " << stuff; + for (int i=0; i < stuff.size(); i++) + { + ContactItem contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3],stuff[i][4]); + contacts.push_back(contact); + } + + _file.close(); + } + else + { + qDebug() << "No Hush contacts found on disk!"; + } + + return contacts; +} + +void FileSystem::writeContacts(QString file, QList contacts) +{ + QFile _file(file); + _file.open(QIODevice::ReadWrite | QIODevice::Truncate); + QDataStream out(&_file); // we will serialize the data into the file + QList> _contacts; + for(auto &item: contacts) + { + QList c; + c.push_back(item.getName()); + c.push_back(item.getPartnerAddress()); + c.push_back(item.getMyAddress()); + c.push_back(item.getCid()); + c.push_back(item.getAvatar()); + _contacts.push_back(c); + } + out << QString("v1") << _contacts; + _file.close(); +} + +FileSystem::~FileSystem() +{ + this->instance = nullptr; + this->instanced = false; + delete this->instance; +} + +FileSystem *FileSystem::instance = nullptr; +bool FileSystem::instanced = false; \ No newline at end of file diff --git a/src/FileSystem/FileSystem.h b/src/FileSystem/FileSystem.h new file mode 100644 index 0000000..995c586 --- /dev/null +++ b/src/FileSystem/FileSystem.h @@ -0,0 +1,24 @@ +#ifndef FILESYSTEM_H +#define FILESYSTEM_H + +#include +#include +#include "../Model/ContactItem.h" +#include "../Crypto/FileEncryption.h" + +class FileSystem +{ + private: + static bool instanced; + static FileSystem* instance; + FileSystem(); + + public: + static FileSystem* getInstance(); + QList readContacts(QString file); + void writeContacts(QString file, QList contacts); + ~FileSystem(); + +}; + +#endif \ No newline at end of file diff --git a/src/Logger/LogContext.h b/src/Logger/LogContext.h new file mode 100644 index 0000000..bd8e988 --- /dev/null +++ b/src/Logger/LogContext.h @@ -0,0 +1,11 @@ +#ifndef LOGCONTEXT_H +#define LOGCONTEXT_H + +#include +class LogContext +{ + public: + virtual void log(std::string message) {}; +}; + +#endif \ No newline at end of file diff --git a/src/Logger/LogCrtitical.h b/src/Logger/LogCrtitical.h new file mode 100644 index 0000000..cf08849 --- /dev/null +++ b/src/Logger/LogCrtitical.h @@ -0,0 +1,18 @@ +#ifndef LOGCRITICAL_H +#define LOGCRITICAL_H + +#include "LogType.h" +#include "LogStrategy.h" +#include "LogWriter.h" + +class LogCritical : public LogStrategy +{ + public: + void log(std::string message) + { + LogWriter* lw = LogWriter::getInstance(); + lw->write(LogType::CRITICAL, message); + } +}; + +#endif \ No newline at end of file diff --git a/src/Logger/LogDebug.h b/src/Logger/LogDebug.h new file mode 100644 index 0000000..e1dd644 --- /dev/null +++ b/src/Logger/LogDebug.h @@ -0,0 +1,18 @@ +#ifndef LOGDEBUG_H +#define LOGDEBUG_H + +#include "LogType.h" +#include "LogStrategy.h" +#include "LogWriter.h" + +class LogDebug : public LogStrategy +{ + public: + void log(std::string message) + { + LogWriter* lw = LogWriter::getInstance(); + lw->write(LogType::DEBUG, message); + } +}; + +#endif \ No newline at end of file diff --git a/src/Logger/LogError.h b/src/Logger/LogError.h new file mode 100644 index 0000000..34399c8 --- /dev/null +++ b/src/Logger/LogError.h @@ -0,0 +1,18 @@ +#ifndef LOGERROR_H +#define LOGERROR_H + +#include "LogType.h" +#include "LogStrategy.h" +#include "LogWriter.h" + +class LogError : public LogStrategy +{ + public: + void log(std::string message) + { + LogWriter* lw = LogWriter::getInstance(); + lw->write(LogType::ERROR, message); + } +}; + +#endif \ No newline at end of file diff --git a/src/Logger/LogFatal.h b/src/Logger/LogFatal.h new file mode 100644 index 0000000..4b376d3 --- /dev/null +++ b/src/Logger/LogFatal.h @@ -0,0 +1,18 @@ +#ifndef LOGFATAL_H +#define LOGFATAL_H + +#include "LogType.h" +#include "LogStrategy.h" +#include "LogWriter.h" + +class LogFatal : public LogStrategy +{ + public: + void log(std::string message) + { + LogWriter* lw = LogWriter::getInstance(); + lw->write(LogType::FATAL, message); + } +}; + +#endif \ No newline at end of file diff --git a/src/Logger/LogInfo.h b/src/Logger/LogInfo.h new file mode 100644 index 0000000..2a876a1 --- /dev/null +++ b/src/Logger/LogInfo.h @@ -0,0 +1,18 @@ +#ifndef LOGINFO_H +#define LOGINFO_H + +#include "LogType.h" +#include "LogStrategy.h" +#include "LogWriter.h" + +class LogInfo : public LogStrategy +{ + public: + void log(std::string message) + { + LogWriter* lw = LogWriter::getInstance(); + lw->write(LogType::INFO, message); + } +}; + +#endif \ No newline at end of file diff --git a/src/Logger/LogStrategy.h b/src/Logger/LogStrategy.h new file mode 100644 index 0000000..d619ae0 --- /dev/null +++ b/src/Logger/LogStrategy.h @@ -0,0 +1,11 @@ +#ifndef LOGSTRATEGY_H +#define LOGSTRATEGY_H + +#include +class LogStrategy +{ + public: + virtual void log(std::string message) {}; +}; + +#endif \ No newline at end of file diff --git a/src/Logger/LogSuccess.h b/src/Logger/LogSuccess.h new file mode 100644 index 0000000..8dae948 --- /dev/null +++ b/src/Logger/LogSuccess.h @@ -0,0 +1,18 @@ +#ifndef LOGSUCCESS_H +#define LOGSUCCESS_H + +#include "LogType.h" +#include "LogStrategy.h" +#include "LogWriter.h" + +class LogSuccess : public LogStrategy +{ + public: + void log(std::string message) + { + LogWriter* lw = LogWriter::getInstance(); + lw->write(LogType::SUCCESS, message); + } +}; + +#endif \ No newline at end of file diff --git a/src/Logger/LogType.h b/src/Logger/LogType.h new file mode 100644 index 0000000..3cb006a --- /dev/null +++ b/src/Logger/LogType.h @@ -0,0 +1,47 @@ +#ifndef LOGTYPE_H +#define LOGTYPE_H + +#include + +class LogType +{ + public: + enum TYPE { + INFO = 0, + DEBUG = 1, + SUCCESS = 2, + WARNING = 3, + ERROR = 4, + FATAL = 5, + CRITICAL = 6 + }; + + static std::string enum2String(int type) + { + switch (type) + { + default: + case 0: + return "INFO"; + + case 1: + return "DEBUG"; + + case 2: + return "SUCCESS"; + + case 3: + return "WARNING"; + + case 4: + return "ERROR"; + + case 5: + return "FATAL"; + + case 6: + return "CRITICAL"; + } + } +}; +#endif \ No newline at end of file diff --git a/src/Logger/LogWarning.h b/src/Logger/LogWarning.h new file mode 100644 index 0000000..58d6222 --- /dev/null +++ b/src/Logger/LogWarning.h @@ -0,0 +1,18 @@ +#ifndef LOGWARNING_H +#define LOGWARNING_H + +#include "LogType.h" +#include "LogStrategy.h" +#include "LogWriter.h" + +class LogWarning : public LogStrategy +{ + public: + void log(std::string message) + { + LogWriter* lw = LogWriter::getInstance(); + lw->write(LogType::WARNING, message); + } +}; + +#endif \ No newline at end of file diff --git a/src/Logger/LogWriter.cpp b/src/Logger/LogWriter.cpp new file mode 100644 index 0000000..622de6a --- /dev/null +++ b/src/Logger/LogWriter.cpp @@ -0,0 +1,35 @@ +#include "LogWriter.h" + +LogWriter* LogWriter::getInstance() +{ + if(instance == nullptr) + instance = new LogWriter(); + + return instance; +} + +void LogWriter::setLogFile(std::string file) +{ + this->logfile = file; +} + +void LogWriter::write(LogType::TYPE type, std::string message) +{ + std::ofstream writer(this->logfile, std::ios::out | std::ios::app); + if(writer.good()) + { + time_t now = time(0); + tm *ltm = localtime(&now); + std::stringstream ss; + ss << "[" << LogType::enum2String(type) << "] " << + ltm->tm_mon << "-" << + ltm->tm_mday << "-" << + (1900 + ltm->tm_year) << " " << + ltm->tm_hour << ":" << + ltm->tm_min << ":" << + ltm->tm_sec << " > " << message; + writer << ss.str() << "\n"; + } + + writer.close(); +} \ No newline at end of file diff --git a/src/Logger/LogWriter.h b/src/Logger/LogWriter.h new file mode 100644 index 0000000..f4e9776 --- /dev/null +++ b/src/Logger/LogWriter.h @@ -0,0 +1,22 @@ +#ifndef LOGWRITER_H +#define LOGWRITER_H + +#include +#include +#include +#include +#include "LogType.h" + +class LogWriter +{ + public: + static LogWriter* getInstance(); + std::string logfile = ""; + void setLogFile(std::string file); + void write(LogType::TYPE t, std::string message); + + private: + static LogWriter* instance; +}; + +#endif \ No newline at end of file diff --git a/src/Logger/Logger.h b/src/Logger/Logger.h new file mode 100644 index 0000000..4a307c8 --- /dev/null +++ b/src/Logger/Logger.h @@ -0,0 +1,25 @@ +#ifndef LOGGER_H +#define LOGGER_H + +#include "LogContext.h" +#include "LogStrategy.h" +#include "LogWriter.h" + +class Logger : LogContext +{ + private: + LogStrategy * strategy = nullptr; + + public: + Logger(LogStrategy * strategy) + { + this->strategy = strategy; + } + + void log(std::string message) + { + this->strategy->log(message); + } +}; +LogWriter* LogWriter::instance = nullptr; +#endif \ No newline at end of file diff --git a/src/Logger/SimpleLogger.h b/src/Logger/SimpleLogger.h new file mode 100644 index 0000000..7d18dc3 --- /dev/null +++ b/src/Logger/SimpleLogger.h @@ -0,0 +1,84 @@ +#ifndef SIMPLELOGGER_H +#define SIMPLELOGGER_H + +#include "Logger.h" +#include "LogInfo.h" +#include "LogDebug.h" +#include "LogSuccess.h" +#include "LogWarning.h" +#include "LogError.h" +#include "LogFatal.h" +#include "LogCrtitical.h" +#include "LogWriter.h" + +class SimpleLogger +{ + public: + SimpleLogger() + { + LogWriter::getInstance()->setLogFile("log.txt"); + } + + SimpleLogger(std::string logFile) + { + LogWriter::getInstance()->setLogFile(logFile); + } + + void logInfo(std::string message) + { + Logger* logger = nullptr; + LogStrategy* li = new LogInfo(); + logger = new Logger(li); + logger->log(message); + } + + void logDebug(std::string message) + { + Logger* logger = nullptr; + LogStrategy* li = new LogDebug(); + logger = new Logger(li); + logger->log(message); + } + + void logSuccess(std::string message) + { + Logger* logger = nullptr; + LogStrategy* li = new LogSuccess(); + logger = new Logger(li); + logger->log(message); + } + + void logWarning(std::string message) + { + Logger* logger = nullptr; + LogStrategy* li = new LogWarning(); + logger = new Logger(li); + logger->log(message); + } + + void logError(std::string message) + { + Logger* logger = nullptr; + LogStrategy* li = new LogError(); + logger = new Logger(li); + logger->log(message); + } + + void logFatal(std::string message) + { + Logger* logger = nullptr; + LogStrategy* li = new LogFatal(); + logger = new Logger(li); + logger->log(message); + } + + void logCritical(std::string message) + { + Logger* logger = nullptr; + LogStrategy* li = new LogCritical(); + logger = new Logger(li); + logger->log(message); + } +}; + +#endif \ No newline at end of file diff --git a/src/Logger/test.cpp b/src/Logger/test.cpp new file mode 100644 index 0000000..a717d18 --- /dev/null +++ b/src/Logger/test.cpp @@ -0,0 +1,14 @@ +#include "SimpleLogger.h" + +int main(int argc, char** argv) +{ + SimpleLogger sl = SimpleLogger("/tmp/simplelog.log"); + sl.logInfo("test info"); + sl.logDebug("test debug"); + sl.logSuccess("test success"); + sl.logWarning("test warning"); + sl.logError("test error"); + sl.logFatal("test fatal"); + sl.logCritical("test critical"); + return 0; +} \ No newline at end of file diff --git a/src/addressbook.cpp b/src/addressbook.cpp index 8c4d132..55a3b5e 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -7,6 +7,7 @@ #include "settings.h" #include "mainwindow.h" #include "controller.h" +#include "FileSystem/FileSystem.h" AddressBookModel::AddressBookModel(QTableView *parent) : QAbstractTableModel(parent) @@ -362,7 +363,7 @@ AddressBook::AddressBook() void AddressBook::readFromStorage() { - QFile file(AddressBook::writeableFile()); + /*QFile file(AddressBook::writeableFile()); if (file.exists()) { @@ -392,15 +393,17 @@ void AddressBook::readFromStorage() file.close(); } }else{ - { - qDebug() << "No Hush contacts found on disk!"; - } -} + { + qDebug() << "No Hush contacts found on disk!"; + } + }*/ + allLabels = FileSystem::getInstance()->readContacts(AddressBook::writeableFile()); } void AddressBook::writeToStorage() { - QFile file(AddressBook::writeableFile()); + FileSystem::getInstance()->writeContacts(AddressBook::writeableFile(), allLabels); + /*QFile file(AddressBook::writeableFile()); file.open(QIODevice::ReadWrite | QIODevice::Truncate); QDataStream out(&file); // we will serialize the data into the file QList> contacts; @@ -415,7 +418,7 @@ void AddressBook::writeToStorage() contacts.push_back(c); } out << QString("v1") << contacts; - file.close(); + file.close();*/ } QString AddressBook::writeableFile() diff --git a/src/addressbook.h b/src/addressbook.h index fee3ac6..8e32fe8 100644 --- a/src/addressbook.h +++ b/src/addressbook.h @@ -3,6 +3,7 @@ #include "precompiled.h" #include "contactmodel.h" +#include "FileSystem/FileSystem.h" class MainWindow; From d4bf7a83c8b3bdac7948104c946c6aba63e56392 Mon Sep 17 00:00:00 2001 From: Strider <127.0.0.1@404.com> Date: Sun, 17 May 2020 14:12:27 +0200 Subject: [PATCH 113/256] update// implemented dump method to each datastoretype --- .gdb_history | 35 ++++++++++++++++++++ peda-session-SilentDragonLite.txt | 2 ++ silentdragon-lite.pro | 1 + src/Chat/Chat.cpp | 2 +- src/DataStore/ChatDataStore.cpp | 11 +++++++ src/DataStore/ContactDataStore.cpp | 53 ++++++++++++++++++++++++++++++ src/DataStore/ContactDataStore.h | 34 +++++++++++++++++++ src/DataStore/DataStore.cpp | 5 +++ src/DataStore/DataStore.h | 2 ++ src/Model/ChatItem.cpp | 16 +++++++++ src/Model/ChatItem.h | 2 ++ src/Model/ContactItem.cpp | 11 +++++++ src/Model/ContactItem.h | 2 ++ src/addressbook.cpp | 8 +++++ 14 files changed, 183 insertions(+), 1 deletion(-) create mode 100644 .gdb_history create mode 100644 peda-session-SilentDragonLite.txt create mode 100644 src/DataStore/ContactDataStore.cpp create mode 100644 src/DataStore/ContactDataStore.h diff --git a/.gdb_history b/.gdb_history new file mode 100644 index 0000000..2eb34c2 --- /dev/null +++ b/.gdb_history @@ -0,0 +1,35 @@ +b ContactDataStore::dump() +r +n +q +b ContactDataStore::dump() +r +n +c +./build.sh +$(./build.sh) +$(./build.sh) +q +r +q +r +b ContactDataStore::dump() +r +n +b ContactItem::toJson() +r +c +n +q +b ContactItem::toJson() +r +n +c +c +c +c +c +c +c +c +q diff --git a/peda-session-SilentDragonLite.txt b/peda-session-SilentDragonLite.txt new file mode 100644 index 0000000..87f58c8 --- /dev/null +++ b/peda-session-SilentDragonLite.txt @@ -0,0 +1,2 @@ +break ContactItem::toJson() + diff --git a/silentdragon-lite.pro b/silentdragon-lite.pro index 56c9e4c..bb10655 100644 --- a/silentdragon-lite.pro +++ b/silentdragon-lite.pro @@ -75,6 +75,7 @@ SOURCES += \ src/DataStore/DataStore.cpp \ src/DataStore/ChatDataStore.cpp \ src/DataStore/SietchDataStore.cpp \ + src/DataStore/ContactDataStore.cpp \ src/Model/ChatItem.cpp \ src/Model/ContactRequestChatItem.cpp \ src/Model/ContactItem.cpp \ diff --git a/src/Chat/Chat.cpp b/src/Chat/Chat.cpp index 5b34929..c7d6637 100644 --- a/src/Chat/Chat.cpp +++ b/src/Chat/Chat.cpp @@ -12,7 +12,7 @@ void Chat::renderChatBox(Ui::MainWindow *ui, QListView *view) // ui->lcdNumber->setStyleSheet("background-color: red"); // ui->lcdNumber->setPalette(Qt::red); // ui->lcdNumber->display("1"); - + DataStore::getChatDataStore()->dump(); // test to see if the chat items in datastore are correctly dumped to json for (auto &p : AddressBook::getInstance()->getAllAddressLabels()) { for (auto &c : DataStore::getChatDataStore()->getAllMemos()) diff --git a/src/DataStore/ChatDataStore.cpp b/src/DataStore/ChatDataStore.cpp index 5223d04..ff56c79 100644 --- a/src/DataStore/ChatDataStore.cpp +++ b/src/DataStore/ChatDataStore.cpp @@ -32,6 +32,17 @@ ChatItem ChatDataStore::getData(QString key) QString ChatDataStore::dump() { + json chats; + chats["count"] = this->data.size(); + json j = {}; + for (auto &c: this->data) + { + j.push_back(c.second.toJson()); + } + chats["chatitems"] = j; + + std::string dump = chats.dump(4); + qDebug() << dump.c_str(); return ""; } diff --git a/src/DataStore/ContactDataStore.cpp b/src/DataStore/ContactDataStore.cpp new file mode 100644 index 0000000..4a1f691 --- /dev/null +++ b/src/DataStore/ContactDataStore.cpp @@ -0,0 +1,53 @@ +// Copyright 2019-2020 The Hush developers +// GPLv3 + +#include "ContactDataStore.h" +#include + +ContactDataStore* ContactDataStore::getInstance() +{ + if(!ContactDataStore::instanced) + { + ContactDataStore::instanced = true; + ContactDataStore::instance = new ContactDataStore(); + } + + return ContactDataStore::instance; +} + +void ContactDataStore::clear() +{ + this->data.clear(); +} + + +void ContactDataStore::setData(QString key, ContactItem value) +{ + this->data[key] = value; +} + +ContactItem ContactDataStore::getData(QString key) +{ + return this->data[key]; +} + +QString ContactDataStore::dump() +{ + json contacts; + contacts["count"] = this->data.size(); + json j = {}; + for (auto &c: this->data) + { + qDebug() << c.second.toQTString(); + c.second.toJson(); + j.push_back(c.second.toJson()); + } + contacts["contacts"] = j; + + std::string dump = contacts.dump(4); + qDebug() << dump.c_str(); + return ""; +} + +ContactDataStore* ContactDataStore::instance = nullptr; +bool ContactDataStore::instanced = false; \ No newline at end of file diff --git a/src/DataStore/ContactDataStore.h b/src/DataStore/ContactDataStore.h new file mode 100644 index 0000000..009657e --- /dev/null +++ b/src/DataStore/ContactDataStore.h @@ -0,0 +1,34 @@ +#ifndef CONTACTDATASTORE_H +#define CONTACTDATASTORE_H +#include "../Model/ContactItem.h" +#include +using json = nlohmann::json; + +class ContactDataStore +{ + private: + static bool instanced; + static ContactDataStore* instance; + std::map data; + ContactDataStore() + { + + } + + public: + static ContactDataStore* getInstance(); + void clear(); + void setData(QString key, ContactItem value); + ContactItem getData(QString key); + QString dump(); + + ~ContactDataStore() + { + ContactDataStore::instanced = false; + ContactDataStore::instance = nullptr; + } +}; + + + +#endif \ No newline at end of file diff --git a/src/DataStore/DataStore.cpp b/src/DataStore/DataStore.cpp index d16c255..ae85ed6 100644 --- a/src/DataStore/DataStore.cpp +++ b/src/DataStore/DataStore.cpp @@ -8,4 +8,9 @@ SietchDataStore* DataStore::getSietchDataStore() ChatDataStore* DataStore::getChatDataStore() { return ChatDataStore::getInstance(); +} + +ContactDataStore* DataStore::getContactDataStore() +{ + return ContactDataStore::getInstance(); } \ No newline at end of file diff --git a/src/DataStore/DataStore.h b/src/DataStore/DataStore.h index 6715c02..9fa42d3 100644 --- a/src/DataStore/DataStore.h +++ b/src/DataStore/DataStore.h @@ -3,12 +3,14 @@ #include "SietchDataStore.h" #include "ChatDataStore.h" +#include "ContactDataStore.h" class DataStore { public: static SietchDataStore* getSietchDataStore(); static ChatDataStore* getChatDataStore(); + static ContactDataStore* getContactDataStore(); }; #endif \ No newline at end of file diff --git a/src/Model/ChatItem.cpp b/src/Model/ChatItem.cpp index afdde53..dd43785 100644 --- a/src/Model/ChatItem.cpp +++ b/src/Model/ChatItem.cpp @@ -150,6 +150,22 @@ QString ChatItem::toChatLine() return line; } +json ChatItem::toJson() +{ + json j; + j["_timestamp"] = _timestamp; + j["_address"] = _address.toStdString(); + j["_contact"] = _contact.toStdString(); + j["_memo"] = _memo.toStdString(); + j["_requestZaddr"] = _requestZaddr.toStdString(); + j["_type"] = _type.toStdString(); + j["_cid"] = _cid.toStdString(); + j["_txid"] = _txid.toStdString(); + j["_confirmations"] = _confirmations; + j["_outgoing"] = _outgoing; + return j; +} + ChatItem::~ChatItem() { diff --git a/src/Model/ChatItem.h b/src/Model/ChatItem.h index 6f27609..be8a807 100644 --- a/src/Model/ChatItem.h +++ b/src/Model/ChatItem.h @@ -5,6 +5,7 @@ #define CHATITEM_H #include +using json = nlohmann::json; class ChatItem { @@ -45,6 +46,7 @@ class ChatItem void setConfirmations(int confirmations); void toggleOutgo(); QString toChatLine(); + json toJson(); ~ChatItem(); }; diff --git a/src/Model/ContactItem.cpp b/src/Model/ContactItem.cpp index f338552..d38c1c5 100644 --- a/src/Model/ContactItem.cpp +++ b/src/Model/ContactItem.cpp @@ -63,4 +63,15 @@ void ContactItem::setAvatar(QString avatar) QString ContactItem::toQTString() { return _name + "|" + _partnerAddress + "|" + _myAddress + "|" + _cid + "|" + _avatar; +} + +json ContactItem::toJson() +{ + json j; + j["_myAddress"] = _myAddress.toStdString(); + j["_partnerAddress"] = _partnerAddress.toStdString(); + j["_name"] = _name.toStdString(); + j["_cid"] = _cid.toStdString(); + j["_avatar"] = _avatar.toStdString(); + return j; } \ No newline at end of file diff --git a/src/Model/ContactItem.h b/src/Model/ContactItem.h index a18d0f7..f066740 100644 --- a/src/Model/ContactItem.h +++ b/src/Model/ContactItem.h @@ -3,6 +3,7 @@ #include #include +using json = nlohmann::json; class ContactItem { @@ -27,6 +28,7 @@ public: void setcid(QString cid); void setAvatar(QString avatar); QString toQTString(); + json toJson(); }; #endif \ No newline at end of file diff --git a/src/addressbook.cpp b/src/addressbook.cpp index 55a3b5e..58c8695 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -7,6 +7,7 @@ #include "settings.h" #include "mainwindow.h" #include "controller.h" +#include "DataStore/DataStore.h" #include "FileSystem/FileSystem.h" @@ -398,6 +399,13 @@ void AddressBook::readFromStorage() } }*/ allLabels = FileSystem::getInstance()->readContacts(AddressBook::writeableFile()); + + // test to see if the contact items in datastore are correctly dumped to json + for(ContactItem item: allLabels) + { + DataStore::getContactDataStore()->setData(item.getCid(), item); + } + DataStore::getContactDataStore()->dump(); } void AddressBook::writeToStorage() From e6b8f000c94ff14f5f7f6dfe5c839334bc6246ad Mon Sep 17 00:00:00 2001 From: Strider <127.0.0.1@404.com> Date: Sun, 17 May 2020 14:57:38 +0200 Subject: [PATCH 114/256] update// added new writer method to filesystem to convert old format to new --- .gdb_history | 15 +++++++ peda-session-SilentDragonLite.txt | 2 +- src/DataStore/ChatDataStore.cpp | 5 +-- src/DataStore/ContactDataStore.cpp | 5 +-- src/FileSystem/FileSystem.cpp | 65 +++++++++++++++++++++--------- src/FileSystem/FileSystem.h | 9 ++++- src/addressbook.cpp | 7 +++- 7 files changed, 76 insertions(+), 32 deletions(-) diff --git a/.gdb_history b/.gdb_history index 2eb34c2..4e303b8 100644 --- a/.gdb_history +++ b/.gdb_history @@ -33,3 +33,18 @@ c c c q +b FileSystem::writeContacts(QString file, json j) +b FileSystem::writeContacts +r +q +b FileSystem::writeContacts +r +b ContactDataStore::dump() +r +c +n +q +b FileSystem::writeContacts +r +n +q diff --git a/peda-session-SilentDragonLite.txt b/peda-session-SilentDragonLite.txt index 87f58c8..f57fa7c 100644 --- a/peda-session-SilentDragonLite.txt +++ b/peda-session-SilentDragonLite.txt @@ -1,2 +1,2 @@ -break ContactItem::toJson() +break FileSystem::writeContacts diff --git a/src/DataStore/ChatDataStore.cpp b/src/DataStore/ChatDataStore.cpp index ff56c79..22c10f5 100644 --- a/src/DataStore/ChatDataStore.cpp +++ b/src/DataStore/ChatDataStore.cpp @@ -40,10 +40,7 @@ QString ChatDataStore::dump() j.push_back(c.second.toJson()); } chats["chatitems"] = j; - - std::string dump = chats.dump(4); - qDebug() << dump.c_str(); - return ""; + return QString::fromStdString(chats.dump()); } std::map ChatDataStore::getAllRawChatItems() diff --git a/src/DataStore/ContactDataStore.cpp b/src/DataStore/ContactDataStore.cpp index 4a1f691..e853770 100644 --- a/src/DataStore/ContactDataStore.cpp +++ b/src/DataStore/ContactDataStore.cpp @@ -43,10 +43,7 @@ QString ContactDataStore::dump() j.push_back(c.second.toJson()); } contacts["contacts"] = j; - - std::string dump = contacts.dump(4); - qDebug() << dump.c_str(); - return ""; + return QString::fromStdString(contacts.dump(4)); } ContactDataStore* ContactDataStore::instance = nullptr; diff --git a/src/FileSystem/FileSystem.cpp b/src/FileSystem/FileSystem.cpp index 5ee2fef..49c8178 100644 --- a/src/FileSystem/FileSystem.cpp +++ b/src/FileSystem/FileSystem.cpp @@ -20,6 +20,51 @@ FileSystem* FileSystem::getInstance() } QList FileSystem::readContacts(QString file) +{ + return this->readContactsOldFormat(file); //will be called if addresses are in the old dat-format +} + +void FileSystem::writeContacts(QString file, QString data) +{ + qDebug() << data; + QFile _file(file); + if (_file.exists()) + { + std::ofstream f(file.toStdString().c_str()); + if(f.is_open()) + { + f << data.toStdString(); + } + + f.close(); + } + else + { + qInfo() << file << "not exist"; + } +} + +void FileSystem::writeContactsOldFormat(QString file, QList contacts) +{ + QFile _file(file); + _file.open(QIODevice::ReadWrite | QIODevice::Truncate); + QDataStream out(&_file); // we will serialize the data into the file + QList> _contacts; + for(auto &item: contacts) + { + QList c; + c.push_back(item.getName()); + c.push_back(item.getPartnerAddress()); + c.push_back(item.getMyAddress()); + c.push_back(item.getCid()); + c.push_back(item.getAvatar()); + _contacts.push_back(c); + } + out << QString("v1") << _contacts; + _file.close(); +} + +QList FileSystem::readContactsOldFormat(QString file) { QList contacts; QFile _file(file); @@ -51,26 +96,6 @@ QList FileSystem::readContacts(QString file) return contacts; } -void FileSystem::writeContacts(QString file, QList contacts) -{ - QFile _file(file); - _file.open(QIODevice::ReadWrite | QIODevice::Truncate); - QDataStream out(&_file); // we will serialize the data into the file - QList> _contacts; - for(auto &item: contacts) - { - QList c; - c.push_back(item.getName()); - c.push_back(item.getPartnerAddress()); - c.push_back(item.getMyAddress()); - c.push_back(item.getCid()); - c.push_back(item.getAvatar()); - _contacts.push_back(c); - } - out << QString("v1") << _contacts; - _file.close(); -} - FileSystem::~FileSystem() { this->instance = nullptr; diff --git a/src/FileSystem/FileSystem.h b/src/FileSystem/FileSystem.h index 995c586..30dd5fc 100644 --- a/src/FileSystem/FileSystem.h +++ b/src/FileSystem/FileSystem.h @@ -5,7 +5,8 @@ #include #include "../Model/ContactItem.h" #include "../Crypto/FileEncryption.h" - +#include +using json = nlohmann::json; class FileSystem { private: @@ -16,7 +17,11 @@ class FileSystem public: static FileSystem* getInstance(); QList readContacts(QString file); - void writeContacts(QString file, QList contacts); + void writeContacts(QString file, QString data); + + //converter + QList readContactsOldFormat(QString file); + void writeContactsOldFormat(QString file, QList contacts); ~FileSystem(); }; diff --git a/src/addressbook.cpp b/src/addressbook.cpp index 58c8695..b557dd9 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -406,11 +406,16 @@ void AddressBook::readFromStorage() DataStore::getContactDataStore()->setData(item.getCid(), item); } DataStore::getContactDataStore()->dump(); + AddressBook::writeToStorage(); } void AddressBook::writeToStorage() { - FileSystem::getInstance()->writeContacts(AddressBook::writeableFile(), allLabels); + //FileSystem::getInstance()->writeContacts(AddressBook::writeableFile(), DataStore::getContactDataStore()->dump()); + + FileSystem::getInstance()->writeContactsOldFormat(AddressBook::writeableFile(), allLabels); + + /*QFile file(AddressBook::writeableFile()); file.open(QIODevice::ReadWrite | QIODevice::Truncate); QDataStream out(&file); // we will serialize the data into the file From ea7f3bc72a50cb641c19a4fbf5913f0195629cf7 Mon Sep 17 00:00:00 2001 From: Strider <127.0.0.1@404.com> Date: Sun, 17 May 2020 15:03:49 +0200 Subject: [PATCH 115/256] update// implemented reader for addressbook --- src/FileSystem/FileSystem.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/FileSystem/FileSystem.cpp b/src/FileSystem/FileSystem.cpp index 49c8178..d560d98 100644 --- a/src/FileSystem/FileSystem.cpp +++ b/src/FileSystem/FileSystem.cpp @@ -22,6 +22,23 @@ FileSystem* FileSystem::getInstance() QList FileSystem::readContacts(QString file) { return this->readContactsOldFormat(file); //will be called if addresses are in the old dat-format + + QFile _file(file); + if (_file.exists()) + { + std::ifstream f(file.toStdString().c_str(), std::ios::binary); + if(f.is_open()) + { + std::vector buffer(std::istreambuf_iterator(f), {}); + //todo covert to string to use is as json to feed the data store in addressbook + } + + f.close(); + } + else + { + qInfo() << file << "not exist"; + } } void FileSystem::writeContacts(QString file, QString data) @@ -33,6 +50,8 @@ void FileSystem::writeContacts(QString file, QString data) std::ofstream f(file.toStdString().c_str()); if(f.is_open()) { + //ENCRYPT HERE + f << data.toStdString(); } From 3431af2f6e6e29658562125776996fdac0b5a15f Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 17 May 2020 19:39:14 +0200 Subject: [PATCH 116/256] update lib --- lib/Cargo.lock | 6 +++--- lib/Cargo.toml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/Cargo.lock b/lib/Cargo.lock index 01613d0..b48d1b4 100644 --- a/lib/Cargo.lock +++ b/lib/Cargo.lock @@ -1177,7 +1177,7 @@ version = "0.1.0" dependencies = [ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", - "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=32ca60735b3529ff8589ab08fc16678f508a9359)", + "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=e368816c6d12267f25fbebec0aaac4c15d62d2a3)", ] [[package]] @@ -1640,7 +1640,7 @@ dependencies = [ [[package]] name = "silentdragonlitelib" version = "0.1.0" -source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=32ca60735b3529ff8589ab08fc16678f508a9359#32ca60735b3529ff8589ab08fc16678f508a9359" +source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=e368816c6d12267f25fbebec0aaac4c15d62d2a3#e368816c6d12267f25fbebec0aaac4c15d62d2a3" dependencies = [ "base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "bellman 0.1.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", @@ -2631,7 +2631,7 @@ dependencies = [ "checksum serde_yaml 0.8.11 (registry+https://github.com/rust-lang/crates.io-index)" = "691b17f19fc1ec9d94ec0b5864859290dff279dbd7b03f017afda54eb36c3c35" "checksum sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "27044adfd2e1f077f649f59deb9490d3941d674002f7d062870a60ebe9bd47a0" "checksum signal-hook-registry 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94f478ede9f64724c5d173d7bb56099ec3e2d9fc2774aac65d34b8b890405f41" -"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=32ca60735b3529ff8589ab08fc16678f508a9359)" = "" +"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=e368816c6d12267f25fbebec0aaac4c15d62d2a3)" = "" "checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" "checksum smallvec 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "f7b0758c52e15a8b5e3691eae6cc559f08eee9406e548a4477ba4e67770a82b6" "checksum socket2 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "e8b74de517221a2cb01a53349cf54182acdc31a074727d3079068448c0676d85" diff --git a/lib/Cargo.toml b/lib/Cargo.toml index fba5265..9784a1a 100644 --- a/lib/Cargo.toml +++ b/lib/Cargo.toml @@ -11,4 +11,4 @@ crate-type = ["staticlib"] [dependencies] libc = "0.2.58" lazy_static = "1.4.0" -silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "32ca60735b3529ff8589ab08fc16678f508a9359" } +silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "e368816c6d12267f25fbebec0aaac4c15d62d2a3" } From 41e3bbdfae808f7496aab68dca27c4570686b64c Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 20 May 2020 20:53:14 +0200 Subject: [PATCH 117/256] add new icons, dont write over send button --- application.qrc | 9 +++ res/addContactBlack.png | Bin 0 -> 21089 bytes res/addContactWhite.png | Bin 0 -> 12617 bytes res/getAddrBlack.png | Bin 0 -> 20966 bytes res/getAddrWhite.png | Bin 0 -> 12887 bytes res/lock_green.png | Bin 0 -> 1041 bytes res/requestBlack.png | Bin 0 -> 22429 bytes res/requestWhite.png | Bin 0 -> 12883 bytes res/send-white.png | Bin 0 -> 11875 bytes res/sendBlack.png | Bin 0 -> 16812 bytes res/unlocked.png | Bin 0 -> 1006 bytes src/DataStore/ChatDataStore.cpp | 24 +++++++- src/DataStore/ChatDataStore.h | 3 +- src/chatmodel.cpp | 77 +++++++++++++------------ src/chatmodel.h | 5 ++ src/contactrequest.ui | 18 ++++-- src/mainwindow.cpp | 29 ++++------ src/mainwindow.h | 5 -- src/mainwindow.ui | 98 ++++++++++++++------------------ 19 files changed, 147 insertions(+), 121 deletions(-) create mode 100644 res/addContactBlack.png create mode 100644 res/addContactWhite.png create mode 100644 res/getAddrBlack.png create mode 100644 res/getAddrWhite.png create mode 100644 res/lock_green.png create mode 100644 res/requestBlack.png create mode 100644 res/requestWhite.png create mode 100644 res/send-white.png create mode 100644 res/sendBlack.png create mode 100644 res/unlocked.png diff --git a/application.qrc b/application.qrc index d323bff..7ab9af5 100644 --- a/application.qrc +++ b/application.qrc @@ -41,6 +41,15 @@ res/lock_green.svg res/lock_blue.svg res/unlocked.svg + res/getAddrWhite.png + res/send-white.png + res/requestWhite.png + res/addContactWhite.png + res/getAddrBlack.png + res/sendBlack.png + res/requestBlack.png + res/addContactBlack.png +
res/hushdlogo.gif diff --git a/res/addContactBlack.png b/res/addContactBlack.png new file mode 100644 index 0000000000000000000000000000000000000000..984c6e3e10659d2923f961ae2243b0be928b56da GIT binary patch literal 21089 zcmcJ%c~nzZ8#j7R4oNU10TeML3_+~M38MsL5IKk@ysaXLb-D556?XO z_F0pdAmgz3EDXaq|A`+x0mEn!@c$RC4ESaE$A^0O!zC?tTr7qisvAyU`w;%^qZ%_s zmAqiCYKbCu4i=lbVAdSrf3g&5b0*ADq%O-jKW7AnCB6L5=-7!%o1d6*4u-j!giizB zz0NjGBCw9j-GsYrLLQxxd+G9%#4M>f+XcfV&2>Ki^HbIT|394>#&`L=2YkM%uC5Z> zK~BMnIEI?n$_u`(yqDP8vbXM&Fy)g9V~ud}GhAtTV6qpv zKgWb>sUYI>lwVQ|$%G!_(frUiCZI-4f}vu9L8g7PWLq-(sW9@4utSo^)mWH&{t`LK*v3 zJ(?P#YxHjy8NO=U^)o(fa40LjZoRd(KEJGG>gRV(vc8=%-h1=qE9&ZCO=5xedh`Xi zDXiNi%3MlMC8>v$-v}Y43#9m4tWlBf`%M4e)r@>`UB82m;@;MAwzM)z1tSfkeBQ2V za;Mw|$^^qHx$$s;`{!etzb=guhNe6zTt;ZOtnMU$+JVH~4NXicHe}EXm&(9DW15du zd^Pe*-}y`q?Gte{{f&xqXWevRbCoPE>Gs$6*4is}Nt5-$Kn^+JXGP1d$+F(q;KX3x z;BuEwCnEnC#lOBZN3I?_#0Oqv_?mW|2qpzF?$VO;0jjr*4d2`^x&H%xImmGKJSXmU z&?k9Uzgrzr88|zp+2E6lHCla636w2S^p`%;E605Xwcr+ypKEBJ{h$#nrWi_uux{;74B1Rb^y!Xu7dW&z_H)zqi*XaVouD89U#~(`hdhJ-$}M zj}}M;(GxFEHrRf$y`0Zj`Oe)pBZ`mHl*Y0U&_g9P*Q@j!djOfysS8&2jV{r=xR$52 z*?y{U;TK*_`OF1%ioIsn&)S#zvy?ilg|^>D44OP#$6%UIGPZ0Pz~ih5{OLMTSflJq zV*0RLsX2a#l5XXPvZ#t-tV$P>vrW&YlBYGjxb@DKaHf_`i9ls~A^Sdv5)kZQyLR)t~9W4IzvAvL~IxyI5w_a_qbA+I|hCi@7h|Qh*UKE@U6Ry>Sf&}dF#deQ$f2b)`xGpI;882*`m>O z14pn@YYT-p-c0m%^AR>+0ov@-zR@4&riNYjV}2FK?Ba`P_# zXG!t;J1<5v>YB@$1;XEpi(ANISF+fx(3Z;DRvjt!@Ftu@X4ls0X-36*adVI_ol+~Y zpDsj-$+xfHyUuS>^F#II3T)c!9(mHl5th0ctD@!eR9#14B%_@jE?tW34*A_`H^J?< zyEDJ@vY*X>+hv1k{{W{d*XJLX54=?TvoE<#H`8&E57mRT8gvPJUP9j$dE0>CvmDp;$&ft-SKKt?v6bhJq5KBCG%=rx##li z2Sc{dVAzcHAuQ$fV+!@4zW!NFh!z3lk7sL5Cpj4{;X14M1IC^mJD{+i^3hz?ya+u8 zrz~#Q(e@6XFO|&)mhwEvlJva{ZP~ZS{00wb`#vaqg!#u~qh!opR4mye z5z88#?AK*N6R#di=VjeO&Y-0Q^ZQNrcZkmadIU@9cD-R%Gs`K>>aC0f+?Ye~XZc1y zmE#4WnK5UePFn|*EnrBlHobpK`E5xe)5vSLCw0lo(&ahU5Z~7&&KXs5 zVzB#%f?$_LJkEU>2<|E|>uAreISBayyJxv^>Cmj{J-tBRrEC$PqJjAWw zbsbvXc}M+bgvGx7E(jJQWGQ*k?`vy9ag9=3l8?Jgoa)AKdSYx~qx`{b^{!oPX&TH`P!Y~Gm+1w>j@4&DB6Rr`bh7ZH?e4ldTM|SNQ}9Yn-0R?PoU86< zBoG$69m#K;Pv(w_o0Q+rXw1#@9uEEnQ8^)zdB{CjnTD)3fpVf$B-Rz*g7lSl1`RFJU=z4Z7l#wJf~mWHOTBA1%gIZHoAjt2UQuJT z9XqBu$jQFV;8rR^s*fRa*Xqu_S~tDWX7HoOd3i+Bx;aQyapM?1Zv5pm_4K_FKvfa% zzIqZ9qiH@W?Zx?lEOyZhHQPDxnh75>K$$ndY14V0>Pg98Q)z9$Pj1ndzdQFI$?;`s zZ4Z$Vl=2PNW_%5{GD+NsCnb032%qC?eJ8NG*4v*s26-E<;c5ydl2;PjckOrDj$>dt z9y_>myoDH?5aD0Gmru92dW=2iT;(Lkx9N4qDw`FBv7_?|$*>y=iBe`3^DAV8bknnQ3RwfK-A917Tk6+!fZ47%#b@aLo%qp zzXq#7u9&elWQNn_weJ?8*CHz@6Ruq=IlHCi$&@*7>l%8{jg@t|d<@ zVC77{(ombxyL3;TxFe`^itGoBR^(|n**0xYAef8Yui0t8JGk*hPi7G3!tPh(0J-{P zCsstHt4ysT-t_YKZ;4IyRrgV_>UX|kW_$6co%Lj=-jqNL;GF(+u?yR!Oc{v=vrn@gU=Ic<{LKp1RxDj$m9}rfT zs@B{Qku~=+x_xa)QRpg#8wI6I7;9F4TQekK{`V-$;Z9D*F{c< zvuNEbbAH9v_NXXS))cP}$m(DR7{n;G7Nb;h#?rCViQRG}Q(6x!G_$*g!-}<*JucX( zDWGh`mH|Zh&fc!=j8TFZO7v2yVVdF3)JZ@1?Y|E;4KjbpA*>KC1{3&fGX#vIXDC``g9D>Cd(u%(Mg4e zPVy`CKh?BWQFP-*rmD!-qktb}u$2=*qLGCSHBa8yoF&B6$MG@@i6=-Ci72+N~x?ajrgl%iSE);!7Vyyw{8Ri8$_CZn`@(qGf)I?v4zi zi-GEKU+Fgmy^MXlR^3#J=MJg2Zz-=J-pOv<*PRRxFje=Uf?SZn_kD7}`qp6yT+KAb z8DnG7etX3{y_XNecKA7k4H3(EjlXc7E$CZkP-WG+|^|I#YTy}tU@iX(0 zGTP$!d$oa0;op)^Z4-Aq9VNu~NcFPN9AMs2e-(rTS}YrGoh3@~SMA4}Al^KL~|DcX#hA%|lfh z_S#Wid7J)J5``ygxyl0xLW_0V>Fr~J9+;JnAZGVnai*`U2N_gdM)>ueennip9@4-O z*w+^f>1(w%gW*^O!S5#6`2D*6uIn9zoNjYO3=qq*k?Vfhrs(W_JW1TqLL)fW6}m}} z;$CC1DYxH-G+TY>mQ%iGG1$l~L4@J!4{R!G57_tg7F}^<;_nqN@n-8(@tLg$NsBQI zEO_?izota3fziDM5mu`9v26WW5wDNKok}w8Z|0vuTb4|L1gB!&?6mk$l~N^a(bzVC_suEv9Edg>zAmKNy3~uklwjuNJqM#> ztSE4^ZZCT&m-N)-D_GgZ6F{1ZGTO;2R^F*23N$iJ!jlRjUDO2UJvXCW7q(vpmAY_Q zE||PCl3YVSelOjw)sD0(%g)wlxiR`n(c&#M*q%#x12U~eQf{Z|_YXD|7@cFglfwCI zisRQCKOo)eUR(4HLzBro<$1&2g^T5q`w+;`mNtZt80QZuSLIg^ zn}Je7Y+$GV&Lr_0L8PX@n*N%wy+n@LRpYiwdLAYYFKO2uwD{18Zedu+pU5W+3=1Or~e~^VV;*r9+g)8*mo>Y$Xg0lL~g)zTEfAY476NPGFtd&WMCb ze=Kv3vz`LglJgdG$~o+U*+$FH(ho%F1)1PJB^TwdIWqvx6$pVr`7S=a0MjKTbG{Mt zg1-(moSl?AVc_@3hjk0bq8SjEKJL8Ke6blph~DC-{6rEhv9GKf=T)rj=d@ z(1Y-pvG>ebED2C8);(+QTakkuWbb3GQ1-ZTVJAz6Y!O|vg zc7rYMDkE-BwZ`yoKxXh-gwj20C{En0>#1J+S}N#(+Ulh*Xkc^_`RDPhUIB2D#}<20d%Rdo$MtjnRy$S#UH^twQ8XkDO<=mQZbvf{B*wm z!HEzq8hURcAJ#$6&-noaBP2&^mSYqZ4v|0O9b-XC$^Ah*{av7gdO)%TsAC7y=oaqh zI5AC}(osTd*P04&)hHTgJULfADVSQ4qR-d3tZv`>eF2JPMY?upqKbtj23hp^3OXY% zwPbGc8*Bf3TiL}VabgR$XUW7?l%-d~`DzVUgIxX8qmYhv<}Uy8^DF6>Uu9mBA7*MIctg~Z+vvWdLR z@rTJb$#Pjd=}}!tz8Ob84eQkuZoSt>^>_aR{9J=EMj_cE!^=$sW58d}z$M4ttkXb( zeP?_qOFHlfSXittTN%BD*sGG3B=G2+n5J>&Kj5N`yLB#xGDD{TyDomyGC@y0!nA-UkZ4=4=1U~l2j zytX$Y-Y9)5X7Bdgm}%9#h--y>*TV^N-~?<#LwLcQ17D8R5BX~q zZdKODN5`a%+^JwUy7Lz$^C~#Lvb@`L#DqCu0=&|^*wwoDi)XVzO_IjOVS86R9GXQx zxSuDz|L-J2+17vC!&HWbiQR%EKli!%OC}g2e1TIqV_8Td)DyFFJdV?it`X`4PC2P9 zJKnZ-zm}_VN&Db>IcQDi$mx*PGA!}+b`kWFbaGX6y-3*8mzVl%^Z1hVfyzU-a$JV1 zo)uh=^=w{5=bysw{sR?Gmo)s;V7jYNYS>BKpAD~mupP+(yX_I4S8fpr504;1MR(kX zrDb8e+Q`Vae_|=yO4B{VtFZEdHgSz*r$_aa@@G&SWmK2_^0Pv<7p!f9 zAv_P-T0&~7XpR1aGD~ek?dpP8=2O-Q6C45lkL3N`iID=yK%&1Kw7l!G`v6Wa2!|3{Jw&VwP zR5r9AnU6!mF?{r2Wm_?=L#@EUi+IXJ?DnH^e`&dP@|cZ&9_r0l?VdLI{9A;J$0_I^ zqJu(Gog@x7t;oBz03Gw$+YnvxChi<8qfzb6bAMMBp~kjP3u5NAA2lnRp|;kCfcgL# z91i`5NY#)Z%e?!H=Zy=FcjpPI;heb3 zt#HCaWm{deHu|})jZeYfFrMR?_7&oN`zVjk-?np_Ym z;*`5v%cCj1U$bO>_lmS$oG3V$aejLr-L8rx@o2Zd9h(ql*df<~ntnT^(c7m2$ELqg zmN*w}j`x4}AtJ_u$>@F)>ex4ZqD||?OR+3oaZxRY4Z=KFmiu1T(1^-ta+mzprsK(S zo?(628s(EgSb5DwEFxl=S^2_(F?qrhJ4yXd+On(1G{EUuE_s{YX-8?p{w&#b0QRD3 zON@R4+MYk^hqC7%#edJbE5GwCabRV4b@(<#dqQ*pf0&`ij(){PDJK$0o}zEpJ*(u? z<4)a(L?kzH$;qSyI(4zKC4EWR60%{cA$fyr)NXp?CQW$)`;Y#wq$T;*jY^{PbA#wJ(?_5Lkf=&D|@}q91 z@=F)ku{VFyW-)(1s<-`%oLp*t*>y9qC?huN5Ub+v1db1uwMo-f(|PlmuWSUOHb3GyWrhXrr#g|IMz8fL|+L)0J@# zYFyVYWKOUsRim}vf%sKMuM0sAUpr=juQ5KyDCE;qvDKc>RyLV6L35vfuvcDeVSrve z9o){PVk24FBn7y8v$8tSy^#<^{(YWz4}?O!7fp4&&gb^mD8@hmt@OsiKs>P=i~QpF z%Fe5QKyZYHM63(R!&*eV1oAtui1-@6=t5hfiN)dxlc!LvAuKz@Sw&mG^}hns6Rxq9 zZA~HvB=R`4lL~@=ZF5ZIUKrC2#teWldmu${z&xM5JHiut~jdL!D=HOLE4aoRIn$1sb83{r50Y7p5RHLKU4bhBr*ilY3#(hTZUDU&24@#QkM{;qs=laeZrfYAm;D@mW4`lrG-$y&ZYyE zkXoLBSIb;UYQ1&!-N%JTVqnX6=lQAes+GoJ;InwV;vGScWcbZ{EznTC{dFV5UA?ro z#}Hohw_6XU`$)3ON~RwoEI;Q|zJn%j<OHy%Fif9jUtLYgn`;?ZL@9uf&0(MELyaKOxBx{U=!x`BSX8z3m& z+2ZJXnvdnEXAW2%&}^8F$WWmABkNRsF$|d zRm08$hC@jW-KKftSr_<66_~rV*V{4TF*Lajf+c+)D-{2n$>V5~)H~TO`e7#nIBRga zf#I%vTF;P={1#{*4mc63mUEoreYS#k8pF?wRv7e1;o>nWc@iaWdX-)1iCr60^=s6F zieCA}Z~Bk6KdYqK$$d= zGDDbhflTbTKqXmT^k5#NF5bP;yiie9{95RjjAdM^i%VaPXRi$s>$vQlt_-jf!-y4~ z+cqYNuVTs{f2gt7)F!E2q&G4+1uHJAjn`c^o%1npwz&gTgb6LRn+f3NBXl51`I6Pneq$IVeqC}D? z-oW5=7N(@qTs)>Wd`(S`(B*rwq`ibCv?)H})qQikbn)WGgG)hma*vjlIJn_Lqk1um zY4-dpj-X*e!^hISA8}gI8n%1!Ha&#H!zw|rJl#poR$J&AO1>jM@ER1egt^jOUuhdS z7r8;4x1?Sfw*I=`S~~6VMxJR>na`GsBauo!HOa(Q5%yFAQ?m zLH-w(jZRlV%0+{x;jY4U5CCSarxt>F^U_UP9K0NLY7Q>!ZW)4`umz znQWmHp24t0aq7kcprU*9zW>^ep^}U7svsT9Q<;?1VyKlX`z@#pM_mLNRCz=OAyoqF z@=9Y+$=S{cJZ(YDeJj}LU0#?68VsN#>laLNh%2oO<-o74gqUGOOX#d1`z z(9v#@3Q>6X&nNNU6a$@s5t!ItAia1J$l`i`ee9oy30Gm?-qExH$7F6$6kxgjohjXY zKr1sxSI?UdlhnwqOI$$0(~m86bfIZv!z3I8JQcEv$NLax{Mql$LLYB*X3#l>BpCQ3 zO3^~dxry4u@tzB8KGpC`jCO%PWv;sRAX+(`<5EGtkbar-hE-O=E}Z6-xk z6r@T;01$hfiRR|;uz{Ct=_M5nCVbral4np9pwuT%hA2@x4?G+EYq3z#DQOQ(inmDb zNQX~`@RW>9NJE{^)72;d_wj&?f_=f!(f*YKr%0q$2#nx0iokR{ z+mH5^D;Gm?b|S|&v289CCt(^9lUr~z2g4b^DCRRn^Ji~|2i0|lftYiwuhI@4P^9U3h%^ye7`8z7f* z2wA>nf&ErMv}*la=K)57M+GznBTL2+s$D~KpUB#fOjLV$7(B~u7dGYT1-NkJ6>%OH z?X?qQ6`VBlNz3M2W2#@S9l-JJu=6bTcyJ>0pwnfbJx-t@qZjt{WMs^yE9Ja) zXw3`he6!Dt2NFc1mv;=87J^7smbHobi(oFRpIR!cFS#R6n1JuY&H#{U{7`>TUE#$8 zvC!P^+P%3Od20Jx>cK;gYbHGFTue-Je}r}LG7w;7YLc^c^=ZI*aR)YC6F2Zhk~&4I zkuJDSY<>(;_--IAPbn5f`5@&r^mF#kmm09Wb+HXYsd1Z$Z zVJFbaB(A=L&@|AW=?R&H14t+0oo>O6=3hKFT^Y{4s^utm^z~1k711jtYSE++MSTzQ;U{l1svi=ATrU~~$B&~?zXk?g)q2s=(o>)+b8K|)Hm zc&l0439A%&Lyh<99;zKuyty)mH#iwl|GLR@O0h3*ESKggT%q6kk$MgaV=f{Lv`4r{ z%&Hdwo;*rD}`P!|^w*8`|qaWWpWXLO%`y zqoDxPGPB;vT*O5kt-Gd1zR-ijTKVUFqA6rm9h`#K;-F^(Yysa0<39b0g2eyD(!%`z z_fG~!RX`>j6JS7Fu}y{xOaE$Oa- z!_~f0Di6_^{I7_`5vE-~KsF^YF)W%^d(sZA6*tzF(2QoH<{i7p1}Gv&4v6|6PJC&L zi-Gk)xWV5T6r!5{UR{H&8ZHc7;Zn*UX%Lk9@uW9CI=E=~%t7{uHxNOorAjXQh9{pN zxa@_ z=G!KeU%ijA)Z@fgiegZn$n$f<3$JqksuAAR9XjNFIzm9Rv zu%JVISBVp|HZUbMJ+5Fr4;@0o&Orosh;Aa6?D>U~mCY}BiB}@HD!C^yfg3y?Qz$zjh?K8~r#OV=DLQ>au3J|4>ff7WgMf<^H6GOj;4a9FIp^0M+Yk6r~G*2sN$ zWHph|>C5B%0DEBsfOnJ1`<@Lp*S%ROSqglh8(8!1+9x)OgnPuRGi8U;)K4z)Z?ApTPm=Ho%v^T*r z%BEvUzUAxq^obcy)Vq%u^nQsHba*QfZ^UrA4$xOO=ziT=?yHXn+r3ulW!--G7cBjD zy^;@3NL`Oe0KgP;{QO%IgpS0^`6Jw@Vi^x-@CX`CJ-^V(`Xt9!mT zE3<(GcdT#K##ir6$|44VkKKwSj=AH3km&>+;4JbhXyoeZR(s7|aDh#4SK`&;Ws)I)PTUa8 zoU%0qwy_+F zVal|tOA_R~=+W6;>_I$Z!){Qj$aTG7R1aSy_5zZi1eYS9%XmCG@8dO*po$eq8&qUy{h2>Zic009w1 zS`G+jm?5k~E{@`MWhc(}Y+6Uid*pMBm}tm$pvCYR&?HAWf)ZoA$^=9RipghG#IPzk z-nu)nD6YOOh-C7lS8P7?Mu^*2K^C#8sE$X)ZKc#(FxBxEB>?NBW|KtaE!J(*jbK$y z-{n5{97HFFZ$$d?^yiXDdWRZ666W-`*&ILX)QJK|mbD7S-=2Te`S@Li$uSKTQ~;b{ zvr6kAgv#|w+-)0Cc~J#?`3-5?02#j8kkje%6o|?A`mChdW0_YXi_2cj1OS9x1yub? zih1wlILK%=WB^b6^yp|Jtl)GTSb?#Yvq4at%D4Hqff^Sat!NN8ukoXMsbga7RDbV41+&%5I&q8L zcugc6@|68Y5`$-R z9LmqVbc?@~nmdTN?MVnh3eH9CjY)ow$=eIyFM6CSdFb0I2)?C`&(3xvo}1$9FvHq; z#FqDP*^!C@$5SKgnYwT-Ex)ZyYjjFBK5>EU@$0v0V5=beB~9pEm=sD3?Ukl%Wg zP4Z{cm%v8$K=!h}M1}{7tG`0$so;>wmnkZO!UDp@6MY?2yEdDWL*j(`SM<2w3r9w7 z31PWv0z>v8qV?(f0fB2wOlJpQg%AbukR;jV@t5xdx6Z@a1m|J$svKwZwNb8Gwb;v0K*XIt zjFPGDBLET4^4HywAQ(o6i#6eCz71f@i5-f{+y8+UVLQYpy#h+|ZQJg^*@FmOabq!! z7cOq}MQlP@g%NY`uf@e$)@%!1LSZi2TNo3v%CgON*^PTTn#UV)9@&oGrs;~C04KZ| z6<*iSPEkJqBw+9xbgrl7lKe8tc-Uk0n(sjKbIlqkYNIMnl3cak3`U82K4CCyMc?-wl4-#2gG=4= zKxVGP;ubghLtQSb9TfB*Pq*M=2E0ZOV(B*i9n_0`^VN?)-6ZH-X#Oa$y$Nu>$WndmZlZ-XfkxF1j;A!V=NqJ`5TGS?cx) zH6Kw00f>XDKKZuyF)Zz}5$><{4DbNA)px*_(7bog>mFW4G6#gpH7h>^_{gWQrz6Ez zsvQw7+ANf&IPC8=ZqWQlff5pcbv{4xmQNY`wFZ3j(4?Cuop2N98**iVB18_5;jt7R z!ismHUOq=!-!b!p1Iv=h7zFg(3th$y*Ya(hLsLwMRV?jbUNl?vrhov$g>q*iM7Dc> z*MzWWMK^DfIY>)~-KR)$xw>6t3XZR|pewI|mnRWDfse1iMQlJZD6GhyX8_7syhreY zPwbUL;Iv7Z`mDxgM1c{Euyl8Y+I$t=GXEvyZMGd{L}oXCIqy_m)_>3VrTlI-dOB3k zxDK6c@vvb7blRG(=?7*j!e^SmY8W%y2l2**SiB*TL{ne>NXeIK6cJ*efn*+JiZ8|c z&GxPD(R=7}zMZiw1m2zjC~Pm(KL zGFAWjzVpmPM+tgtsV;_cG4vkQgGXBrTw_WbY*jSs2@QgG@!y zMQ}Tl0SPgT*iX__AHYb%un{J^q_YF&cri2pIThDiVl;)wIfbV>Atp+vJyV4Ry^DlM zpWgxSJV}~a8R_c{%~+gIQK|Fxu`=(6=89#;i znn2><$ZHwZI1#S{e@5sj220bm_faZz~O6z>l-iilf7r(LC zMrt@X0$-cm96E7d^t2%sKLZutJ558v?aU!O z!bJ{E!2rTY&2yN(TO7DA0r@iymBVsq zLM87HWZh%w1_2@6y+_N$4lMV*owS;cBu%*FPvs6yfCn~cqRhP;3Innw*=%W)zlAl{ z_jZd0)pHCp))#E>ksVqNm#0+q2m_!QoD5i5_7HL2w}d}(_HiaXbt9TRq$;5Kdq*t6 z9!mfp31GL)$9)7k;5OF6tw<2jlWN>J*-@`Ed`t90 zS2&)KZ2-0w0~-Sy>NLTV%EkOS7FHk3?N6JZKj^phv?gTB6>YDj;*@~ys5o3Vc5-aU zK&2nk-lyI6$`{t<9_B~ChXz+ZDzXc?x^2D3_ksB;Br`(uzIxk1Z-MIe**at^pzVdn zimRJ8xd0X7zzp<%nP0z@cRNu0-o%jSv3;S(1_2NP-Sy+m$QX958wU`;GPm_K-w|LwAn z6?moR3I9CxO^|5{TSA<}n_C50E$nZsaQ!3@-Cr;DJ0E+Yg=&~&2~ZDPa#z_m00!=S zLM(E5B)j;#!d*I~We0qi!J4gvKxUeL|DCZGr5I6*yR>ue2j%hMy)mUM)pcovF3TP8*25KYDw$AK2R5`GJ!b`v^nlOU-pIaH)K&t!-E(w8oT8p)mLNFDYBpT{Dq5yAaQP{-D6t0?C^( znXzT%RO1FACHNjG;eQy*+1e|jRuzjo6#t3$^Hu#_hFXJ5GK zok*mqzRd6vlNWcHY;r>|>`L)RoyHrkvo4oGY_|d`irnHbDDGgA%=Z->!D?88uDo~E zzBq@E#O9gaH_`p!2j%#5uNEB2KS3h^_cq%r@%Vc@RQUvMf@ezc@5I$Jwn{;HwTpt7 zDONS>$5&KRG^^;zIF0vv^qGlZ-Ru2QyxSa(a9$n7;$l$m}iG|X1DU|lr6VT4Muruj|AZDZKW=u-Bp2pX>CB82OfZ#mQ zk3G0nhJGY5YsXyUB_7>~t)V7gwfX~Tp%+KGRoPxeQ0i?hxL3fcFtxw#bu(k!RMa~t zFOy|h!6B0FSoLp#ITD`I9XL2TG}o|t8d178K>rSvXnr&KG-7$Ka|+H%Wh*PU-0(Au z^?gx&+42g}M=D^+apI1qrtpKyTVtFQMdB`Ow<9GG@mp&odvzk=TkSbLJ5i;00s!iuQ3sbT{mG%OzM}__WrA3D?UxGH<@I%M zJvSdJX;kL$(0*2#?aRVdsQiy^Z;V=`3WNgRnih;7&?tHrKdbE#;p6ABT=K!L1Xxo# z!t-ND01gACx#vi!s))E8W6S6a;1-+9+RQm5LtddfOBj0GEvz z9mbyFLr3+v*EIl0p7UT?XI-I&2?uGei#nB#Bw=Eeq^h(|D)eAzzHniGPP>G=&!jOZ-~MNJ-muj(=L8Gy$41Ca&)M3(N=9ep|u^j=Uh?Dsv4dxJ-XI?mXj=Z z`H{TxJKO{NjZEek_Cv0aBQ8!~{zKVuGq?H1SiJ4U2!u zoTYJIRE7~avBp~e0Pa{LTFG+luIkOKlX-x`TD$UpWX8)1m@un7zMgc63<^>Ls($-y zF`w@g0LGvi2d7GWwByL%Kq9xhR^_2{%`&&V)la-9GMw4956DZU#LyaGxO(RC7!M8pb z4)J3j)YjX*UplF2@YOvt@ab}g*lso7u=>m>b=+k}T_T&`L<)oO67B(Sjb%uC^+7FZ z(4VQO@AdCxL{gKJ?~L@gG*xUD8$389M__ThjKWT+hRREXQYlmTEBJ$Q6!-&4?i&br zbhMLQ6YM*j?7E|SMf9dFNm+xbKImKRIFz(`&I7`Asi_cvu7B&8pdC-7`sQ@1e@`M= zNUK95;zI8VA3VIoysPfwJ$oT47k`**TsWK+@8He4kkPp6r)9#@so`C`Rj|pw$Lr_2 z2hdZI!GRmm+%nhWT$*HWNcBI?g3NR*GcUuUOw`eG5y6Vv*#!2eRrl;P%9sJ9o(+pE z&p<_R5n2R9W2WBE+SpT>^rGO?PLi<5TUT;ae>aK@42KP>@0e#-=aGh_aynJvw2q@N zXitBbK(;Y30}-wcJV#QQf_! z>l*>|0=91EW$+`Y>#C~G*hJVTEwo0K+XR;##;~B9+Pi1Te@FC5>oexHeUekAOa-pS+#8k+&YCeYtPt&&lARn;==ls9daOa@&gn94{q*g(o4vgf&?qe4Lv`;FM=U*zm~ zfg}0?i~JkdTMr*BD0NB*g&jZKX2Pa!+TW#@v|+e1^;k}4B0zX}UDgi&tu}!uy#Uu? zpR#lP>v;L5tw5m@4ynX&a(CrG$9;3T(~^a- zipCEr?LWxM-T%%x)tP*PT{*T zfO@wfLKj%jb2drHk(R2r0+TXjieySfV<7Az|llL{WdxCx`_5dTlX{NKNer8P0%tpjD$V zNzc%n&QzFJ7NPPNqGNY+$rAnepyrrWk=5cdKWDPVj-LP?E{Cu5XBtjPv9Cg&@7O>>%)105s zm%5VRuvX+u9QAp~XapmmSg1e@u0l%ggjC?)F-i!d4e(&SDK!mC`DURS&)o>N04Pq$ zTe?&f?gZSinD$LbWD1&4*yUeg_3Q$f24A!xO_edv3%)RA z=wC^ghIQ6B$RY0fTnLD-@OK*_cnDv}`a!`N3F%2jur47Mg$}CEOBznvg4EaTKIM1# z@C^%N(n0_->_Czk2tWoWHU-b(kF2UK9=X9k>ka!3<1&3pffgS&A*6bjLxNFA>%_1q zEosJBwA25E6|q-XWcb=w6`jhq!eIcmQ1gc{D>_%(7^plL)Z-KB^36BjB#{{%bwQyk z$WHsS;JSFW>j>;_Vd95E+p7>DvyPVfi3Kd};viS;+cN$rZrrWqRb{*>1S55 zv85=lb?&HRKD(miy>Pg?R3L4__E1u0N1cX0px0qZD%>EQ_S#|Nyt~XOikgtA?%Mt) sX~F;e0#NzSTkRSI#m)b>Kk=~1yDlB&du{Z?;J^QjNf>=_lsy0c0rwCgd;kCd literal 0 HcmV?d00001 diff --git a/res/addContactWhite.png b/res/addContactWhite.png new file mode 100644 index 0000000000000000000000000000000000000000..fea4efc6eb1278e228ffb015041034d288a69afc GIT binary patch literal 12617 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 ab|vNW;h(G-u@8fPCX7!>JUC8X{Qm(Zf7iAE literal 0 HcmV?d00001 diff --git a/res/getAddrWhite.png b/res/getAddrWhite.png new file mode 100644 index 0000000000000000000000000000000000000000..6caeeae319540c6c3bbc1b0b91af02aa7e042a72 GIT binary patch literal 12887 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 literal 0 HcmV?d00001 diff --git a/res/lock_green.png b/res/lock_green.png new file mode 100644 index 0000000000000000000000000000000000000000..cd7c2abaa256da5a3c5675a42e005578830973b6 GIT binary patch literal 1041 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 literal 0 HcmV?d00001 diff --git a/res/send-white.png b/res/send-white.png new file mode 100644 index 0000000000000000000000000000000000000000..96c76214708a25c7218a7472b9aadcb520517890 GIT binary patch literal 11875 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 AAOHXW literal 0 HcmV?d00001 diff --git a/res/sendBlack.png b/res/sendBlack.png new file mode 100644 index 0000000000000000000000000000000000000000..62d9d1e25f4f452aecaa6c35b682028fa361dbf3 GIT binary patch literal 16812 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 literal 0 HcmV?d00001 diff --git a/src/DataStore/ChatDataStore.cpp b/src/DataStore/ChatDataStore.cpp index 22c10f5..2ede26d 100644 --- a/src/DataStore/ChatDataStore.cpp +++ b/src/DataStore/ChatDataStore.cpp @@ -2,6 +2,7 @@ // GPLv3 #include "ChatDataStore.h" +#include "addressbook.h" ChatDataStore* ChatDataStore::getInstance() { @@ -48,15 +49,15 @@ std::map ChatDataStore::getAllRawChatItems() return this->data; } -std::map ChatDataStore::getAllContactRequests() +std::map ChatDataStore::getAllNewContactRequests() { std::map filteredItems; for(auto &c: this->data) { if ( (c.second.isOutgoing() == false) && - (c.second.getType() == "cont") && - (c.second.getMemo().startsWith("{")) + (c.second.getType() == "cont") + ) { filteredItems[c.first] = c.second; @@ -65,6 +66,23 @@ std::map ChatDataStore::getAllContactRequests() return filteredItems; } +std::map ChatDataStore::getAllOldContactRequests() +{ + std::map filteredItems; + for(auto &p : AddressBook::getInstance()->getAllAddressLabels()) + for(auto &c: this->data) + { + if ( + (c.second.isOutgoing() == false) && + (c.second.getType() == "cont") && + (p.getPartnerAddress() == c.second.getRequestZaddr()) + ) + { + filteredItems[c.first] = c.second; + } + } + return filteredItems; +} std::map ChatDataStore::getAllMemos() { diff --git a/src/DataStore/ChatDataStore.h b/src/DataStore/ChatDataStore.h index 444c704..7fb0998 100644 --- a/src/DataStore/ChatDataStore.h +++ b/src/DataStore/ChatDataStore.h @@ -22,7 +22,8 @@ class ChatDataStore void setData(QString key, ChatItem value); ChatItem getData(QString key); std::map getAllRawChatItems(); - std::map getAllContactRequests(); + std::map getAllNewContactRequests(); + std::map getAllOldContactRequests(); std::map getAllMemos(); QString dump(); diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 1e72714..b669302 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -10,7 +10,6 @@ #include "addressbook.h" #include "ui_memodialog.h" #include "ui_contactrequest.h" -#include "addressbook.h" #include #include #include "DataStore/DataStore.h" @@ -97,7 +96,7 @@ void MainWindow::renderContactRequest(){ QStandardItemModel* contactRequest = new QStandardItemModel(); { - for (auto &c : DataStore::getChatDataStore()->getAllContactRequests()) + for (auto &c : DataStore::getChatDataStore()->getAllOldContactRequests()) { QStandardItem* Items = new QStandardItem(c.second.getAddress()); @@ -109,18 +108,17 @@ void MainWindow::renderContactRequest(){ QObject::connect(requestContact.requestContact, &QTableView::clicked, [&] () { - for (auto &c : DataStore::getChatDataStore()->getAllRawChatItems()){//this->chatItems){ + for (auto &c : DataStore::getChatDataStore()->getAllRawChatItems()){ QModelIndex index = requestContact.requestContact->currentIndex(); QString label_contact = index.data(Qt::DisplayRole).toString(); QStandardItemModel* contactMemo = new QStandardItemModel(); - if (c.second.isOutgoing() == false) { - if (label_contact == c.second.getAddress()) { - if(c.second.getMemo().startsWith("{")){ + if ((c.second.isOutgoing() == false) && (label_contact == c.second.getAddress()) && (c.second.getType() == "cont")) + + { - }else{ QStandardItem* Items = new QStandardItem(c.second.getMemo()); - contactMemo->appendRow(Items); + contactMemo->appendRow(Items); requestContact.requestMemo->setModel(contactMemo); requestContact.requestMemo->show(); @@ -128,11 +126,11 @@ void MainWindow::renderContactRequest(){ requestContact.requestZaddr->setText(c.second.getRequestZaddr()); requestContact.requestCID->setText(c.second.getCid()); requestContact.requestMyAddr->setText(c.second.getAddress()); - } + }else{} } - } - } + + }); QObject::connect(requestContact.pushButton, &QPushButton::clicked, [&] () { @@ -173,7 +171,6 @@ void MainWindow::renderContactRequest(){ QMessageBox::information(this, "Added Contact","successfully added your new contact. You can now Chat with this contact"); }); - dialog.exec(); } @@ -425,7 +422,8 @@ QString MainWindow::doSendChatTxValidations(Tx tx) { } void::MainWindow::addContact() { - + + Ui_Dialog request; QDialog dialog(this); request.setupUi(&dialog); @@ -434,24 +432,31 @@ void::MainWindow::addContact() { bool sapling = true; rpc->createNewZaddr(sapling, [=] (json reply) { QString myAddr = QString::fromStdString(reply.get()[0]); - QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); + request.myzaddr->setText(myAddr); ui->listReceiveAddresses->insertItem(0, myAddr); ui->listReceiveAddresses->setCurrentIndex(0); - qDebug() << "new generated myAddr" << myAddr; - request.myzaddr->setText(myAddr); + }); + + 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 newLabel = request.labelRequest->text().trimmed(); auto myAddr = request.myzaddr->text().trimmed(); + // ChatModel->addSendRequest(myAddr, cid, addr); + + + QString avatar = QString(":/icons/res/") + request.comboBoxAvatar->currentText() + QString(".png"); if (addr.isEmpty() || newLabel.isEmpty()) @@ -490,15 +495,24 @@ void::MainWindow::addContact() { return; }); - dialog.exec(); } + + // Create a Tx for a contact Request Tx MainWindow::createTxForSafeContactRequest() { - Tx tx; + Ui_Dialog request; + QDialog dialog(this); + request.setupUi(&dialog); + Settings::saveRestore(&dialog); + +Tx tx; + +{ + // For each addr/amt in the Chat tab { @@ -510,18 +524,14 @@ Tx MainWindow::createTxForSafeContactRequest() { amt = CAmount::fromDecimalString("0"); totalAmt = totalAmt + amt; - - for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) - if (ui->contactNameMemo->text().trimmed() == c.getName()) { - - - QString cid = c.getCid(); - QString myAddr = c.getMyAddress(); + + QString cid = request.cid->text(); + QString myAddr = request.myzaddr->text().trimmed(); QString type = "cont"; - QString addr = c.getPartnerAddress(); + QString addr = request.zaddr->text().trimmed(); QString hmemo= createHeaderMemo(type,cid,myAddr); - QString memo = ui->memoTxtChat->toPlainText().trimmed(); + QString memo = request.memorequest->toPlainText().trimmed(); tx.toAddrs.push_back(ToFields{addr, amt, memo}); tx.toAddrs.push_back(ToFields{addr, amt, hmemo}); @@ -532,19 +542,16 @@ Tx MainWindow::createTxForSafeContactRequest() { } tx.fee = Settings::getMinerFee(); - +} return tx; qDebug() << "RequestTx created"; - - } - } void MainWindow::ContactRequest() { - if (ui->contactNameMemo->text().trimmed().isEmpty() || ui->memoTxtChat->toPlainText().trimmed().isEmpty()) { + /* if (request.labelRequest->text().trimmed().isEmpty() || request.memorequest->toPlainText().trimmed().isEmpty()) { // auto addr = ""; // if (! Settings::isZAddress(AddressBook::addressFromAddressLabel(addr->text()))) { @@ -554,7 +561,7 @@ void MainWindow::ContactRequest() { msg.exec(); return; - } + }*/ Tx tx = createTxForSafeContactRequest(); @@ -632,7 +639,7 @@ void MainWindow::ContactRequest() { QMessageBox::critical(this, QObject::tr("Transaction Error"), errStr, QMessageBox::Ok); } ); - + } diff --git a/src/chatmodel.h b/src/chatmodel.h index bf3e255..a96f3bd 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -19,6 +19,9 @@ #include "Chat/Helper/ChatDelegator.h" #include "Chat/Helper/ChatIDGenerator.h" +namespace Ui { + class MainWindow; +} class ChatModel { private: @@ -28,6 +31,7 @@ class ChatModel MainWindow* main; std::map cidMap; std::map requestZaddrMap; + std::map> sendrequestMap; public: ChatModel() {}; @@ -44,6 +48,7 @@ class ChatModel void addMessage(QString timestamp, ChatItem item); void addCid(QString tx, QString cid); void addrequestZaddr(QString tx, QString requestZaddr); + void addSendRequest(int i, QString myAddr, QString cid, QString addr ); QString getCidByTx(QString tx); QString getrequestZaddrByTx(QString tx); void killCidCache(); diff --git a/src/contactrequest.ui b/src/contactrequest.ui index d2ae8ef..9ce3c22 100644 --- a/src/contactrequest.ui +++ b/src/contactrequest.ui @@ -14,7 +14,7 @@ Send a contact request - + <html><head/><body><p align="right">Choose a avatar for your contact :</p></body></html> @@ -28,7 +28,7 @@ - + @@ -185,6 +185,9 @@ + + + @@ -192,7 +195,7 @@ - + @@ -231,6 +234,13 @@ + + + + Send Contact + + + @@ -255,7 +265,7 @@ sendRequestButton clicked() Dialog - accept() + update() 536 diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index de034ac..b3868d4 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1011,52 +1011,45 @@ void MainWindow::setupchatTab() { auto theme = Settings::getInstance()->get_theme_name(); if (theme == "dark" || theme == "midnight") { - QPixmap send(":/icons/res/send-new-white.png"); + QPixmap send(":/icons/res/send-white.png"); QIcon sendIcon(send); ui->sendChatButton->setIcon(sendIcon); - QPixmap notification(":/icons/res/notification.png"); + QPixmap notification(":/icons/res/requestWhite.png"); QIcon notificationIcon(notification); ui->pushContact->setIcon(notificationIcon); - QPixmap addContact(":/icons/res/add_contact.png"); + QPixmap addContact(":/icons/res/addContactWhite.png"); QIcon addContactIcon(addContact); ui->safeContactRequest->setIcon(addContactIcon); - QPixmap newAddr(":/icons/res/add_contact.png"); + QPixmap newAddr(":/icons/res/getAddrWhite.png"); QIcon addnewAddrIcon(newAddr); ui->givemeZaddr->setIcon(addnewAddrIcon); - QPixmap sendContact(":/icons/res/upload.png"); - QIcon addSendContactIcon(sendContact); - ui->sendContact->setIcon(addSendContactIcon); }else{ - QPixmap pixmap(":/icons/res/send-new.svg"); - QIcon sendIcon(pixmap); + + QPixmap send(":/icons/res/sendBlack.png"); + QIcon sendIcon(send); ui->sendChatButton->setIcon(sendIcon); - QPixmap notification(":/icons/res/notification.svg"); + QPixmap notification(":/icons/res/requestBlack.png"); QIcon notificationIcon(notification); ui->pushContact->setIcon(notificationIcon); - QPixmap addContact(":/icons/res/add_contact.svg"); + QPixmap addContact(":/icons/res/addContactBlack.png"); QIcon addContactIcon(addContact); - ui->safeContactRequest->setIcon(addContact); + ui->safeContactRequest->setIcon(addContactIcon); - QPixmap newAddr(":/icons/res/add_contact.svg"); + QPixmap newAddr(":/icons/res/getAddrBlack.png"); QIcon addnewAddrIcon(newAddr); ui->givemeZaddr->setIcon(addnewAddrIcon); - - QPixmap sendContact(":/icons/res/upload.svg"); - QIcon addSendContactIcon(sendContact); - ui->sendContact->setIcon(addSendContactIcon); } QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::sendChatButton); - QObject::connect(ui->sendContact, &QPushButton::clicked, this, &MainWindow::ContactRequest); QObject::connect(ui->safeContactRequest, &QPushButton::clicked, this, &MainWindow::addContact); QObject::connect(ui->pushContact, &QPushButton::clicked, this , &MainWindow::renderContactRequest); diff --git a/src/mainwindow.h b/src/mainwindow.h index ff4b76a..ea0a3a4 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -62,12 +62,7 @@ public: void updateLabels(); void updateTAddrCombo(bool checked); - // void renderContactRequest(); - // void setChatItem(ChatItem* item); - //void ChatItem* getChatItem(); - - // Disable recurring on mainnet void disableRecurring(); diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 3e82d7a..82b4260 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1409,9 +1409,21 @@ 81 + + false + font: 11pt "Noto Color Emoji"; + + QTextEdit::AutoNone + + + QTextEdit::FixedColumnWidth + + + 80 + @@ -1435,7 +1447,7 @@ - 1170 + 1160 560 91 81 @@ -1455,12 +1467,12 @@ - :/icons/res/send-new-white.png + :/icons/res/sendBlack.png - 41 + 50 49 @@ -1533,18 +1545,21 @@ 0 + + Add a new contact + - :/icons/res/add_contact.png + :/icons/res/addContactBlack.png - 43 - 49 + 50 + 45 @@ -1554,10 +1569,10 @@ - 10 - 30 - 41 - 41 + 50 + 20 + 61 + 51 @@ -1566,6 +1581,9 @@ 0 + + Incoming contact request + false @@ -1574,71 +1592,41 @@ - :/icons/res/notification.png:/icons/res/notification.png + :/icons/res/requestBlack.png:/icons/res/requestBlack.png - 33 - 35 + 50 + 45 true - + - 270 - 510 - 51 + 210 + 20 + 61 51 - - - 100 - 0 - + + Get a new Address - - - :/icons/res/add_contact.png - - - - - 43 - 49 - - - - true - - - - - - 60 - 30 - 111 - 41 - - - - New Addr - - :/icons/res/add_contact.png:/icons/res/add_contact.png + :/icons/res/getAddrBlack.png:/icons/res/getAddrBlack.png - 33 - 35 + 50 + 45 @@ -1648,8 +1636,8 @@ - 40 - 20 + 90 + 10 21 16 @@ -2042,7 +2030,7 @@ AddressCombo QComboBox -
addresscombo.h
+
addresscombo.h
QRCodeLabel From da65008a880a1c41e89e37930705004d27b52972 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 20 May 2020 20:58:23 +0200 Subject: [PATCH 118/256] change text with theme --- src/mainwindow.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index b3868d4..e895947 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1027,6 +1027,8 @@ void MainWindow::setupchatTab() { QIcon addnewAddrIcon(newAddr); ui->givemeZaddr->setIcon(addnewAddrIcon); + ui->memoTxtChat->setTextColor("White"); + }else{ QPixmap send(":/icons/res/sendBlack.png"); @@ -1044,6 +1046,8 @@ void MainWindow::setupchatTab() { QPixmap newAddr(":/icons/res/getAddrBlack.png"); QIcon addnewAddrIcon(newAddr); ui->givemeZaddr->setIcon(addnewAddrIcon); + + ui->memoTxtChat->setTextColor("Black"); } @@ -1109,11 +1113,6 @@ void ChatMemoEdit::setMaxLen(int len) { updateDisplay(); } -void ChatMemoEdit::setSendChatButton(QPushButton* button) { - this->sendChatButton = button; -} - - void MainWindow::updateChat() { rpc->refreshChat(ui->listChat); 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 119/256] 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 + + + + From ca090d62ddd91f2edf27477bcda3f93d947ea2ec Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 21 May 2020 00:08:32 +0200 Subject: [PATCH 120/256] show oldrequest information --- src/chatmodel.cpp | 44 ++++++++++++++++++++++++++++++++++++++------ 1 file changed, 38 insertions(+), 6 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 450d903..ae123a9 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -83,11 +83,8 @@ void MainWindow::renderContactRequest(){ QStandardItemModel* contactRequest = new QStandardItemModel(); - // auto labels = AddressBook::getInstance()->getAllAddressLabels(); for (auto &c : DataStore::getChatDataStore()->getAllNewContactRequests()) - - // if (labels.adress() != c.second.getRequestZaddr()) { QStandardItem* Items = new QStandardItem(c.second.getAddress()); @@ -95,17 +92,20 @@ void MainWindow::renderContactRequest(){ requestContact.requestContact->setModel(contactRequest); requestContact.requestContact->show(); } - QStandardItemModel* contactRequestOld = new QStandardItemModel(); + QStandardItemModel* contactRequestOld = new QStandardItemModel(); + for (auto &p : AddressBook::getInstance()->getAllAddressLabels()) for (auto &c : DataStore::getChatDataStore()->getAllOldContactRequests()) { - + if (p.getPartnerAddress() == c.second.getRequestZaddr()) + { QStandardItem* Items = new QStandardItem(c.second.getAddress()); contactRequestOld->appendRow(Items); requestContact.requestContactOld->setModel(contactRequestOld); requestContact.requestContactOld->show(); + }else{} } - //} + QObject::connect(requestContact.requestContact, &QTableView::clicked, [&] () { @@ -132,6 +132,33 @@ void MainWindow::renderContactRequest(){ + }); + + QObject::connect(requestContact.requestContactOld, &QTableView::clicked, [&] () { + + for (auto &c : DataStore::getChatDataStore()->getAllRawChatItems()){ + QModelIndex index = requestContact.requestContactOld->currentIndex(); + QString label_contactold = index.data(Qt::DisplayRole).toString(); + QStandardItemModel* contactMemo = new QStandardItemModel(); + + if ((c.second.isOutgoing() == false) && (label_contactold == c.second.getAddress()) && (c.second.getType() != "Cont")) + + { + + QStandardItem* Items = new QStandardItem(c.second.getMemo()); + contactMemo->appendRow(Items); + requestContact.requestMemo->setModel(contactMemo); + requestContact.requestMemo->show(); + + + requestContact.requestZaddr->setText(c.second.getRequestZaddr()); + requestContact.requestCID->setText(c.second.getCid()); + requestContact.requestMyAddr->setText(c.second.getAddress()); + }else{} + } + + + }); QObject::connect(requestContact.pushButton, &QPushButton::clicked, [&] () { @@ -174,6 +201,11 @@ void MainWindow::renderContactRequest(){ }); dialog.exec(); + + rpc->refreshContacts( + ui->listContactWidget + + ); } void ChatModel::addCid(QString tx, QString cid) From 5ad5d07c1c883ca793ba319e3f203209bd3e8604 Mon Sep 17 00:00:00 2001 From: Strider <127.0.0.1@404.com> Date: Thu, 21 May 2020 12:12:32 +0200 Subject: [PATCH 121/256] update// created request objects to store inportant information --- silentdragon-lite.pro | 1 + src/Model/ContactRequest.cpp | 67 +++++++++++++++ src/Model/ContactRequest.h | 33 ++++++++ src/chatmodel.cpp | 158 ++++++++++++++--------------------- src/chatmodel.h | 1 + 5 files changed, 165 insertions(+), 95 deletions(-) create mode 100644 src/Model/ContactRequest.cpp create mode 100644 src/Model/ContactRequest.h diff --git a/silentdragon-lite.pro b/silentdragon-lite.pro index bb10655..86f38b0 100644 --- a/silentdragon-lite.pro +++ b/silentdragon-lite.pro @@ -79,6 +79,7 @@ SOURCES += \ src/Model/ChatItem.cpp \ src/Model/ContactRequestChatItem.cpp \ src/Model/ContactItem.cpp \ + src/Model/ContactRequest.cpp \ src/Chat/Helper/ChatIDGenerator.cpp \ src/Chat/Chat.cpp \ src/FileSystem/FileSystem.cpp \ diff --git a/src/Model/ContactRequest.cpp b/src/Model/ContactRequest.cpp new file mode 100644 index 0000000..68b4ed3 --- /dev/null +++ b/src/Model/ContactRequest.cpp @@ -0,0 +1,67 @@ +// Copyright 2019-2020 The Hush developers +// GPLv3 + +#include "ContactRequest.h" + +ContactRequest::ContactRequest() {} + +ContactRequest::ContactRequest(QString sender, QString receiver, QString memo, QString cid) +{ + _senderAddress = sender; + _receiverAddress = receiver; + _memo = memo; + _cid = cid; +} + +QString ContactRequest::getSenderAddress() +{ + return _senderAddress; +} + +QString ContactRequest::getReceiverAddress() +{ + return _receiverAddress; +} + +QString ContactRequest::getMemo() +{ + return _memo; +} + +QString ContactRequest::getCid() +{ + return _cid; +} + +void ContactRequest::setSenderAddress(QString address) +{ + _senderAddress = address; +} + +void ContactRequest::setReceiverAddress(QString address) +{ + _receiverAddress = address; +} + +void ContactRequest::setMemo(QString memo) +{ + _memo = memo; +} + +void ContactRequest::setCid(QString cid) +{ + _cid = cid; +} + +QString ContactRequest::toString() +{ + return "sender: " + _senderAddress + " receiver: " + _receiverAddress + " memo: " + _memo + " cid: " + _cid; +} + +ContactRequest::~ContactRequest() +{ + _senderAddress = ""; + _receiverAddress = ""; + _memo = ""; + _cid = ""; +} \ No newline at end of file diff --git a/src/Model/ContactRequest.h b/src/Model/ContactRequest.h new file mode 100644 index 0000000..5339d5c --- /dev/null +++ b/src/Model/ContactRequest.h @@ -0,0 +1,33 @@ +// Copyright 2019-2020 The Hush developers +// GPLv3 + +#ifndef CONTACTREQUEST_H +#define CONTACTREQUEST_H + +#include +using json = nlohmann::json; + +class ContactRequest +{ + private: + QString _senderAddress; + QString _receiverAddress; + QString _memo; + QString _cid; + + public: + ContactRequest(); + ContactRequest(QString sender, QString receiver, QString memo, QString cid); + QString getSenderAddress(); + QString getReceiverAddress(); + QString getMemo(); + QString getCid(); + void setSenderAddress(QString address); + void setReceiverAddress(QString contact); + void setMemo(QString memo); + void setCid(QString cid); + QString toString(); + ~ContactRequest(); +}; + +#endif \ No newline at end of file diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index ae123a9..e8f8015 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -16,6 +16,8 @@ using namespace std; +ContactRequest contactRequest = ContactRequest(); + ChatModel::ChatModel(std::map chatItems) { this->chatItems = chatItems; @@ -455,45 +457,38 @@ QString MainWindow::doSendChatTxValidations(Tx tx) { return ""; } -void::MainWindow::addContact() { - - +void::MainWindow::addContact() +{ Ui_Dialog request; QDialog dialog(this); request.setupUi(&dialog); Settings::saveRestore(&dialog); - - bool sapling = true; - rpc->createNewZaddr(sapling, [=] (json reply) { - QString myAddr = QString::fromStdString(reply.get()[0]); - request.myzaddr->setText(myAddr); - ui->listReceiveAddresses->insertItem(0, myAddr); - ui->listReceiveAddresses->setCurrentIndex(0); - qDebug() << "new generated myAddr" << myAddr; - }); - - 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(); - - // ChatModel->addSendRequest(myAddr, cid, addr); - - - - QString avatar = QString(":/icons/res/") + request.comboBoxAvatar->currentText() + QString(".png"); + bool sapling = true; + rpc->createNewZaddr(sapling, [=] (json reply) { + QString myAddr = QString::fromStdString(reply.get()[0]); + request.myzaddr->setText(myAddr); + ui->listReceiveAddresses->insertItem(0, myAddr); + ui->listReceiveAddresses->setCurrentIndex(0); + qDebug() << "new generated myAddr" << myAddr; + }); - if (addr.isEmpty() || newLabel.isEmpty()) + QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); + request.cid->setText(cid); + + QObject::connect(request.sendRequestButton, &QPushButton::clicked, [&] () { + QString cid = request.cid->text(); + QString addr = request.zaddr->text().trimmed(); + QString getrequest = addr; + QString newLabel = request.labelRequest->text().trimmed(); + QString myAddr = request.myzaddr->text().trimmed(); + contactRequest.setSenderAddress(myAddr); + contactRequest.setReceiverAddress(addr); + contactRequest.setMemo(newLabel); + contactRequest.setCid(cid); + QString avatar = QString(":/icons/res/") + request.comboBoxAvatar->currentText() + QString(".png"); + if (addr.isEmpty() || newLabel.isEmpty()) { - QMessageBox::critical( + QMessageBox::critical( this, QObject::tr("Address or Label Error"), QObject::tr("Address or Label cannot be empty"), @@ -505,7 +500,7 @@ void::MainWindow::addContact() { // Test if address is valid. if (!Settings::isValidAddress(addr)) { - QMessageBox::critical( + QMessageBox::critical( this, QObject::tr("Address Format Error"), QObject::tr("%1 doesn't seem to be a valid hush address.").arg(addr), @@ -517,80 +512,53 @@ void::MainWindow::addContact() { ///////Todo: Test if label allready exist! ////// Success, so show it - AddressBook::getInstance()->addAddressLabel(newLabel, addr, myAddr, cid, avatar); - QMessageBox::information( - this, - QObject::tr("Added Contact"), - QObject::tr("successfully added your new contact").arg(newLabel), - QMessageBox::Ok - ); - return; - - - }); - - - // QObject::connect(request.sendRequestButton, &QPushButton::clicked, this, &MainWindow::ContactRequest); - - dialog.exec(); - rpc->refreshContacts( - ui->listContactWidget - + AddressBook::getInstance()->addAddressLabel(newLabel, addr, myAddr, cid, avatar); + QMessageBox::information( + this, + QObject::tr("Added Contact"), + QObject::tr("successfully added your new contact").arg(newLabel), + QMessageBox::Ok ); + return; + }); + + dialog.exec(); + rpc->refreshContacts(ui->listContactWidget); } // Create a Tx for a contact Request -Tx MainWindow::createTxForSafeContactRequest() { - -Tx tx; - +Tx MainWindow::createTxForSafeContactRequest() { - - { - CAmount totalAmt; - QString amtStr = "0"; - CAmount amt; - - - amt = CAmount::fromDecimalString("0"); - totalAmt = totalAmt + amt; - - - for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) - - if (ui->contactNameMemo->text().trimmed() == c.getName()) { - + Tx tx; + CAmount totalAmt; + QString amtStr = "0"; + CAmount amt; + amt = CAmount::fromDecimalString("0"); + totalAmt = totalAmt + amt; + for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) + { + if (ui->contactNameMemo->text().trimmed() == c.getName()) + { 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(); - - - // ui->memoSizeChat->setLenDisplayLabel();// Todo -> activate lendisplay for chat + qDebug() << contactRequest.toString(); + 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}); - tx.toAddrs.push_back(ToFields{addr, amt, memo}); - - - - qDebug() << "pushback chattx"; - - - tx.fee = Settings::getMinerFee(); - + tx.toAddrs.push_back(ToFields{addr, amt, hmemo}); + tx.toAddrs.push_back(ToFields{addr, amt, memo}); + qDebug() << "pushback chattx"; + tx.fee = Settings::getMinerFee(); } -} - return tx; - - qDebug() << "RequestTx created"; - -} + } + + return tx; + qDebug() << "RequestTx created"; } void MainWindow::ContactRequest() { diff --git a/src/chatmodel.h b/src/chatmodel.h index a96f3bd..e8bc3e7 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -16,6 +16,7 @@ #include "settings.h" #include "camount.h" #include "Model/ChatItem.h" +#include "Model/ContactRequest.h" #include "Chat/Helper/ChatDelegator.h" #include "Chat/Helper/ChatIDGenerator.h" From c1954633de37fe8972859020a94cb7e0dafb04f4 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 21 May 2020 16:00:25 +0200 Subject: [PATCH 122/256] merge PR, send request from Contacttab --- src/Model/ContactRequest.cpp | 28 +++++++- src/Model/ContactRequest.h | 8 ++- src/chatmodel.cpp | 122 +++++++++++++++++++++++++++-------- src/contactrequest.ui | 63 ++++++++++++++---- src/mainwindow.h | 2 + 5 files changed, 182 insertions(+), 41 deletions(-) diff --git a/src/Model/ContactRequest.cpp b/src/Model/ContactRequest.cpp index 68b4ed3..9741ba0 100644 --- a/src/Model/ContactRequest.cpp +++ b/src/Model/ContactRequest.cpp @@ -5,12 +5,14 @@ ContactRequest::ContactRequest() {} -ContactRequest::ContactRequest(QString sender, QString receiver, QString memo, QString cid) +ContactRequest::ContactRequest(QString sender, QString receiver, QString memo, QString cid, QString label, QString avatar) { _senderAddress = sender; _receiverAddress = receiver; _memo = memo; _cid = cid; + _label = label; + _avatar = avatar; } QString ContactRequest::getSenderAddress() @@ -33,6 +35,16 @@ QString ContactRequest::getCid() return _cid; } +QString ContactRequest::getLabel() +{ + return _label; +} + +QString ContactRequest::getAvatar() +{ + return _avatar; +} + void ContactRequest::setSenderAddress(QString address) { _senderAddress = address; @@ -53,9 +65,19 @@ void ContactRequest::setCid(QString cid) _cid = cid; } +void ContactRequest::setLabel(QString label) +{ + _label = label; +} + +void ContactRequest::setAvatar(QString avatar) +{ + _avatar = avatar; +} + QString ContactRequest::toString() { - return "sender: " + _senderAddress + " receiver: " + _receiverAddress + " memo: " + _memo + " cid: " + _cid; + return "sender: " + _senderAddress + " receiver: " + _receiverAddress + " memo: " + _memo + " cid: " + _cid + " label: " + _label + " avatar: " + _avatar; } ContactRequest::~ContactRequest() @@ -64,4 +86,6 @@ ContactRequest::~ContactRequest() _receiverAddress = ""; _memo = ""; _cid = ""; + _label = ""; + _avatar = ""; } \ No newline at end of file diff --git a/src/Model/ContactRequest.h b/src/Model/ContactRequest.h index 5339d5c..5335434 100644 --- a/src/Model/ContactRequest.h +++ b/src/Model/ContactRequest.h @@ -14,18 +14,24 @@ class ContactRequest QString _receiverAddress; QString _memo; QString _cid; + QString _label; + QString _avatar; public: ContactRequest(); - ContactRequest(QString sender, QString receiver, QString memo, QString cid); + ContactRequest(QString sender, QString receiver, QString memo, QString cid, QString label, QString avatar); QString getSenderAddress(); QString getReceiverAddress(); QString getMemo(); QString getCid(); + QString getLabel(); + QString getAvatar(); void setSenderAddress(QString address); void setReceiverAddress(QString contact); void setMemo(QString memo); void setCid(QString cid); + void setLabel(QString label); + void setAvatar(QString avatar); QString toString(); ~ContactRequest(); }; diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index e8f8015..42a2419 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -463,6 +463,8 @@ void::MainWindow::addContact() QDialog dialog(this); request.setupUi(&dialog); Settings::saveRestore(&dialog); + + bool sapling = true; rpc->createNewZaddr(sapling, [=] (json reply) { QString myAddr = QString::fromStdString(reply.get()[0]); @@ -471,21 +473,48 @@ void::MainWindow::addContact() ui->listReceiveAddresses->setCurrentIndex(0); qDebug() << "new generated myAddr" << myAddr; }); + + QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); + request.cid->setText(cid); + + - QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); - request.cid->setText(cid); - QObject::connect(request.sendRequestButton, &QPushButton::clicked, [&] () { - QString cid = request.cid->text(); - QString addr = request.zaddr->text().trimmed(); - QString getrequest = addr; - QString newLabel = request.labelRequest->text().trimmed(); + + QString addr = request.zaddr->text(); QString myAddr = request.myzaddr->text().trimmed(); + QString memo = request.memorequest->toPlainText().trimmed(); + QString avatar = QString(":/icons/res/") + request.comboBoxAvatar->currentText() + QString(".png"); + QString label = request.labelRequest->text().trimmed(); + + contactRequest.setSenderAddress(myAddr); contactRequest.setReceiverAddress(addr); - contactRequest.setMemo(newLabel); + contactRequest.setMemo(memo); contactRequest.setCid(cid); - QString avatar = QString(":/icons/res/") + request.comboBoxAvatar->currentText() + QString(".png"); + contactRequest.setAvatar(avatar); + contactRequest.setLabel(label); + + }); + + QObject::connect(request.sendRequestButton, &QPushButton::clicked, this, &MainWindow::saveandsendContact); + QObject::connect(request.onlyAdd, &QPushButton::clicked, this, &MainWindow::saveContact); + + dialog.exec(); + + rpc->refreshContacts(ui->listContactWidget); + +} + +void MainWindow::saveandsendContact() +{ + this->ContactRequest(); + QString addr = contactRequest.getReceiverAddress(); + QString newLabel = contactRequest.getLabel(); + QString myAddr = contactRequest.getSenderAddress(); + QString cid = contactRequest.getCid(); + QString avatar = contactRequest.getAvatar(); + if (addr.isEmpty() || newLabel.isEmpty()) { QMessageBox::critical( @@ -520,42 +549,83 @@ void::MainWindow::addContact() QMessageBox::Ok ); return; - }); - - dialog.exec(); - rpc->refreshContacts(ui->listContactWidget); + + + } +void MainWindow::saveContact() +{ + QString addr = contactRequest.getReceiverAddress(); + QString newLabel = contactRequest.getLabel(); + QString myAddr = contactRequest.getSenderAddress(); + QString cid = contactRequest.getCid(); + QString avatar = contactRequest.getAvatar(); + + if (addr.isEmpty() || newLabel.isEmpty()) + { + QMessageBox::critical( + this, + QObject::tr("Address or Label Error"), + QObject::tr("Address or Label cannot be empty"), + QMessageBox::Ok + ); + return; + } + + // Test if address is valid. + if (!Settings::isValidAddress(addr)) + { + QMessageBox::critical( + this, + QObject::tr("Address Format Error"), + QObject::tr("%1 doesn't seem to be a valid hush address.").arg(addr), + QMessageBox::Ok + ); + return; + } + + ///////Todo: Test if label allready exist! + + ////// Success, so show it + AddressBook::getInstance()->addAddressLabel(newLabel, addr, myAddr, cid, avatar); + QMessageBox::information( + this, + QObject::tr("Added Contact"), + QObject::tr("successfully added your new contact").arg(newLabel), + QMessageBox::Ok + ); + return; + +} // Create a Tx for a contact Request Tx MainWindow::createTxForSafeContactRequest() { Tx tx; +{ CAmount totalAmt; QString amtStr = "0"; CAmount amt; amt = CAmount::fromDecimalString("0"); totalAmt = totalAmt + amt; - for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) - { - if (ui->contactNameMemo->text().trimmed() == c.getName()) - { - QString cid = c.getCid(); - QString myAddr = c.getMyAddress(); + + QString cid = contactRequest.getCid(); + QString myAddr = contactRequest.getSenderAddress(); QString type = "Cont"; - QString addr = c.getPartnerAddress(); - qDebug() << contactRequest.toString(); + QString addr = contactRequest.getReceiverAddress(); + QString hmemo= createHeaderMemo(type,cid,myAddr); - QString memo = ui->memoTxtChat->toPlainText().trimmed(); + QString memo = contactRequest.getMemo(); // 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"; tx.fee = Settings::getMinerFee(); - } - } + +} return tx; qDebug() << "RequestTx created"; @@ -563,7 +633,7 @@ Tx MainWindow::createTxForSafeContactRequest() void MainWindow::ContactRequest() { - /* if (request.labelRequest->text().trimmed().isEmpty() || request.memorequest->toPlainText().trimmed().isEmpty()) { + if (contactRequest.getReceiverAddress().isEmpty() || contactRequest.getMemo().isEmpty()) { // auto addr = ""; // if (! Settings::isZAddress(AddressBook::addressFromAddressLabel(addr->text()))) { @@ -573,7 +643,7 @@ void MainWindow::ContactRequest() { msg.exec(); return; - }*/ + } Tx tx = createTxForSafeContactRequest(); diff --git a/src/contactrequest.ui b/src/contactrequest.ui index e099111..5f4d6ec 100644 --- a/src/contactrequest.ui +++ b/src/contactrequest.ui @@ -14,21 +14,21 @@ Send a contact request - + <html><head/><body><p align="right">Choose a avatar for your contact :</p></body></html> - + <html><head/><body><p>Please insert a Nickname for your contact :</p></body></html> - + @@ -162,44 +162,54 @@ - + - + <html><head/><body><p>Please insert the Address of your contact :</p></body></html> - + - + + + + Insert a memo for the request + + + + Your HushChat Address - + + + + - + The Conversation ID - + - + @@ -215,7 +225,36 @@ + + + + Qt::Horizontal + + + + 278 + 20 + + + + + + + + 100 + 0 + + + + Only add this contact + + + false + + + + @@ -224,7 +263,7 @@ - Add Contact + Add Contact & send request false diff --git a/src/mainwindow.h b/src/mainwindow.h index 4419fcb..445e3f6 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -56,6 +56,8 @@ public: bool isWebsocketListening(); void createWebsocket(QString wormholecode); void stopWebsocket(); + void saveContact(); + void saveandsendContact(); void balancesReady(); From ee672cfcca1e6a091b62219e3a4603aa80d3c100 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 21 May 2020 17:41:12 +0200 Subject: [PATCH 123/256] contact gui fix --- src/chatmodel.cpp | 11 +- src/contactrequest.ui | 148 +++++++++++++++++++---- src/mainwindow.ui | 227 +----------------------------------- src/requestContactDialog.ui | 144 ++++++++++++----------- 4 files changed, 205 insertions(+), 325 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 42a2419..29ba9c9 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -127,7 +127,6 @@ void MainWindow::renderContactRequest(){ requestContact.requestZaddr->setText(c.second.getRequestZaddr()); - requestContact.requestCID->setText(c.second.getCid()); requestContact.requestMyAddr->setText(c.second.getAddress()); }else{} } @@ -152,9 +151,8 @@ void MainWindow::renderContactRequest(){ requestContact.requestMemo->setModel(contactMemo); requestContact.requestMemo->show(); - - requestContact.requestZaddr->setText(c.second.getRequestZaddr()); requestContact.requestCID->setText(c.second.getCid()); + requestContact.requestZaddr->setText(c.second.getRequestZaddr()); requestContact.requestMyAddr->setText(c.second.getAddress()); }else{} } @@ -468,14 +466,15 @@ void::MainWindow::addContact() bool sapling = true; rpc->createNewZaddr(sapling, [=] (json reply) { QString myAddr = QString::fromStdString(reply.get()[0]); + rpc->refreshAddresses(); request.myzaddr->setText(myAddr); ui->listReceiveAddresses->insertItem(0, myAddr); ui->listReceiveAddresses->setCurrentIndex(0); - qDebug() << "new generated myAddr" << myAddr; + qDebug() << "new generated myAddr add Contact" << myAddr; }); QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); - request.cid->setText(cid); + @@ -483,7 +482,7 @@ void::MainWindow::addContact() QString addr = request.zaddr->text(); QString myAddr = request.myzaddr->text().trimmed(); - QString memo = request.memorequest->toPlainText().trimmed(); + QString memo = request.memorequest->text().trimmed(); QString avatar = QString(":/icons/res/") + request.comboBoxAvatar->currentText() + QString(".png"); QString label = request.labelRequest->text().trimmed(); diff --git a/src/contactrequest.ui b/src/contactrequest.ui index 5f4d6ec..8667057 100644 --- a/src/contactrequest.ui +++ b/src/contactrequest.ui @@ -10,25 +10,31 @@ 427 + + + 780 + 427 + + Send a contact request - + - <html><head/><body><p align="right">Choose a avatar for your contact :</p></body></html> + <html><head/><body><p align="right"><span style=" font-weight:600; text-decoration: underline;">Choose a avatar for your contact :</span></p></body></html> - <html><head/><body><p>Please insert a Nickname for your contact :</p></body></html> + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Please insert a Nickname for your contact :</span></p></body></html> - + @@ -168,49 +174,120 @@ - <html><head/><body><p>Please insert the Address of your contact :</p></body></html> + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Please insert the Address of your contact :</span></p></body></html> - - - - - - - Insert a memo for the request + + + + + 650 + 25 + + + + + 650 + 25 + - Your HushChat Address + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Your HushChat Address :</span></p></body></html> - - + + + + + 650 + 25 + + + + + 650 + 25 + + + + <html><head/><body><p><span style=" color:#d3d7cf;">Generate your HushChat Address - please wait a second - </span></p></body></html> + + - - + + + + Qt::Vertical + + + + 20 + 148 + + + - - + + - The Conversation ID + <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Insert a memo for your request</span></p></body></html> - - - - + + + + + 500 + 71 + + + + + 500 + 71 + + + + Qt::NoContextMenu + + + false + + + Qt::ImhSensitiveData + + + 512 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + false + + + Add some memo to your request + + + true + + + 80 + 25 + + 100 @@ -220,6 +297,9 @@ Cancel + + false + false @@ -240,6 +320,12 @@ + + + 152 + 25 + + 100 @@ -249,13 +335,22 @@ Only add this contact + + false + false - + + + + 188 + 25 + + 100 @@ -265,6 +360,9 @@ Add Contact & send request + + false + false diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 82b4260..1ce2a50 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1569,7 +1569,7 @@ - 50 + 0 20 61 51 @@ -1607,7 +1607,7 @@ - 210 + 70 20 61 51 @@ -1633,229 +1633,6 @@ true - - - - 90 - 10 - 21 - 16 - - - - - - - - - 204 - 0 - 0 - - - - - - - 204 - 0 - 0 - - - - - - - 239 - 41 - 41 - - - - - - - 204 - 0 - 0 - - - - - - - 204 - 0 - 0 - - - - - - - 204 - 0 - 0 - - - - - - - 204 - 0 - 0 - - - - - - - - - 204 - 0 - 0 - - - - - - - 204 - 0 - 0 - - - - - - - 239 - 41 - 41 - - - - - - - 204 - 0 - 0 - - - - - - - 204 - 0 - 0 - - - - - - - 204 - 0 - 0 - - - - - - - 204 - 0 - 0 - - - - - - - - - 190 - 190 - 190 - - - - - - - 190 - 190 - 190 - - - - - - - 239 - 41 - 41 - - - - - - - 190 - 190 - 190 - - - - - - - 204 - 0 - 0 - - - - - - - 204 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - - 12 - - - - Qt::LeftToRight - - - 1 - - - Qt::AutoText - - diff --git a/src/requestContactDialog.ui b/src/requestContactDialog.ui index d2a3b68..7e676e7 100644 --- a/src/requestContactDialog.ui +++ b/src/requestContactDialog.ui @@ -14,10 +14,26 @@ Incoming contact request - - + + - <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Open requests</span></p></body></html> + My Zaddr : + + + + + + + true + + + QAbstractItemView::EditKeyPressed|QAbstractItemView::SelectedClicked + + + false + + + QAbstractItemView::SingleSelection @@ -44,6 +60,16 @@ + + + + + + + Give a Nickname: + + + @@ -72,13 +98,6 @@ - - - - <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Recently closed requests</span></p></body></html> - - - @@ -86,66 +105,10 @@ - - - - true - - - QAbstractItemView::EditKeyPressed|QAbstractItemView::SelectedClicked - - - false - - - QAbstractItemView::SingleSelection - - - - - - - Request from : - - - - - - - - - - Cid : - - - - - - - - - - My Zaddr : - - - - - - - - - - Nickname - - - - - - - - + + - <html><head/><body><p align="right">Choose a avatar for your contact :</p></body></html> + <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Open requests</span></p></body></html> @@ -283,6 +246,19 @@ + + + + <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Recently closed requests</span></p></body></html> + + + + + + + + + @@ -294,6 +270,9 @@ Cancel + + false + false @@ -304,6 +283,33 @@ Add this new Contact + + false + + + + + + + Request from : + + + + + + + <html><head/><body><p align="right">Choose a avatar for your contact :</p></body></html> + + + + + + + + + + Cid : + From 7e0748dd24dd0ae9253b1891e243c79abb9dab10 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 21 May 2020 20:31:54 +0200 Subject: [PATCH 124/256] set maxLen for Chatmessages --- src/Chat/Chat.cpp | 43 ++++++++++++++++++++++++++++++++++++++++++- src/Chat/Chat.h | 2 +- src/chatmodel.cpp | 4 ++-- src/controller.cpp | 6 +++--- src/controller.h | 2 +- src/mainwindow.cpp | 39 ++++++--------------------------------- src/mainwindow.h | 17 +++++++++++------ src/mainwindow.ui | 23 ++++++++++++++++++++++- 8 files changed, 88 insertions(+), 48 deletions(-) diff --git a/src/Chat/Chat.cpp b/src/Chat/Chat.cpp index c7d6637..d6c8445 100644 --- a/src/Chat/Chat.cpp +++ b/src/Chat/Chat.cpp @@ -6,8 +6,49 @@ #include "../DataStore/DataStore.h" Chat::Chat() {} -void Chat::renderChatBox(Ui::MainWindow *ui, QListView *view) +ChatMemoEdit::ChatMemoEdit(QWidget* parent) : QTextEdit(parent) { + QObject::connect(this, &QTextEdit::textChanged, this, &ChatMemoEdit::updateDisplay); +} + +void ChatMemoEdit::updateDisplay() { + QString txt = this->toPlainText(); + if (lenDisplayLabel) + lenDisplayLabel->setText(QString::number(txt.toUtf8().size()) + "/" + QString::number(maxlen)); + + if (txt.toUtf8().size() <= maxlen) { + // Everything is fine + if (sendChatButton) + sendChatButton->setEnabled(true); + + if (lenDisplayLabel) + lenDisplayLabel->setStyleSheet(""); + } + else { + // Overweight + if (sendChatButton) + sendChatButton->setEnabled(false); + + if (lenDisplayLabel) + lenDisplayLabel->setStyleSheet("color: red;"); + } +} + +void ChatMemoEdit::setMaxLen(int len) { + this->maxlen = len; + updateDisplay(); +} + +void ChatMemoEdit::SetSendChatButton(QPushButton* button) { + this->sendChatButton = button; +} + +void ChatMemoEdit::setLenDisplayLabel(QLabel* label) { + this->lenDisplayLabel = label; +} + +void Chat::renderChatBox(Ui::MainWindow *ui, QListView *view, QLabel *label) { + QStandardItemModel *chat = new QStandardItemModel(); // ui->lcdNumber->setStyleSheet("background-color: red"); // ui->lcdNumber->setPalette(Qt::red); diff --git a/src/Chat/Chat.h b/src/Chat/Chat.h index 526aa36..efe5b56 100644 --- a/src/Chat/Chat.h +++ b/src/Chat/Chat.h @@ -28,7 +28,7 @@ class Chat // Chat Controller public: Chat(); //QString zaddr(); - void renderChatBox(Ui::MainWindow* ui, QListView *view); // action + void renderChatBox(Ui::MainWindow* ui, QListView *view, QLabel *label); // action // void renderContactRequest(); /*void triggerRequest(); void showMessages(); diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 29ba9c9..349f8be 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -308,7 +308,7 @@ Tx MainWindow::createTxFromChatPage() { QString memo = ui->memoTxtChat->toPlainText().trimmed(); - // ui->memoSizeChat->setLenDisplayLabel();// Todo -> activate lendisplay for chat + tx.toAddrs.push_back(ToFields{addr, amt, hmemo}); tx.toAddrs.push_back(ToFields{addr, amt, memo}); @@ -326,7 +326,7 @@ Tx MainWindow::createTxFromChatPage() { qDebug() << "ChatTx created"; } -void MainWindow::sendChatButton() { +void MainWindow::sendChat() { ////////////////////////////Todo: Check if a Contact is selected////////// diff --git a/src/controller.cpp b/src/controller.cpp index db895a1..8c3b603 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -1009,7 +1009,7 @@ void Controller::refreshTransactions() { // Update model data, which updates the table view transactionsTableModel->replaceData(txdata); - chat->renderChatBox(ui, ui->listChat); + chat->renderChatBox(ui, ui->listChat,ui->memoSize); // refreshContacts( // ui->listContactWidget @@ -1017,9 +1017,9 @@ void Controller::refreshTransactions() { }); } -void Controller::refreshChat(QListView *listWidget) +void Controller::refreshChat(QListView *listWidget, QLabel *label) { - chat->renderChatBox(ui, listWidget); + chat->renderChatBox(ui, listWidget, label); } diff --git a/src/controller.h b/src/controller.h index cfd3bbb..b34aeb4 100644 --- a/src/controller.h +++ b/src/controller.h @@ -74,7 +74,7 @@ public: void refreshGBPCAP(); void refreshAUDCAP(); - void refreshChat(QListView *listWidget); + void refreshChat(QListView *listWidget, QLabel *label); void refreshContacts(QListView *listWidget); void executeStandardUITransaction(Tx tx); diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index e895947..4f0f08f 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -50,6 +50,8 @@ MainWindow::MainWindow(QWidget *parent) : ui->memoTxtChat->setAutoFillBackground(false); ui->memoTxtChat->setPlaceholderText("Send Message"); ui->memoTxtChat->setTextColor(Qt::white); + + // Status Bar setupStatusBar(); @@ -1053,7 +1055,7 @@ void MainWindow::setupchatTab() { - QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::sendChatButton); + QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::sendChat); QObject::connect(ui->safeContactRequest, &QPushButton::clicked, this, &MainWindow::addContact); QObject::connect(ui->pushContact, &QPushButton::clicked, this , &MainWindow::renderContactRequest); @@ -1078,45 +1080,16 @@ void MainWindow::setupchatTab() { }); - -} - -ChatMemoEdit::ChatMemoEdit(QWidget* parent) : QPlainTextEdit(parent) { - QObject::connect(this, &QPlainTextEdit::textChanged, this, &ChatMemoEdit::updateDisplay); +ui->memoTxtChat->setLenDisplayLabel(ui->memoSize);// Todo -> activate lendisplay for chat } -void ChatMemoEdit::updateDisplay() { - QString txt = this->toPlainText(); - if (lenDisplayLabel) - lenDisplayLabel->setText(QString::number(txt.toUtf8().size()) + "/" + QString::number(maxlen)); - - if (txt.toUtf8().size() <= maxlen) { - // Everything is fine - if (sendChatButton) - sendChatButton->setEnabled(true); - - if (lenDisplayLabel) - lenDisplayLabel->setStyleSheet(""); - } - else { - // Overweight - if (sendChatButton) - sendChatButton->setEnabled(false); - - if (lenDisplayLabel) - lenDisplayLabel->setStyleSheet("color: red;"); - } -} -void ChatMemoEdit::setMaxLen(int len) { - this->maxlen = len; - updateDisplay(); -} void MainWindow::updateChat() { - rpc->refreshChat(ui->listChat); + rpc->refreshChat(ui->listChat,ui->memoSize); rpc->refresh(true); + } diff --git a/src/mainwindow.h b/src/mainwindow.h index 445e3f6..85f4feb 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -58,6 +58,8 @@ public: void stopWebsocket(); void saveContact(); void saveandsendContact(); + void setMaxLen(int len); + void updateDisplay(); void balancesReady(); @@ -108,7 +110,7 @@ private: void setuphushdTab(); void setupchatTab(); void renderContactRequest(); - void setLenDisplayLabel(QLabel* label); + // void setLenDisplayLabel(QLabel* label); void updateContacts(); void updateChat(); @@ -130,9 +132,11 @@ private: void cancelButton(); void sendButton(); - void sendChatButton(); + void sendChat(); void addContact(); void ContactRequest(); + + void addAddressSection(); void maxAmountChecked(int checked); @@ -171,6 +175,7 @@ private: WSServer* wsserver = nullptr; WormholeClient* wormhole = nullptr; + Controller* rpc = nullptr; QCompleter* labelCompleter = nullptr; @@ -182,15 +187,14 @@ private: QMovie* loadingMovie; }; -class ChatMemoEdit : public QPlainTextEdit +class ChatMemoEdit : public QTextEdit { public: ChatMemoEdit(QWidget* parent); void setMaxLen(int len); - - void setSendChatButton(QPushButton* button); - void includeReplyTo(QString replyToAddress); + void setLenDisplayLabel(QLabel* label); + void SetSendChatButton(QPushButton* button); void updateDisplay(); private: @@ -199,4 +203,5 @@ private: QPushButton* sendChatButton = nullptr; }; + #endif // MAINWINDOW_H diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 1ce2a50..399e3e9 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1400,7 +1400,7 @@ <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Contactlist</span></p></body></html> - + 340 @@ -1633,6 +1633,22 @@ true + + + + 1160 + 540 + 91 + 17 + + + + 0 / 512 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + +
@@ -1819,6 +1835,11 @@ QLabel
fillediconlabel.h
+ + ChatMemoEdit + QTextEdit +
mainwindow.h
+
Address1 From 747580151ac4999280391232d466b4d73a384692 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 21 May 2020 21:32:45 +0200 Subject: [PATCH 125/256] change some gui elements --- src/Chat/Chat.cpp | 10 ++--- src/Chat/Helper/ChatDelegator.h | 2 +- src/DataStore/ChatDataStore.cpp | 1 + src/chatmodel.cpp | 4 +- src/controller.cpp | 2 +- src/mainwindow.cpp | 4 +- src/mainwindow.ui | 76 +++++++++++++++++++++++++++------ 7 files changed, 74 insertions(+), 25 deletions(-) diff --git a/src/Chat/Chat.cpp b/src/Chat/Chat.cpp index d6c8445..30a827d 100644 --- a/src/Chat/Chat.cpp +++ b/src/Chat/Chat.cpp @@ -50,9 +50,6 @@ void Chat::renderChatBox(Ui::MainWindow *ui, QListView *view, QLabel *label) { QStandardItemModel *chat = new QStandardItemModel(); - // ui->lcdNumber->setStyleSheet("background-color: red"); - // ui->lcdNumber->setPalette(Qt::red); - // ui->lcdNumber->display("1"); DataStore::getChatDataStore()->dump(); // test to see if the chat items in datastore are correctly dumped to json for (auto &p : AddressBook::getInstance()->getAllAddressLabels()) { @@ -63,7 +60,7 @@ void Chat::renderChatBox(Ui::MainWindow *ui, QListView *view, QLabel *label) if ( (p.getName() == ui->contactNameMemo->text().trimmed()) && (p.getPartnerAddress() == c.second.getAddress()) && - (c.second.isOutgoing() == true)) + (c.second.isOutgoing() == true)) { QStandardItem *Items = new QStandardItem(c.second.toChatLine()); @@ -81,8 +78,9 @@ void Chat::renderChatBox(Ui::MainWindow *ui, QListView *view, QLabel *label) if ( (p.getName() == ui->contactNameMemo->text().trimmed()) && (p.getMyAddress() == c.second.getAddress()) && - (c.second.isOutgoing() == false)) - + (c.second.isOutgoing() == false) && + (c.second.getCid() == p.getCid()) + ) { QStandardItem *Items1 = new QStandardItem(c.second.toChatLine()); Items1->setData(INCOMING, Qt::UserRole + 1); diff --git a/src/Chat/Helper/ChatDelegator.h b/src/Chat/Helper/ChatDelegator.h index 6e3e676..10b45e5 100644 --- a/src/Chat/Helper/ChatDelegator.h +++ b/src/Chat/Helper/ChatDelegator.h @@ -37,7 +37,7 @@ class ListViewDelegate : public QAbstractItemDelegate inline QSize sizeHint(QStyleOptionViewItem const &option, QModelIndex const &index) const; }; -inline ListViewDelegate::ListViewDelegate(QObject *parent): QAbstractItemDelegate(parent), d_radius(5), d_toppadding(5), d_bottompadding(3), d_leftpadding(5), d_rightpadding(5), d_verticalmargin(5), d_horizontalmargin(10), d_pointerwidth(10), d_pointerheight(17), d_widthfraction(.6) +inline ListViewDelegate::ListViewDelegate(QObject *parent): QAbstractItemDelegate(parent), d_radius(5), d_toppadding(5), d_bottompadding(3), d_leftpadding(5), d_rightpadding(7), d_verticalmargin(5), d_horizontalmargin(10), d_pointerwidth(10), d_pointerheight(17), d_widthfraction(.7) { } diff --git a/src/DataStore/ChatDataStore.cpp b/src/DataStore/ChatDataStore.cpp index 1313103..21ddef9 100644 --- a/src/DataStore/ChatDataStore.cpp +++ b/src/DataStore/ChatDataStore.cpp @@ -96,6 +96,7 @@ std::map ChatDataStore::getAllMemos() (c.second.getMemo().startsWith("{") == false) && (c.second.getMemo().isEmpty() == false) + ) { diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 349f8be..28f7dfe 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -125,7 +125,7 @@ void MainWindow::renderContactRequest(){ requestContact.requestMemo->setModel(contactMemo); requestContact.requestMemo->show(); - + requestContact.requestCID->setText(c.second.getCid()); requestContact.requestZaddr->setText(c.second.getRequestZaddr()); requestContact.requestMyAddr->setText(c.second.getAddress()); }else{} @@ -617,7 +617,7 @@ Tx MainWindow::createTxForSafeContactRequest() QString hmemo= createHeaderMemo(type,cid,myAddr); QString memo = contactRequest.getMemo(); - // ui->memoSizeChat->setLenDisplayLabel();// Todo -> activate lendisplay for chat + tx.toAddrs.push_back(ToFields{addr, amt, hmemo}); tx.toAddrs.push_back(ToFields{addr, amt, memo}); diff --git a/src/controller.cpp b/src/controller.cpp index 8c3b603..d3c05fe 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -1009,7 +1009,7 @@ void Controller::refreshTransactions() { // Update model data, which updates the table view transactionsTableModel->replaceData(txdata); - chat->renderChatBox(ui, ui->listChat,ui->memoSize); + chat->renderChatBox(ui, ui->listChat,ui->memoSizeChat); // refreshContacts( // ui->listContactWidget diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 4f0f08f..0e231f4 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1080,14 +1080,14 @@ void MainWindow::setupchatTab() { }); -ui->memoTxtChat->setLenDisplayLabel(ui->memoSize);// Todo -> activate lendisplay for chat +ui->memoTxtChat->setLenDisplayLabel(ui->memoSizeChat); } void MainWindow::updateChat() { - rpc->refreshChat(ui->listChat,ui->memoSize); + rpc->refreshChat(ui->listChat,ui->memoSizeChat); rpc->refresh(true); diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 399e3e9..2d85bd5 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1506,16 +1506,16 @@ - Qt::ScrollBarAlwaysOff + Qt::ScrollBarAsNeeded - Qt::ScrollBarAlwaysOff + Qt::ScrollBarAsNeeded QAbstractScrollArea::AdjustToContents - QAbstractItemView::NoEditTriggers + QAbstractItemView::AllEditTriggers QListView::Adjust @@ -1533,12 +1533,24 @@ - 270 - 580 + 10 + 20 51 51 + + + 51 + 51 + + + + + 51 + 51 + + 100 @@ -1569,12 +1581,24 @@ - 0 + 80 20 - 61 + 51 51 + + + 51 + 51 + + + + + 51 + 51 + + 100 @@ -1607,12 +1631,24 @@ - 70 + 150 20 - 61 + 51 51 + + + 51 + 51 + + + + + 51 + 51 + + Get a new Address @@ -1633,15 +1669,18 @@ true - + - 1160 - 540 + 1140 + 640 91 17 + + QFrame::Sunken + 0 / 512 @@ -1649,6 +1688,17 @@ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + listContactWidget + label_39 + contactNameMemo + contactNameMemo_3 + safeContactRequest + pushContact + givemeZaddr + memoSizeChat + listChat + memoTxtChat + sendChatButton @@ -1838,7 +1888,7 @@ ChatMemoEdit QTextEdit -
mainwindow.h
+
mainwindow.h
From 1a36a7f3c404373dd63c44ff5d6377e9c5bb7918 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 21 May 2020 21:44:21 +0200 Subject: [PATCH 126/256] try catch myZaddr --- src/addressbook.cpp | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/addressbook.cpp b/src/addressbook.cpp index b557dd9..f51e279 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -144,22 +144,35 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) // Connect the dialog's closing to updating the label address completor QObject::connect(&d, &QDialog::finished, [=] (auto) { parent->updateLabels(); }); + Controller* rpc = parent->getRPC(); bool sapling = true; + try + { rpc->createNewZaddr(sapling, [=] (json reply) { QString myAddr = QString::fromStdString(reply.get()[0]); QString message = QString("New Chat Address for your partner: ") + myAddr; QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); + + rpc->refreshAddresses(); parent->ui->listReceiveAddresses->insertItem(0, myAddr); parent->ui->listReceiveAddresses->setCurrentIndex(0); - qDebug() << "new generated myAddr" << myAddr; + qDebug() << " new Addr in Addressbook" << myAddr; ab.cid->setText(cid); ab.addr_chat->setText(myAddr); }); - model.updateUi(); //todo fix updating gui after adding - //rpc->refresh(true); + } + + catch(...) + { + + + qDebug() << QString("Caught something nasty with myZaddr Addressbook"); + } + + // model.updateUi(); //todo fix updating gui after adding // If there is a target then make it the addr for the "Add to" button if (target != nullptr && Settings::isValidAddress(target->text())) From eae77fb8aa8087f0fec0f4d0b8420373302b5d0c Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 21 May 2020 22:19:31 +0200 Subject: [PATCH 127/256] fix windows icons --- application.qrc | 5 +- src/Model/ChatItem.cpp | 4 +- src/chatmodel.cpp | 2 + src/requestContactDialog.ui | 213 ++++++++++++++++++++++++------------ 4 files changed, 148 insertions(+), 76 deletions(-) diff --git a/application.qrc b/application.qrc index 7ab9af5..bf9a3b9 100644 --- a/application.qrc +++ b/application.qrc @@ -38,9 +38,8 @@ res/message-icon.svg res/lock.svg res/lock.png - res/lock_green.svg - res/lock_blue.svg - res/unlocked.svg + res/lock_green.png + res/unlocked.png res/getAddrWhite.png res/send-white.png res/requestWhite.png diff --git a/src/Model/ChatItem.cpp b/src/Model/ChatItem.cpp index 540c7ba..fff8f9a 100644 --- a/src/Model/ChatItem.cpp +++ b/src/Model/ChatItem.cpp @@ -137,10 +137,10 @@ QString ChatItem::toChatLine() myDateTime.setTime_t(_timestamp); if (_confirmations == 0){ - lock = " "; + lock = " "; }else{ - lock = " "; + lock = " "; } diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 28f7dfe..d3abd34 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -126,6 +126,7 @@ void MainWindow::renderContactRequest(){ requestContact.requestMemo->show(); requestContact.requestCID->setText(c.second.getCid()); + requestContact.requestCID->setVisible(false); requestContact.requestZaddr->setText(c.second.getRequestZaddr()); requestContact.requestMyAddr->setText(c.second.getAddress()); }else{} @@ -152,6 +153,7 @@ void MainWindow::renderContactRequest(){ requestContact.requestMemo->show(); requestContact.requestCID->setText(c.second.getCid()); + requestContact.requestCID->setVisible(false); requestContact.requestZaddr->setText(c.second.getRequestZaddr()); requestContact.requestMyAddr->setText(c.second.getAddress()); }else{} diff --git a/src/requestContactDialog.ui b/src/requestContactDialog.ui index 7e676e7..2eb4bc0 100644 --- a/src/requestContactDialog.ui +++ b/src/requestContactDialog.ui @@ -6,38 +6,28 @@ 0 0 - 1025 - 562 + 812 + 495
+ + + 812 + 495 + + Incoming contact request - - + + - My Zaddr : - - - - - - - true - - - QAbstractItemView::EditKeyPressed|QAbstractItemView::SelectedClicked - - - false - - - QAbstractItemView::SingleSelection + <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Open requests</span></p></body></html> - + <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Memo of the request</span></p></body></html> @@ -46,6 +36,12 @@ + + + 256 + 231 + + true @@ -60,18 +56,14 @@ - - - - - - - Give a Nickname: - - - - + + + + 521 + 231 + + Qt::ScrollBarAlwaysOff @@ -98,22 +90,112 @@ - - + + - <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Details of the request</span></p></body></html> + <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Recently closed requests</span></p></body></html> - - + + + + + 256 + 192 + + + + true + + + QAbstractItemView::EditKeyPressed|QAbstractItemView::SelectedClicked + + + false + + + QAbstractItemView::SingleSelection + + + + + - <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Open requests</span></p></body></html> + Request from : - + + + + + 351 + 25 + + + + + 351 + 25 + + + + + + + + My Zaddr : + + + + + + + + 351 + 25 + + + + + 351 + 25 + + + + + + + + Give a Nickname: + + + + + + + + + + <html><head/><body><p align="right">Choose a avatar for your contact :</p></body></html> + + + + + + + 106 + 25 + + + + + 106 + 25 + + Stag @@ -246,21 +328,14 @@ - - - - <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Recently closed requests</span></p></body></html> - - - - - - - - - - + + + + 80 + 25 + + 100 @@ -278,8 +353,14 @@ - + + + + 153 + 25 + + Add this new Contact @@ -288,27 +369,17 @@ - - - - Request from : - - - - - + + - <html><head/><body><p align="right">Choose a avatar for your contact :</p></body></html> + - - - - - + + - Cid : + <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Details of the request</span></p></body></html> From 200a7cfb6d233ada287e1339f086097376d854a2 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 22 May 2020 19:15:56 +0200 Subject: [PATCH 128/256] set conf to 1 to send funds --- lib/Cargo.lock | 6 +++--- lib/Cargo.toml | 2 +- src/controller.cpp | 16 ++++++++++------ 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/lib/Cargo.lock b/lib/Cargo.lock index b48d1b4..07f7981 100644 --- a/lib/Cargo.lock +++ b/lib/Cargo.lock @@ -1177,7 +1177,7 @@ version = "0.1.0" dependencies = [ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", - "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=e368816c6d12267f25fbebec0aaac4c15d62d2a3)", + "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=fb07cae93c706cce929beef98690109e5f2d7592)", ] [[package]] @@ -1640,7 +1640,7 @@ dependencies = [ [[package]] name = "silentdragonlitelib" version = "0.1.0" -source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=e368816c6d12267f25fbebec0aaac4c15d62d2a3#e368816c6d12267f25fbebec0aaac4c15d62d2a3" +source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=fb07cae93c706cce929beef98690109e5f2d7592#fb07cae93c706cce929beef98690109e5f2d7592" dependencies = [ "base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "bellman 0.1.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", @@ -2631,7 +2631,7 @@ dependencies = [ "checksum serde_yaml 0.8.11 (registry+https://github.com/rust-lang/crates.io-index)" = "691b17f19fc1ec9d94ec0b5864859290dff279dbd7b03f017afda54eb36c3c35" "checksum sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "27044adfd2e1f077f649f59deb9490d3941d674002f7d062870a60ebe9bd47a0" "checksum signal-hook-registry 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94f478ede9f64724c5d173d7bb56099ec3e2d9fc2774aac65d34b8b890405f41" -"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=e368816c6d12267f25fbebec0aaac4c15d62d2a3)" = "" +"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=fb07cae93c706cce929beef98690109e5f2d7592)" = "" "checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" "checksum smallvec 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "f7b0758c52e15a8b5e3691eae6cc559f08eee9406e548a4477ba4e67770a82b6" "checksum socket2 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "e8b74de517221a2cb01a53349cf54182acdc31a074727d3079068448c0676d85" diff --git a/lib/Cargo.toml b/lib/Cargo.toml index 9784a1a..1d49baf 100644 --- a/lib/Cargo.toml +++ b/lib/Cargo.toml @@ -11,4 +11,4 @@ crate-type = ["staticlib"] [dependencies] libc = "0.2.58" lazy_static = "1.4.0" -silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "e368816c6d12267f25fbebec0aaac4c15d62d2a3" } +silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "fb07cae93c706cce929beef98690109e5f2d7592" } diff --git a/src/controller.cpp b/src/controller.cpp index d3c05fe..8007205 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -140,7 +140,7 @@ void Controller::fillTxJsonParams(json& allRecepients, Tx tx) DataStore::getSietchDataStore()->clear(); // clears the datastore // Dust amt/memo, construct the JSON - for(uint8_t i = 0; i < 10; i++) + for(uint8_t i = 0; i < 8; i++) { dust.at(i)["amount"] = 0; dust.at(i)["memo"] = ""; @@ -166,9 +166,8 @@ void Controller::fillTxJsonParams(json& allRecepients, Tx tx) dust.at(3), dust.at(4), dust.at(5), - dust.at(6), - dust.at(7), - dust.at(8) + dust.at(6) + }) ; } @@ -305,6 +304,7 @@ void Controller::getInfoThenRefresh(bool force) QString chainName = Settings::getInstance()->isTestnet() ? "test" : "main"; main->statusLabel->setText(chainName + "(" + QString::number(curBlock) + ")"); + // use currency ComboBox as input if (Settings::getInstance()->get_currency_name() == "USD") @@ -322,6 +322,8 @@ void Controller::getInfoThenRefresh(bool force) " $ " + (QLocale(QLocale::English).toString(cap,'f', 2)) ); + + } else if (Settings::getInstance()->get_currency_name() == "EUR") { @@ -614,7 +616,7 @@ void Controller::processUnspent(const json& reply, QMap* balan QString txid = QString::fromStdString(it["created_in_txid"]); CAmount amount = CAmount::fromqint64(it["value"].get()); - bool spendable = it["unconfirmed_spent"].is_null() && it["spent"].is_null(); // TODO: Wait for 4 confirmations + bool spendable = it["unconfirmed_spent"].is_null() && it["spent"].is_null(); // TODO: Wait for 1 confirmations bool pending = !it["unconfirmed_spent"].is_null(); unspentOutputs->push_back( @@ -648,7 +650,9 @@ void Controller::updateUIBalances() CAmount balAvailable = balT + balVerified; if (balZ < 0) balZ = CAmount::fromqint64(0); - + double price = (Settings::getInstance()->getBTCPrice() / 1000); + // ui->PriceMemo->setText(" The price of \n one HushChat \n Message is :\n BTC " + (QLocale(QLocale::English).toString(price, 'f',8)) + //+ " Messages left :" + ((balTotal.toDecimalhushString()) /0.0001) ); // Balances table ui->balSheilded->setText(balZ.toDecimalhushString()); ui->balVerified->setText(balVerified.toDecimalhushString()); From 4a5cb7f144ca7006edc5de59f01cd74f743944fa Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 22 May 2020 19:16:10 +0200 Subject: [PATCH 129/256] set a new version --- src/version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/version.h b/src/version.h index f3c7693..875d8ab 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.2.2" +#define APP_VERSION "1.3-Chat-Alpha" From 29a86b852b62e02a59e0d689180f7852e5f68a01 Mon Sep 17 00:00:00 2001 From: Strider <127.0.0.1@404.com> Date: Fri, 22 May 2020 19:23:29 +0200 Subject: [PATCH 130/256] update// added clear --- src/Model/ContactRequest.cpp | 7 ++++++- src/Model/ContactRequest.h | 1 + src/chatmodel.cpp | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/Model/ContactRequest.cpp b/src/Model/ContactRequest.cpp index 9741ba0..3ad804f 100644 --- a/src/Model/ContactRequest.cpp +++ b/src/Model/ContactRequest.cpp @@ -80,7 +80,7 @@ QString ContactRequest::toString() return "sender: " + _senderAddress + " receiver: " + _receiverAddress + " memo: " + _memo + " cid: " + _cid + " label: " + _label + " avatar: " + _avatar; } -ContactRequest::~ContactRequest() +void ContactRequest::clear() { _senderAddress = ""; _receiverAddress = ""; @@ -88,4 +88,9 @@ ContactRequest::~ContactRequest() _cid = ""; _label = ""; _avatar = ""; +} + +ContactRequest::~ContactRequest() +{ + clear(); } \ No newline at end of file diff --git a/src/Model/ContactRequest.h b/src/Model/ContactRequest.h index 5335434..930ad56 100644 --- a/src/Model/ContactRequest.h +++ b/src/Model/ContactRequest.h @@ -33,6 +33,7 @@ class ContactRequest void setLabel(QString label); void setAvatar(QString avatar); QString toString(); + void clear(); ~ContactRequest(); }; diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index d3abd34..91e46d5 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -515,6 +515,7 @@ void MainWindow::saveandsendContact() QString myAddr = contactRequest.getSenderAddress(); QString cid = contactRequest.getCid(); QString avatar = contactRequest.getAvatar(); + contactRequest.clear(); if (addr.isEmpty() || newLabel.isEmpty()) { From fe8a52b9c7ed2c8bc55050fe52fda77a81825d2d Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 23 May 2020 11:30:27 +0200 Subject: [PATCH 131/256] add crypto_generichash for pw --- src/mainwindow.cpp | 68 ++++++++++++++++++++++++++++++---------------- 1 file changed, 44 insertions(+), 24 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 0e231f4..9af5c43 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -22,6 +22,8 @@ #include "chatmodel.h" #include "requestdialog.h" #include "websockets.h" +#include "sodium.h" +#include "sodium/crypto_generichash_blake2b.h" #include using json = nlohmann::json; @@ -251,17 +253,23 @@ void MainWindow::closeEvent(QCloseEvent* event) { QMainWindow::closeEvent(event); } +void dump_hex_buff(unsigned char buf[], unsigned int len) +{ + int i; + for (i=0; igetModel()->getEncryptionStatus(); + /* auto encStatus = rpc->getModel()->getEncryptionStatus(); if (encStatus.first) { QMessageBox::information(this, tr("Wallet is already encrypted"), tr("Your wallet is already encrypted with a password.\nPlease use 'Remove Wallet Encryption' if you want to remove the wallet encryption."), QMessageBox::Ok ); return; - } + }*/ QDialog d(this); Ui_encryptionDialog ed; @@ -278,12 +286,13 @@ void MainWindow::encryptWallet() { ed.lblPasswordMatch->setText(tr("Passwords don't match")); ed.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false); } + }; QObject::connect(ed.txtConfirmPassword, &QLineEdit::textChanged, fnPasswordEdited); QObject::connect(ed.txtPassword, &QLineEdit::textChanged, fnPasswordEdited); - ed.txtPassword->setText(""); + /* ed.txtPassword->setText(""); ed.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false); auto fnShowError = [=](QString title, const json& res) { @@ -291,32 +300,43 @@ void MainWindow::encryptWallet() { tr("Error was:\n") + QString::fromStdString(res.dump()), QMessageBox::Ok ); - }; + };*/ if (d.exec() == QDialog::Accepted) { - rpc->encryptWallet(ed.txtPassword->text(), [=](json res) { - if (isJsonResultSuccess(res)) { - // Save the wallet - rpc->saveWallet([=] (json reply) { - if (isJsonResultSuccess(reply)) { - QMessageBox::information(this, tr("Wallet Encrypted"), - tr("Your wallet was successfully encrypted! The password will be needed to send funds or export private keys."), - QMessageBox::Ok - ); - } else { - fnShowError(tr("Wallet Encryption Failed"), reply); - } - }); + QString str = ed.txtPassword->text(); // data comes from a db in my case + int length = str.length(); + + char *sequence = NULL; + sequence = new char[length+1]; + strncpy(sequence, str.toLocal8Bit(), length +1); + + #define MESSAGE ((const unsigned char *) sequence) + #define MESSAGE_LEN length + + + + qDebug()<<"Generating cryptographic key from password: " <refresh(true); - } else { - fnShowError(tr("Wallet Encryption Failed"), res); - } - }); - } } +} +//The following snippet demonstrates how to calculate the hash of a very long message using the init/update/final interface: + + + void MainWindow::removeWalletEncryption() { // Check if wallet is already encrypted auto encStatus = rpc->getModel()->getEncryptionStatus(); From 52f7a64417d74264a2d7f9cae9cd49d12041f423 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 23 May 2020 11:38:58 +0200 Subject: [PATCH 132/256] add qdebugs --- src/mainwindow.cpp | 27 ++------------------------- 1 file changed, 2 insertions(+), 25 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 9af5c43..128d4c8 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -261,15 +261,6 @@ void dump_hex_buff(unsigned char buf[], unsigned int len) } void MainWindow::encryptWallet() { - // Check if wallet is already encrypted - /* auto encStatus = rpc->getModel()->getEncryptionStatus(); - if (encStatus.first) { - QMessageBox::information(this, tr("Wallet is already encrypted"), - tr("Your wallet is already encrypted with a password.\nPlease use 'Remove Wallet Encryption' if you want to remove the wallet encryption."), - QMessageBox::Ok - ); - return; - }*/ QDialog d(this); Ui_encryptionDialog ed; @@ -292,18 +283,9 @@ void MainWindow::encryptWallet() { QObject::connect(ed.txtConfirmPassword, &QLineEdit::textChanged, fnPasswordEdited); QObject::connect(ed.txtPassword, &QLineEdit::textChanged, fnPasswordEdited); - /* ed.txtPassword->setText(""); - ed.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false); - - auto fnShowError = [=](QString title, const json& res) { - QMessageBox::critical(this, title, - tr("Error was:\n") + QString::fromStdString(res.dump()), - QMessageBox::Ok - ); - };*/ - if (d.exec() == QDialog::Accepted) { - QString str = ed.txtPassword->text(); // data comes from a db in my case + + QString str = ed.txtPassword->text(); // data comes from user inputs int length = str.length(); char *sequence = NULL; @@ -313,8 +295,6 @@ void MainWindow::encryptWallet() { #define MESSAGE ((const unsigned char *) sequence) #define MESSAGE_LEN length - - qDebug()<<"Generating cryptographic key from password: " < Date: Sat, 23 May 2020 12:21:49 +0200 Subject: [PATCH 133/256] debug password --- src/mainwindow.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 128d4c8..42b511c 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -295,10 +295,10 @@ void MainWindow::encryptWallet() { #define MESSAGE ((const unsigned char *) sequence) #define MESSAGE_LEN length - qDebug()<<"Generating cryptographic key from password: " < Date: Sat, 23 May 2020 12:44:13 +0200 Subject: [PATCH 134/256] encrypt addresslabels --- src/mainwindow.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 42b511c..9138c7c 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -307,6 +307,11 @@ void MainWindow::encryptWallet() { qDebug()<<"secret key generated:\n"; dump_hex_buff(hash,crypto_secretstream_xchacha20poly1305_KEYBYTES); + + QString source_file = "/home/denio/.local/share/Hush/SilentDragonLite/addresslabel.dat"; + QString target_file = "/home/denio/.local/share/Hush/SilentDragonLite/addresslabel-encrypt.dat"; + + FileEncryption::encrypt(target_file, source_file, hash); d.exec(); From a72ba09ee3680741347fb9cd81efc7cdbbf9695a Mon Sep 17 00:00:00 2001 From: Strider <127.0.0.1@404.found> Date: Sat, 23 May 2020 15:23:07 +0200 Subject: [PATCH 135/256] update// added some stuff --- .gdb_history | 6 ++++ peda-session-SilentDragonLite.txt | 2 +- silentdragon-lite.pro | 3 +- src/Crypto/FileEncryption.cpp | 48 +++++++++++++++++++------------ src/Crypto/FileEncryption.h | 6 ++++ src/Crypto/passwd.cpp | 39 +++++++++++++++++++++++++ src/Crypto/passwd.h | 14 +++++++++ src/FileSystem/FileSystem.cpp | 8 ++++++ 8 files changed, 106 insertions(+), 20 deletions(-) create mode 100644 src/Crypto/passwd.cpp create mode 100644 src/Crypto/passwd.h diff --git a/.gdb_history b/.gdb_history index 4e303b8..06f6849 100644 --- a/.gdb_history +++ b/.gdb_history @@ -48,3 +48,9 @@ b FileSystem::writeContacts r n q +r +b FileEncryption::encrypt +r +s +n +q diff --git a/peda-session-SilentDragonLite.txt b/peda-session-SilentDragonLite.txt index f57fa7c..6f620bf 100644 --- a/peda-session-SilentDragonLite.txt +++ b/peda-session-SilentDragonLite.txt @@ -1,2 +1,2 @@ -break FileSystem::writeContacts +break FileEncryption::encrypt diff --git a/silentdragon-lite.pro b/silentdragon-lite.pro index 86f38b0..7d3a281 100644 --- a/silentdragon-lite.pro +++ b/silentdragon-lite.pro @@ -83,7 +83,8 @@ SOURCES += \ src/Chat/Helper/ChatIDGenerator.cpp \ src/Chat/Chat.cpp \ src/FileSystem/FileSystem.cpp \ - src/Crypto/FileEncryption.cpp + src/Crypto/FileEncryption.cpp \ + src/Crypto/passwd.cpp HEADERS += \ src/firsttimewizard.h \ diff --git a/src/Crypto/FileEncryption.cpp b/src/Crypto/FileEncryption.cpp index 0100585..fae9bbc 100644 --- a/src/Crypto/FileEncryption.cpp +++ b/src/Crypto/FileEncryption.cpp @@ -7,42 +7,48 @@ void FileEncryption::showConfig() int FileEncryption::encrypt(QString target_file, QString source_file, const unsigned char key[crypto_secretstream_xchacha20poly1305_KEYBYTES]) { - unsigned char buf_in[FILEENCRYPTION_CHUNK_SIZE]; - unsigned char buf_out[FILEENCRYPTION_CHUNK_SIZE + crypto_secretstream_xchacha20poly1305_ABYTES]; + unsigned char plain_data[FILEENCRYPTION_CHUNK_SIZE]; + unsigned char cipher_data[FILEENCRYPTION_CHUNK_SIZE + crypto_secretstream_xchacha20poly1305_ABYTES]; unsigned char header[crypto_secretstream_xchacha20poly1305_HEADERBYTES]; - crypto_secretstream_xchacha20poly1305_state st; - FILE *fp_t, *fp_s; - unsigned long long out_len; + crypto_secretstream_xchacha20poly1305_state state; + FILE *target, *source; + unsigned long long cipher_len; size_t rlen; int eof; unsigned char tag; - fp_s = fopen(source_file.toStdString().c_str(), "rb"); - fp_t = fopen(target_file.toStdString().c_str(), "wb"); - crypto_secretstream_xchacha20poly1305_init_push(&st, header, key); - fwrite(header, 1, sizeof header, fp_t); + if(!FileEncryption::exists(source_file.toStdString())) + { + qDebug() << "File not exits" << source_file; + return -1; + } + + source = fopen(source_file.toStdString().c_str(), "rb"); + target = fopen(target_file.toStdString().c_str(), "wb"); + crypto_secretstream_xchacha20poly1305_init_push(&state, header, key); + fwrite(header, 1, sizeof header, target); do { - rlen = fread(buf_in, 1, sizeof buf_in, fp_s); - eof = feof(fp_s); + rlen = fread(plain_data, 1, sizeof plain_data, source); + eof = feof(source); tag = eof ? crypto_secretstream_xchacha20poly1305_TAG_FINAL : 0; crypto_secretstream_xchacha20poly1305_push( - &st, - buf_out, - &out_len, - buf_in, + &state, + cipher_data, + &cipher_len, + plain_data, rlen, NULL, 0, tag ); - fwrite(buf_out, 1, (size_t) out_len, fp_t); + fwrite(cipher_data, 1, (size_t) cipher_len, target); } while (! eof); - fclose(fp_t); - fclose(fp_s); + fclose(target); + fclose(source); return 0; } @@ -59,6 +65,12 @@ int FileEncryption::decrypt(QString target_file, QString source_file, const unsi int ret = -1; unsigned char tag; + if(!FileEncryption::exists(source_file.toStdString())) + { + qDebug() << "File not exits" << source_file; + return -1; + } + fp_s = fopen(source_file.toStdString().c_str(), "rb"); fp_t = fopen(target_file.toStdString().c_str(), "wb"); fread(header, 1, sizeof header, fp_s); diff --git a/src/Crypto/FileEncryption.h b/src/Crypto/FileEncryption.h index 6db8977..c7a09d5 100644 --- a/src/Crypto/FileEncryption.h +++ b/src/Crypto/FileEncryption.h @@ -3,11 +3,17 @@ #include #include #include +#include #define FILEENCRYPTION_CHUNK_SIZE 4096 class FileEncryption { + private: + inline static bool exists (const std::string& name) { + std::ifstream f(name.c_str()); + return f.good(); + } public: static void showConfig(); static int encrypt(QString target_file, QString source_file, const unsigned char key[crypto_secretstream_xchacha20poly1305_KEYBYTES]); diff --git a/src/Crypto/passwd.cpp b/src/Crypto/passwd.cpp new file mode 100644 index 0000000..83d5b27 --- /dev/null +++ b/src/Crypto/passwd.cpp @@ -0,0 +1,39 @@ +#include "passwd.h" + +void PASSWD::show_hex_buff(unsigned char buf[]) +{ + int i; + for (uint8_t i=0; i < crypto_secretstream_xchacha20poly1305_KEYBYTES; i++) + printf("%02X ", buf[i]); + printf("\n"); +} + +const unsigned char* PASSWD::hash(QString password) +{ + /*std::string data = password.toStdString(); + + unsigned char hash[crypto_generichash_BYTES]; + + crypto_generichash(hash, sizeof hash, + (const unsigned char*)data.c_str(), data.size(), + NULL, 0); + + //qDebug() << PASSWD::convertToHexString(hash); + return (const unsigned char*)hash;*/ + + int length = password.length(); + + char *sequence = NULL; + sequence = new char[length+1]; + strncpy(sequence, password.toLocal8Bit(), length +1); + + #define MESSAGE ((const unsigned char *) sequence) + #define MESSAGE_LEN length + + qDebug()<<"Generating cryptographic key from password: " < +#include +#include + +class PASSWD +{ + public: + static void show_hex_buff(unsigned char buf[]); + static const unsigned char* hash(QString); +}; + +#endif \ No newline at end of file diff --git a/src/FileSystem/FileSystem.cpp b/src/FileSystem/FileSystem.cpp index d560d98..74a0440 100644 --- a/src/FileSystem/FileSystem.cpp +++ b/src/FileSystem/FileSystem.cpp @@ -2,6 +2,7 @@ #include #include +#include "../Crypto/passwd.h" FileSystem::FileSystem() { @@ -85,6 +86,13 @@ void FileSystem::writeContactsOldFormat(QString file, QList contact QList FileSystem::readContactsOldFormat(QString file) { + const unsigned char* data=PASSWD::hash(QString("Hello world")); + PASSWD::show_hex_buff((unsigned char*) data); + QString source_file = "/tmp/addresslabels.dat"; + QString target_file = "/tmp/addresslabels.dat.enc"; + FileEncryption::encrypt(target_file, source_file, data); + FileEncryption::decrypt("/tmp/addresslabels.dat.dec", target_file, data); + QList contacts; QFile _file(file); if (_file.exists()) From 6c3065684798252946de771b340e9447ab55c293 Mon Sep 17 00:00:00 2001 From: Strider <127.0.0.1@404.found> Date: Sat, 23 May 2020 19:36:04 +0200 Subject: [PATCH 136/256] update// addedh better stuff --- src/Crypto/passwd.cpp | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/Crypto/passwd.cpp b/src/Crypto/passwd.cpp index 83d5b27..160e631 100644 --- a/src/Crypto/passwd.cpp +++ b/src/Crypto/passwd.cpp @@ -31,8 +31,21 @@ const unsigned char* PASSWD::hash(QString password) #define MESSAGE_LEN length qDebug()<<"Generating cryptographic key from password: " < Date: Sat, 23 May 2020 19:50:36 +0200 Subject: [PATCH 137/256] update// added really goody stuff :D --- src/FileSystem/FileSystem.cpp | 7 ------ src/mainwindow.cpp | 46 ++++++++++++----------------------- 2 files changed, 15 insertions(+), 38 deletions(-) diff --git a/src/FileSystem/FileSystem.cpp b/src/FileSystem/FileSystem.cpp index 74a0440..2a60de1 100644 --- a/src/FileSystem/FileSystem.cpp +++ b/src/FileSystem/FileSystem.cpp @@ -86,13 +86,6 @@ void FileSystem::writeContactsOldFormat(QString file, QList contact QList FileSystem::readContactsOldFormat(QString file) { - const unsigned char* data=PASSWD::hash(QString("Hello world")); - PASSWD::show_hex_buff((unsigned char*) data); - QString source_file = "/tmp/addresslabels.dat"; - QString target_file = "/tmp/addresslabels.dat.enc"; - FileEncryption::encrypt(target_file, source_file, data); - FileEncryption::decrypt("/tmp/addresslabels.dat.dec", target_file, data); - QList contacts; QFile _file(file); if (_file.exists()) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 9138c7c..a2566ad 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -25,6 +25,9 @@ #include "sodium.h" #include "sodium/crypto_generichash_blake2b.h" #include +#include "FileSystem/FileSystem.h" +#include "Crypto/passwd.h" +#include "Crypto/FileEncryption.h" using json = nlohmann::json; @@ -283,39 +286,20 @@ void MainWindow::encryptWallet() { QObject::connect(ed.txtConfirmPassword, &QLineEdit::textChanged, fnPasswordEdited); QObject::connect(ed.txtPassword, &QLineEdit::textChanged, fnPasswordEdited); - if (d.exec() == QDialog::Accepted) { - - QString str = ed.txtPassword->text(); // data comes from user inputs - int length = str.length(); - - char *sequence = NULL; - sequence = new char[length+1]; - strncpy(sequence, str.toLocal8Bit(), length +1); - - #define MESSAGE ((const unsigned char *) sequence) - #define MESSAGE_LEN length - - qDebug()<<"Generating cryptographic key from password: " <text()); + PASSWD::show_hex_buff((unsigned char*) key); + auto dir = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)); + QString source_file = dir.filePath("addresslabels.dat"); + QString target_enc_file = dir.filePath("addresslabels.dat.enc"); + QString target_dec_file = dir.filePath("addresslabels.dat.dec"); + FileEncryption::encrypt(target_enc_file, source_file, key); + FileEncryption::decrypt(target_dec_file, target_enc_file, key); -d.exec(); + d.exec(); -} + } } From 735a673da3adff867a46896044cc6e6dd0b25676 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 23 May 2020 20:43:42 +0200 Subject: [PATCH 138/256] gui element to decrypt --- src/mainwindow.cpp | 45 ++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 40 insertions(+), 5 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index a2566ad..3fae23e 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -293,18 +293,51 @@ void MainWindow::encryptWallet() { auto dir = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)); QString source_file = dir.filePath("addresslabels.dat"); QString target_enc_file = dir.filePath("addresslabels.dat.enc"); - QString target_dec_file = dir.filePath("addresslabels.dat.dec"); + //QString target_dec_file = dir.filePath("addresslabels.dat.dec"); FileEncryption::encrypt(target_enc_file, source_file, key); - FileEncryption::decrypt(target_dec_file, target_enc_file, key); + // FileEncryption::decrypt(target_dec_file, target_enc_file, key); - d.exec(); + d.exec(); } } void MainWindow::removeWalletEncryption() { - // Check if wallet is already encrypted + QDialog d(this); + Ui_encryptionDialog ed; + ed.setupUi(&d); + + // Handle edits on the password box + auto fnPasswordEdited = [=](const QString&) { + // Enable the OK button if the passwords match. + if (!ed.txtPassword->text().isEmpty() && + ed.txtPassword->text() == ed.txtConfirmPassword->text()) { + ed.lblPasswordMatch->setText(""); + ed.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(true); + } else { + ed.lblPasswordMatch->setText(tr("Passwords don't match")); + ed.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false); + } + + }; + + QObject::connect(ed.txtConfirmPassword, &QLineEdit::textChanged, fnPasswordEdited); + QObject::connect(ed.txtPassword, &QLineEdit::textChanged, fnPasswordEdited); + + if (d.exec() == QDialog::Accepted) + { + const unsigned char* key=PASSWD::hash(ed.txtPassword->text()); + PASSWD::show_hex_buff((unsigned char*) key); + auto dir = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)); + QString target_enc_file = dir.filePath("addresslabels.dat.enc"); + QString target_dec_file = dir.filePath("addresslabels.dat"); + FileEncryption::decrypt(target_dec_file, target_enc_file, key); + + d.exec(); + + } + /*// Check if wallet is already encrypted auto encStatus = rpc->getModel()->getEncryptionStatus(); if (!encStatus.first) { QMessageBox::information(this, tr("Wallet is not encrypted"), @@ -317,6 +350,8 @@ void MainWindow::removeWalletEncryption() { bool ok; QString password = QInputDialog::getText(this, tr("Wallet Password"), tr("Please enter your wallet password"), QLineEdit::Password, "", &ok); + + qDebug() << password; // If cancel was pressed, just return if (!ok) { @@ -356,7 +391,7 @@ void MainWindow::removeWalletEncryption() { QMessageBox::Ok ); } - }); + }); */ } void MainWindow::setupStatusBar() { From 5bb1634311768889640a34c9a5e3d8262dcd1b74 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 23 May 2020 21:27:46 +0200 Subject: [PATCH 139/256] check for fileencryption before sdl start --- src/mainwindow.cpp | 14 +++++++++++++- src/mainwindow.h | 1 + 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 3fae23e..08b0bf5 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -56,7 +56,12 @@ MainWindow::MainWindow(QWidget *parent) : ui->memoTxtChat->setPlaceholderText("Send Message"); ui->memoTxtChat->setTextColor(Qt::white); - + + // Check for encryption + if(fileExists(QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)).filePath("addresslabels.dat.enc"))) + { + this->removeWalletEncryption(); + } // Status Bar setupStatusBar(); @@ -185,6 +190,12 @@ MainWindow::MainWindow(QWidget *parent) : createWebsocket(wormholecode); } } + +bool MainWindow::fileExists(QString path) +{ + QFileInfo check_file(path); + return (check_file.exists() && check_file.isFile()); +} void MainWindow::createWebsocket(QString wormholecode) { qDebug() << "Listening for app connections on port 8777"; @@ -332,6 +343,7 @@ void MainWindow::removeWalletEncryption() { auto dir = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)); QString target_enc_file = dir.filePath("addresslabels.dat.enc"); QString target_dec_file = dir.filePath("addresslabels.dat"); + FileEncryption::decrypt(target_dec_file, target_enc_file, key); d.exec(); diff --git a/src/mainwindow.h b/src/mainwindow.h index 85f4feb..9a6f02f 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -100,6 +100,7 @@ private slots: private: + bool fileExists(QString path); void closeEvent(QCloseEvent* event); From e4dce6b06bc0b892422505777834c16b2fd5323e Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 23 May 2020 22:50:50 +0200 Subject: [PATCH 140/256] encrypt wallet.dat also and check for it - work in progress --- src/mainwindow.cpp | 117 ++++++++++++++++++++++----------------------- src/mainwindow.h | 1 + 2 files changed, 57 insertions(+), 61 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 08b0bf5..88b33dd 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -60,7 +60,7 @@ MainWindow::MainWindow(QWidget *parent) : // Check for encryption if(fileExists(QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)).filePath("addresslabels.dat.enc"))) { - this->removeWalletEncryption(); + this->removeWalletEncryptionStartUp(); } // Status Bar @@ -302,16 +302,16 @@ void MainWindow::encryptWallet() { const unsigned char* key=PASSWD::hash(ed.txtPassword->text()); PASSWD::show_hex_buff((unsigned char*) key); auto dir = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)); + auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); QString source_file = dir.filePath("addresslabels.dat"); QString target_enc_file = dir.filePath("addresslabels.dat.enc"); - //QString target_dec_file = dir.filePath("addresslabels.dat.dec"); + QString sourceWallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat"); + QString target_encWallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat.enc"); + FileEncryption::encrypt(target_enc_file, source_file, key); - // FileEncryption::decrypt(target_dec_file, target_enc_file, key); - - d.exec(); - + FileEncryption::encrypt(target_encWallet_file, sourceWallet_file, key); } - + d.exec(); } void MainWindow::removeWalletEncryption() { @@ -341,69 +341,64 @@ void MainWindow::removeWalletEncryption() { const unsigned char* key=PASSWD::hash(ed.txtPassword->text()); PASSWD::show_hex_buff((unsigned char*) key); auto dir = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)); - QString target_enc_file = dir.filePath("addresslabels.dat.enc"); - QString target_dec_file = dir.filePath("addresslabels.dat"); + auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); + QString target_encaddr_file = dir.filePath("addresslabels.dat.enc"); + QString target_decaddr_file = dir.filePath("addresslabels.dat"); + QString target_encwallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat.enc"); + QString target_decwallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat"); - FileEncryption::decrypt(target_dec_file, target_enc_file, key); + + FileEncryption::decrypt(target_decwallet_file, target_encwallet_file, key); + FileEncryption::decrypt(target_decaddr_file, target_encaddr_file, key); - d.exec(); + } - /*// Check if wallet is already encrypted - auto encStatus = rpc->getModel()->getEncryptionStatus(); - if (!encStatus.first) { - QMessageBox::information(this, tr("Wallet is not encrypted"), - tr("Your wallet is not encrypted with a password."), - QMessageBox::Ok - ); - return; - } + d.exec(); +} - bool ok; - QString password = QInputDialog::getText(this, tr("Wallet Password"), - tr("Please enter your wallet password"), QLineEdit::Password, "", &ok); - - qDebug() << password; +void MainWindow::removeWalletEncryptionStartUp() { + QDialog d(this); + Ui_encryptionDialog ed; + ed.setupUi(&d); - // If cancel was pressed, just return - if (!ok) { - return; - } + // Handle edits on the password box + auto fnPasswordEdited = [=](const QString&) { + // Enable the OK button if the passwords match. + if (!ed.txtPassword->text().isEmpty() && + ed.txtPassword->text() == ed.txtConfirmPassword->text()) { + ed.lblPasswordMatch->setText(""); + ed.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(true); + } else { + ed.lblPasswordMatch->setText(tr("Passwords don't match")); + ed.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false); + } - if (password.isEmpty()) { - QMessageBox::critical(this, tr("Wallet Decryption Failed"), - tr("Please enter a password to decrypt your wallet!"), - QMessageBox::Ok - ); - return; - } + }; - rpc->removeWalletEncryption(password, [=] (json res) { - if (isJsonResultSuccess(res)) { - // Save the wallet - rpc->saveWallet([=] (json reply) { - if(isJsonResultSuccess(reply)) { - QMessageBox::information(this, tr("Wallet Encryption Removed"), - tr("Your wallet was successfully decrypted! You will no longer need a password to send funds or export private keys."), - QMessageBox::Ok - ); - } else { - QMessageBox::critical(this, tr("Wallet Decryption Failed"), - QString::fromStdString(reply["error"].get()), - QMessageBox::Ok - ); - } - }); + QObject::connect(ed.txtConfirmPassword, &QLineEdit::textChanged, fnPasswordEdited); + QObject::connect(ed.txtPassword, &QLineEdit::textChanged, fnPasswordEdited); - // And then refresh the UI - rpc->refresh(true); - } else { - QMessageBox::critical(this, tr("Wallet Decryption Failed"), - QString::fromStdString(res["error"].get()), - QMessageBox::Ok - ); - } - }); */ + if (d.exec() == QDialog::Accepted) + { + const unsigned char* key=PASSWD::hash(ed.txtPassword->text()); + PASSWD::show_hex_buff((unsigned char*) key); + auto dir = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)); + auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); + QString target_encaddr_file = dir.filePath("addresslabels.dat.enc"); + QString target_decaddr_file = dir.filePath("addresslabels.dat"); + QString target_encwallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat.enc"); + QString target_decwallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat"); + + + FileEncryption::decrypt(target_decwallet_file, target_encwallet_file, key); + QThread::sleep(1); + FileEncryption::decrypt(target_decaddr_file, target_encaddr_file, key); + + + + } + } void MainWindow::setupStatusBar() { diff --git a/src/mainwindow.h b/src/mainwindow.h index 9a6f02f..7384fc2 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -130,6 +130,7 @@ private: void encryptWallet(); void removeWalletEncryption(); + void removeWalletEncryptionStartUp(); void cancelButton(); void sendButton(); From b03b926052cae5f9976e85b061b6dfce19b4b70f Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 23 May 2020 23:13:58 +0200 Subject: [PATCH 141/256] new window for startup encryption process --- src/startupencryption.ui | 72 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 src/startupencryption.ui diff --git a/src/startupencryption.ui b/src/startupencryption.ui new file mode 100644 index 0000000..fb923db --- /dev/null +++ b/src/startupencryption.ui @@ -0,0 +1,72 @@ + + + + + Dialog + + + + 0 + 0 + 400 + 300 + + + + Dialog + + + + + 30 + 240 + 341 + 32 + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + + buttonBox + accepted() + Dialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + Dialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + + From 4ea9a5e493c3c598da152bf2a84cbd793675daf8 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 23 May 2020 23:14:17 +0200 Subject: [PATCH 142/256] new window for startup encryption process --- silentdragon-lite.pro | 1 + src/encryption.ui | 114 ++++++++++++++-------------- src/mainwindow.cpp | 3 +- src/startupencryption.ui | 158 +++++++++++++++++++++++++++++++++------ 4 files changed, 195 insertions(+), 81 deletions(-) diff --git a/silentdragon-lite.pro b/silentdragon-lite.pro index 7d3a281..4fe9ad0 100644 --- a/silentdragon-lite.pro +++ b/silentdragon-lite.pro @@ -133,6 +133,7 @@ FORMS += \ src/confirm.ui \ src/privkey.ui \ src/memodialog.ui \ + src/startupencryption.ui \ src/viewalladdresses.ui \ src/connection.ui \ src/addressbook.ui \ diff --git a/src/encryption.ui b/src/encryption.ui index b4ab606..27c25a0 100644 --- a/src/encryption.ui +++ b/src/encryption.ui @@ -13,32 +13,50 @@ Encrypt Your Wallet - - - + + + - Qt::Horizontal + Qt::Vertical - + + + 20 + 40 + + + - - + + - Encryption Password: + <html><head/><body><p><span style=" font-size:14pt; color:#ef2929;">WARNING:</span> If you forget your password, the only way to recover the wallet is from the seed phrase. If you dont have Backup your seed phrase, please do it now!</p></body></html> + + + Qt::AlignCenter + + + true - - - - Confirm Password: + + + + Qt::Vertical - + + + 20 + 40 + + + - - - - QLineEdit::Password + + + + Qt::Horizontal @@ -55,6 +73,13 @@ + + + + Encryption Password: + + + @@ -62,27 +87,28 @@ - - - - Qt::Horizontal + + + + Confirm Password: - - - - WARNING: If you forget your password, the only way to recover the wallet is from the seed phrase. - - - Qt::AlignCenter + + + + QLineEdit::Password - - true + + + + + + Qt::Horizontal - + Qt::Horizontal @@ -95,32 +121,6 @@ - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 88b33dd..8985b3f 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -21,6 +21,7 @@ #include "ui_requestContactDialog.h" #include "chatmodel.h" #include "requestdialog.h" +#include "ui_startupencryption.h" #include "websockets.h" #include "sodium.h" #include "sodium/crypto_generichash_blake2b.h" @@ -359,7 +360,7 @@ void MainWindow::removeWalletEncryption() { void MainWindow::removeWalletEncryptionStartUp() { QDialog d(this); - Ui_encryptionDialog ed; + Ui_startup ed; ed.setupUi(&d); // Handle edits on the password box diff --git a/src/startupencryption.ui b/src/startupencryption.ui index fb923db..6abdad1 100644 --- a/src/startupencryption.ui +++ b/src/startupencryption.ui @@ -1,10 +1,8 @@ - - - - - Dialog - - + + + startup + + 0 0 @@ -12,40 +10,155 @@ 300 - - Dialog + + SDL Startup Decryption - - + + - 30 - 240 + 50 + 260 341 32 - + Qt::Horizontal - + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + 10 + 229 + 127 + 25 + + + + Confirm Password: + + + + + + 10 + 166 + 382 + 3 + + + + Qt::Horizontal + + + + + + 162 + 229 + 230 + 25 + + + + QLineEdit::Password + + + + + + 10 + 58 + 382 + 56 + + + + <html><head/><body><p>If you have forgotten your password, restore your wallet with your seed!</p></body></html> + + + Qt::AlignCenter + + + true + + + + + + 10 + 260 + 382 + 3 + + + + Qt::Horizontal + + + + + + 10 + 198 + 146 + 25 + + + + Encryption Password: + + + + + + 10 + 175 + 382 + 17 + + + + color: red; + + + Passwords don't match + + + Qt::AlignCenter + + + + + + 162 + 198 + 230 + 25 + + + + QLineEdit::Password + + - buttonBox accepted() - Dialog + startup accept() - + 248 254 - + 157 274 @@ -54,14 +167,14 @@ buttonBox rejected() - Dialog + startup reject() - + 316 260 - + 286 274 @@ -69,4 +182,3 @@ - From e2d6cb01c6da3127aaf2964bf3d03bd01716c265 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 24 May 2020 08:49:22 +0200 Subject: [PATCH 143/256] add startup check for encryption, encrypt if sdl close --- src/Crypto/passwd.cpp | 58 ++++++------ src/Crypto/passwd.h | 2 +- src/encryption.ui | 27 +++--- src/mainwindow.cpp | 205 +++++++++++++++++++++++++++++++++++------- 4 files changed, 226 insertions(+), 66 deletions(-) diff --git a/src/Crypto/passwd.cpp b/src/Crypto/passwd.cpp index 160e631..98996b0 100644 --- a/src/Crypto/passwd.cpp +++ b/src/Crypto/passwd.cpp @@ -8,19 +8,9 @@ void PASSWD::show_hex_buff(unsigned char buf[]) printf("\n"); } -const unsigned char* PASSWD::hash(QString password) +const unsigned char* PASSWD::key(QString password) { - /*std::string data = password.toStdString(); - - unsigned char hash[crypto_generichash_BYTES]; - - crypto_generichash(hash, sizeof hash, - (const unsigned char*)data.c_str(), data.size(), - NULL, 0); - - //qDebug() << PASSWD::convertToHexString(hash); - return (const unsigned char*)hash;*/ - + int length = password.length(); char *sequence = NULL; @@ -29,24 +19,42 @@ const unsigned char* PASSWD::hash(QString password) #define MESSAGE ((const unsigned char *) sequence) #define MESSAGE_LEN length + + unsigned char hash[crypto_secretstream_xchacha20poly1305_KEYBYTES]; + + crypto_hash_sha256(hash, MESSAGE, MESSAGE_LEN); + + qDebug()<<"Generating SaltHash from password: " < Encrypt Your Wallet - + @@ -27,7 +27,7 @@ - + <html><head/><body><p><span style=" font-size:14pt; color:#ef2929;">WARNING:</span> If you forget your password, the only way to recover the wallet is from the seed phrase. If you dont have Backup your seed phrase, please do it now!</p></body></html> @@ -53,14 +53,21 @@ - + Qt::Horizontal - + + + + <html><head/><body><p>10 letters minimum</p></body></html> + + + + color: red; @@ -73,42 +80,42 @@ - + Encryption Password: - + QLineEdit::Password - + Confirm Password: - + QLineEdit::Password - + Qt::Horizontal - + Qt::Horizontal diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 8985b3f..e7d175b 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -36,6 +36,7 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { + // Include css QString theme_name; try @@ -53,17 +54,16 @@ MainWindow::MainWindow(QWidget *parent) : ui->setupUi(this); logger = new Logger(this, QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)).filePath("silentdragonlite-wallet.log")); - ui->memoTxtChat->setAutoFillBackground(false); - ui->memoTxtChat->setPlaceholderText("Send Message"); - ui->memoTxtChat->setTextColor(Qt::white); - - - // Check for encryption - if(fileExists(QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)).filePath("addresslabels.dat.enc"))) + // Check for encryption + if(fileExists(QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)).filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat"))) { this->removeWalletEncryptionStartUp(); } + ui->memoTxtChat->setAutoFillBackground(false); + ui->memoTxtChat->setPlaceholderText("Send Message"); + ui->memoTxtChat->setTextColor(Qt::white); + // Status Bar setupStatusBar(); @@ -263,6 +263,69 @@ void MainWindow::closeEvent(QCloseEvent* event) { // Let the RPC know to shut down any running service. rpc->shutdownhushd(); + +// Check is encryption is ON for SDl + if(fileExists(QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)).filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat"))) + + { + + + // delete old file before + + auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); + QFile file1(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat")); + file1.remove(); + + // Encrypt our wallet.dat + QString str = "123";///just for testing. We set the user pw here + // QString str = ed.txtPassword->text(); // data comes from user inputs + int length = str.length(); + + char *sequence = NULL; + sequence = new char[length+1]; + strncpy(sequence, str.toLocal8Bit(), length +1); + + #define MESSAGE ((const unsigned char *) sequence) + #define MESSAGE_LEN length + + unsigned char hash[crypto_secretstream_xchacha20poly1305_KEYBYTES]; + + crypto_hash_sha256(hash,MESSAGE, MESSAGE_LEN); + + #define PASSWORD sequence + #define KEY_LEN crypto_box_SEEDBYTES + + + + /////////we use the Hash of the Password as Salt, not perfect but still a good solution. + + unsigned char key[KEY_LEN]; + + if (crypto_pwhash + (key, sizeof key, PASSWORD, strlen(PASSWORD), hash, + crypto_pwhash_OPSLIMIT_SENSITIVE, crypto_pwhash_MEMLIMIT_SENSITIVE, + crypto_pwhash_ALG_DEFAULT) != 0) { + /* out of memory */ +} + + auto dir = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)); + // auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); + QString source_file = dir.filePath("addresslabels.dat"); + QString target_enc_file = dir.filePath("addresslabels.dat.enc"); + QString sourceWallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat"); + QString target_encWallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat"); + + FileEncryption::encrypt(target_enc_file, source_file, key); + FileEncryption::encrypt(target_encWallet_file, sourceWallet_file, key); + + } +///////////////// we rename the plaintext wallet.dat to Backup, for testing. + auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); + QFile file1(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.datBACKUP")); + file1.remove(); + QFile file(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat")); + file.rename(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.datBACKUP")); + // Bubble up if (event) QMainWindow::closeEvent(event); @@ -282,14 +345,17 @@ void MainWindow::encryptWallet() { ed.setupUi(&d); // Handle edits on the password box + + auto fnPasswordEdited = [=](const QString&) { // Enable the OK button if the passwords match. + QString password = ed.txtPassword->text(); if (!ed.txtPassword->text().isEmpty() && - ed.txtPassword->text() == ed.txtConfirmPassword->text()) { + ed.txtPassword->text() == ed.txtConfirmPassword->text() && password.size() >= 10) { ed.lblPasswordMatch->setText(""); ed.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(true); } else { - ed.lblPasswordMatch->setText(tr("Passwords don't match")); + ed.lblPasswordMatch->setText(tr("Passwords don't match or You have entered too few letters (10 minimum)")); ed.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false); } @@ -300,19 +366,49 @@ void MainWindow::encryptWallet() { if (d.exec() == QDialog::Accepted) { - const unsigned char* key=PASSWD::hash(ed.txtPassword->text()); - PASSWD::show_hex_buff((unsigned char*) key); + + QString str = ed.txtPassword->text(); // data comes from user inputs + int length = str.length(); + + char *sequence = NULL; + sequence = new char[length+1]; + strncpy(sequence, str.toLocal8Bit(), length +1); + + #define MESSAGE ((const unsigned char *) sequence) + #define MESSAGE_LEN length + + unsigned char hash[crypto_secretstream_xchacha20poly1305_KEYBYTES]; + + crypto_hash_sha256(hash,MESSAGE, MESSAGE_LEN); + + #define PASSWORD sequence + #define KEY_LEN crypto_box_SEEDBYTES + + + + /////////we use the Hash of the Password as Salt, not perfect but still a good solution. + + unsigned char key[KEY_LEN]; + + if (crypto_pwhash + (key, sizeof key, PASSWORD, strlen(PASSWORD), hash, + crypto_pwhash_OPSLIMIT_SENSITIVE, crypto_pwhash_MEMLIMIT_SENSITIVE, + crypto_pwhash_ALG_DEFAULT) != 0) { + /* out of memory */ +} + + qDebug()<<"Generating cryptographic key from password: " <text()); - PASSWD::show_hex_buff((unsigned char*) key); + QString str = ed.txtPassword->text(); // data comes from user inputs + int length = str.length(); + + char *sequence = NULL; + sequence = new char[length+1]; + strncpy(sequence, str.toLocal8Bit(), length +1); + + #define MESSAGE ((const unsigned char *) sequence) + #define MESSAGE_LEN length + + unsigned char hash[crypto_secretstream_xchacha20poly1305_KEYBYTES]; + + crypto_hash_sha256(hash,MESSAGE, MESSAGE_LEN); + + #define PASSWORD sequence + #define KEY_LEN crypto_box_SEEDBYTES + + + + /////////we use the Hash of the Password as Salt, not perfect but still a good solution. + + unsigned char key[KEY_LEN]; + + if (crypto_pwhash + (key, sizeof key, PASSWORD, strlen(PASSWORD), hash, + crypto_pwhash_OPSLIMIT_SENSITIVE, crypto_pwhash_MEMLIMIT_SENSITIVE, + crypto_pwhash_ALG_DEFAULT) != 0) { + /* out of memory */ +} auto dir = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)); - auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); + auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); QString target_encaddr_file = dir.filePath("addresslabels.dat.enc"); QString target_decaddr_file = dir.filePath("addresslabels.dat"); - QString target_encwallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat.enc"); + QString target_encwallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat"); QString target_decwallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat"); @@ -354,8 +477,7 @@ void MainWindow::removeWalletEncryption() { - } - d.exec(); + } } void MainWindow::removeWalletEncryptionStartUp() { @@ -367,11 +489,11 @@ void MainWindow::removeWalletEncryptionStartUp() { auto fnPasswordEdited = [=](const QString&) { // Enable the OK button if the passwords match. if (!ed.txtPassword->text().isEmpty() && - ed.txtPassword->text() == ed.txtConfirmPassword->text()) { + ed.txtPassword->text() == ed.txtConfirmPassword->text()) { ed.lblPasswordMatch->setText(""); ed.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(true); } else { - ed.lblPasswordMatch->setText(tr("Passwords don't match")); + ed.lblPasswordMatch->setText(tr("Passwords don't match or under-lettered")); ed.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false); } @@ -382,22 +504,45 @@ void MainWindow::removeWalletEncryptionStartUp() { if (d.exec() == QDialog::Accepted) { - const unsigned char* key=PASSWD::hash(ed.txtPassword->text()); - PASSWD::show_hex_buff((unsigned char*) key); + QString str = ed.txtPassword->text(); // data comes from user inputs + int length = str.length(); + + char *sequence = NULL; + sequence = new char[length+1]; + strncpy(sequence, str.toLocal8Bit(), length +1); + + #define MESSAGE ((const unsigned char *) sequence) + #define MESSAGE_LEN length + + unsigned char hash[crypto_secretstream_xchacha20poly1305_KEYBYTES]; + + crypto_hash_sha256(hash,MESSAGE, MESSAGE_LEN); + + #define PASSWORD sequence + #define KEY_LEN crypto_box_SEEDBYTES + + + + /////////we use the Hash of the Password as Salt, not perfect but still a good solution. + + unsigned char key[KEY_LEN]; + + if (crypto_pwhash + (key, sizeof key, PASSWORD, strlen(PASSWORD), hash, + crypto_pwhash_OPSLIMIT_SENSITIVE, crypto_pwhash_MEMLIMIT_SENSITIVE, + crypto_pwhash_ALG_DEFAULT) != 0) { + /* out of memory */ + } auto dir = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)); auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); + QString target_encwallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat"); + QString target_decwallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat"); QString target_encaddr_file = dir.filePath("addresslabels.dat.enc"); QString target_decaddr_file = dir.filePath("addresslabels.dat"); - QString target_encwallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat.enc"); - QString target_decwallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat"); - FileEncryption::decrypt(target_decwallet_file, target_encwallet_file, key); - QThread::sleep(1); + // QThread::sleep(1); FileEncryption::decrypt(target_decaddr_file, target_encaddr_file, key); - - - } } From 833ed7fc97cf91d779b4c11d813b57f1cf2e8d7b Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 24 May 2020 09:10:39 +0200 Subject: [PATCH 144/256] new gui elements for encryption --- src/removeencryption.ui | 72 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 src/removeencryption.ui diff --git a/src/removeencryption.ui b/src/removeencryption.ui new file mode 100644 index 0000000..fb923db --- /dev/null +++ b/src/removeencryption.ui @@ -0,0 +1,72 @@ + + + + + Dialog + + + + 0 + 0 + 400 + 300 + + + + Dialog + + + + + 30 + 240 + 341 + 32 + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + + buttonBox + accepted() + Dialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + Dialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + + From feb745457be289b60039095ba5e402ae18314a48 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 24 May 2020 09:11:12 +0200 Subject: [PATCH 145/256] new gui elements for encryption --- silentdragon-lite.pro | 1 + src/encryption.ui | 10 +-- src/mainwindow.cpp | 39 +++++---- src/removeencryption.ui | 171 ++++++++++++++++++++++++++++++++++------ 4 files changed, 173 insertions(+), 48 deletions(-) diff --git a/silentdragon-lite.pro b/silentdragon-lite.pro index 4fe9ad0..89c9012 100644 --- a/silentdragon-lite.pro +++ b/silentdragon-lite.pro @@ -143,6 +143,7 @@ FORMS += \ src/requestContactDialog.ui \ src/newrecurring.ui \ src/requestdialog.ui \ + src/removeencryption.ui \ src/recurringmultiple.ui \ src/chatbubbleme.ui \ src/chatbubblepartner.ui diff --git a/src/encryption.ui b/src/encryption.ui index e0b3e2f..ae2643b 100644 --- a/src/encryption.ui +++ b/src/encryption.ui @@ -30,7 +30,7 @@ - <html><head/><body><p><span style=" font-size:14pt; color:#ef2929;">WARNING:</span> If you forget your password, the only way to recover the wallet is from the seed phrase. If you dont have Backup your seed phrase, please do it now!</p></body></html> + <html><head/><body><p><span style=" font-size:14pt; color:#ef2929;">WARNING:</span> If you forget your passphrase the only way to recover the wallet is from the seed phrase. If you dont have Backup your seed phrase, please do it now!</p></body></html> Qt::AlignCenter @@ -63,7 +63,7 @@ - <html><head/><body><p>10 letters minimum</p></body></html> + <html><head/><body><p>16 letters minimum</p></body></html> @@ -73,7 +73,7 @@ color: red; - Passwords don't match + Passphrase don't match Qt::AlignCenter @@ -83,7 +83,7 @@ - Encryption Password: + Encryption Passphrase: @@ -97,7 +97,7 @@ - Confirm Password: + Confirm Passphrase: diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index e7d175b..fd5be39 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -21,7 +21,8 @@ #include "ui_requestContactDialog.h" #include "chatmodel.h" #include "requestdialog.h" -#include "ui_startupencryption.h" +#include "ui_startupencryption.h" +#include "ui_removeencryption.h" #include "websockets.h" #include "sodium.h" #include "sodium/crypto_generichash_blake2b.h" @@ -268,18 +269,16 @@ void MainWindow::closeEvent(QCloseEvent* event) { if(fileExists(QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)).filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat"))) { - - // delete old file before auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); - QFile file1(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat")); - file1.remove(); + QFile fileoldencryption(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat")); + fileoldencryption.remove(); - // Encrypt our wallet.dat - QString str = "123";///just for testing. We set the user pw here - // QString str = ed.txtPassword->text(); // data comes from user inputs - int length = str.length(); + // Encrypt our wallet.dat + QString str = "123";///just for testing. We set the user pw here + // QString str = ed.txtPassword->text(); // data comes from user inputs + int length = str.length(); char *sequence = NULL; sequence = new char[length+1]; @@ -309,7 +308,7 @@ void MainWindow::closeEvent(QCloseEvent* event) { } auto dir = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)); - // auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); + // auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); QString source_file = dir.filePath("addresslabels.dat"); QString target_enc_file = dir.filePath("addresslabels.dat.enc"); QString sourceWallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat"); @@ -318,14 +317,16 @@ void MainWindow::closeEvent(QCloseEvent* event) { FileEncryption::encrypt(target_enc_file, source_file, key); FileEncryption::encrypt(target_encWallet_file, sourceWallet_file, key); - } -///////////////// we rename the plaintext wallet.dat to Backup, for testing. - auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); - QFile file1(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.datBACKUP")); - file1.remove(); + ///////////////// we rename the plaintext wallet.dat to Backup, for testing. + + QFile fileoldbackup(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.datBACKUP")); + fileoldbackup.remove(); QFile file(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat")); file.rename(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.datBACKUP")); + } + + // Bubble up if (event) QMainWindow::closeEvent(event); @@ -351,11 +352,11 @@ void MainWindow::encryptWallet() { // Enable the OK button if the passwords match. QString password = ed.txtPassword->text(); if (!ed.txtPassword->text().isEmpty() && - ed.txtPassword->text() == ed.txtConfirmPassword->text() && password.size() >= 10) { + ed.txtPassword->text() == ed.txtConfirmPassword->text() && password.size() >= 16) { ed.lblPasswordMatch->setText(""); ed.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(true); } else { - ed.lblPasswordMatch->setText(tr("Passwords don't match or You have entered too few letters (10 minimum)")); + ed.lblPasswordMatch->setText(tr("Passphrase don't match or You have entered too few letters (16 minimum)")); ed.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false); } @@ -413,7 +414,7 @@ void MainWindow::encryptWallet() { void MainWindow::removeWalletEncryption() { QDialog d(this); - Ui_encryptionDialog ed; + Ui_removeencryption ed; ed.setupUi(&d); // Handle edits on the password box @@ -475,8 +476,6 @@ void MainWindow::removeWalletEncryption() { FileEncryption::decrypt(target_decwallet_file, target_encwallet_file, key); FileEncryption::decrypt(target_decaddr_file, target_encaddr_file, key); - - } } diff --git a/src/removeencryption.ui b/src/removeencryption.ui index fb923db..15f4f30 100644 --- a/src/removeencryption.ui +++ b/src/removeencryption.ui @@ -1,10 +1,8 @@ - - - - - Dialog - - + + + removeencryption + + 0 0 @@ -12,40 +10,168 @@ 300 - - Dialog + + Remove your Wallet encryption - - + + - 30 - 240 + 50 + 260 341 32 - + Qt::Horizontal - + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + 260 + 170 + 133 + 23 + + + + <html><head/><body><p>16 letters minimum</p></body></html> + + + + + + 10 + 229 + 157 + 25 + + + + Confirm Passphrase: + + + + + + 10 + 164 + 382 + 3 + + + + Qt::Horizontal + + + + + + 173 + 229 + 219 + 25 + + + + QLineEdit::Password + + + + + + 10 + 56 + 382 + 56 + + + + <html><head/><body><p><span style=" font-size:14pt; color:#ef2929;">WARNING:</span> If yo remove your encryption, all your Data is Plaintext on your Disk!</p></body></html> + + + Qt::AlignCenter + + + true + + + + + + 10 + 260 + 382 + 3 + + + + Qt::Horizontal + + + + + + 10 + 198 + 157 + 25 + + + + Encryption Passphrase: + + + + + + 10 + 175 + 243 + 17 + + + + color: red; + + + Passphrase don't match + + + Qt::AlignCenter + + + + + + 173 + 198 + 219 + 25 + + + + QLineEdit::Password + + - buttonBox accepted() - Dialog + removeencryption accept() - + 248 254 - + 157 274 @@ -54,14 +180,14 @@ buttonBox rejected() - Dialog + removeencryption reject() - + 316 260 - + 286 274 @@ -69,4 +195,3 @@ - From c12a4ffe73ba0969d23b412403709cb33ec14459 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 24 May 2020 09:39:50 +0200 Subject: [PATCH 146/256] use userpw for encryption at sdl close --- src/mainwindow.cpp | 15 ++++++++++++++- src/mainwindow.h | 3 +++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index fd5be39..5bb0740 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -276,7 +276,7 @@ void MainWindow::closeEvent(QCloseEvent* event) { fileoldencryption.remove(); // Encrypt our wallet.dat - QString str = "123";///just for testing. We set the user pw here + QString str = this->getPassword(); // QString str = ed.txtPassword->text(); // data comes from user inputs int length = str.length(); @@ -351,6 +351,7 @@ void MainWindow::encryptWallet() { auto fnPasswordEdited = [=](const QString&) { // Enable the OK button if the passwords match. QString password = ed.txtPassword->text(); + this->setPassword(password); if (!ed.txtPassword->text().isEmpty() && ed.txtPassword->text() == ed.txtConfirmPassword->text() && password.size() >= 16) { ed.lblPasswordMatch->setText(""); @@ -546,6 +547,18 @@ void MainWindow::removeWalletEncryptionStartUp() { } +QString MainWindow::getPassword() +{ + + return _password; +} + +void MainWindow::setPassword(QString password) +{ + + _password = password; +} + void MainWindow::setupStatusBar() { // Status Bar loadingLabel = new QLabel(); diff --git a/src/mainwindow.h b/src/mainwindow.h index 7384fc2..e80af01 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -51,6 +51,8 @@ public: QString doSendChatTxValidations(Tx tx); QString doSendRequestTxValidations(Tx tx); QString getCid(); + QString getPassword(); + void setPassword(QString Password); void replaceWormholeClient(WormholeClient* newClient); bool isWebsocketListening(); @@ -120,6 +122,7 @@ private: void setupStatusBar(); void clearSendForm(); + QString _password; Tx createTxFromSendPage(); bool confirmTx(Tx tx, RecurringPaymentInfo* rpi); From 06b3f0370f9de519c5cc9e3cd9849eb098003a6d Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 24 May 2020 09:55:01 +0200 Subject: [PATCH 147/256] use userpw for encryption at sdl close --- src/mainwindow.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 5bb0740..49f4f72 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -477,6 +477,9 @@ void MainWindow::removeWalletEncryption() { FileEncryption::decrypt(target_decwallet_file, target_encwallet_file, key); FileEncryption::decrypt(target_decaddr_file, target_encaddr_file, key); + QFile filencrypted(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat")); + filencrypted.remove(); + } } @@ -486,6 +489,8 @@ void MainWindow::removeWalletEncryptionStartUp() { ed.setupUi(&d); // Handle edits on the password box + QString password = ed.txtPassword->text(); + auto fnPasswordEdited = [=](const QString&) { // Enable the OK button if the passwords match. if (!ed.txtPassword->text().isEmpty() && @@ -506,7 +511,7 @@ void MainWindow::removeWalletEncryptionStartUp() { { QString str = ed.txtPassword->text(); // data comes from user inputs int length = str.length(); - + this->setPassword(str); char *sequence = NULL; sequence = new char[length+1]; strncpy(sequence, str.toLocal8Bit(), length +1); From 0071ee1f093ce4399c5fe6522485eeceb4356897 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 24 May 2020 12:35:20 +0200 Subject: [PATCH 148/256] check for wrong password --- src/mainwindow.cpp | 67 ++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 59 insertions(+), 8 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 49f4f72..ee93f6f 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -466,21 +466,46 @@ void MainWindow::removeWalletEncryption() { crypto_pwhash_ALG_DEFAULT) != 0) { /* out of memory */ } + + QFile filencrypted(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat")); + filencrypted.remove(); + + { auto dir = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)); auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); - QString target_encaddr_file = dir.filePath("addresslabels.dat.enc"); - QString target_decaddr_file = dir.filePath("addresslabels.dat"); QString target_encwallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat"); QString target_decwallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat"); + QString target_encaddr_file = dir.filePath("addresslabels.dat.enc"); + QString target_decaddr_file = dir.filePath("addresslabels.dat"); - FileEncryption::decrypt(target_decwallet_file, target_encwallet_file, key); FileEncryption::decrypt(target_decaddr_file, target_encaddr_file, key); - QFile filencrypted(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat")); - filencrypted.remove(); - } + + auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); + QFile filencrypted(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat")); + + if (filencrypted.size() > 0) + { + + QMessageBox::information(this, tr("Wallet Encryption Success"), + QString("SDL is ready to Rock"), + QMessageBox::Ok + ); + }else{ + + qDebug()<<"verschlüsselung gescheitert "; + + QMessageBox::critical(this, tr("Wallet Encryption Failed"), + QString("false password please try again"), + QMessageBox::Ok + ); + this->removeWalletEncryptionStartUp(); + } + + } + } void MainWindow::removeWalletEncryptionStartUp() { @@ -532,12 +557,15 @@ void MainWindow::removeWalletEncryptionStartUp() { unsigned char key[KEY_LEN]; - if (crypto_pwhash + if (crypto_pwhash (key, sizeof key, PASSWORD, strlen(PASSWORD), hash, crypto_pwhash_OPSLIMIT_SENSITIVE, crypto_pwhash_MEMLIMIT_SENSITIVE, crypto_pwhash_ALG_DEFAULT) != 0) { /* out of memory */ } + + + { auto dir = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)); auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); QString target_encwallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat"); @@ -546,8 +574,31 @@ void MainWindow::removeWalletEncryptionStartUp() { QString target_decaddr_file = dir.filePath("addresslabels.dat"); FileEncryption::decrypt(target_decwallet_file, target_encwallet_file, key); - // QThread::sleep(1); FileEncryption::decrypt(target_decaddr_file, target_encaddr_file, key); + + } + + auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); + QFile filencrypted(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat")); + + if (filencrypted.size() > 0) + { + + QMessageBox::information(this, tr("Wallet Encryption Success"), + QString("SDL is ready to Rock"), + QMessageBox::Ok + ); + }else{ + + qDebug()<<"verschlüsselung gescheitert "; + + QMessageBox::critical(this, tr("Wallet Encryption Failed"), + QString("false password please try again"), + QMessageBox::Ok + ); + this->removeWalletEncryptionStartUp(); + } + } } From d5138b8fa247a55635f67ca7ecabf86f01d42b4f Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 24 May 2020 13:15:57 +0200 Subject: [PATCH 149/256] prevent to open sdl without pw --- src/mainwindow.cpp | 73 +++++++++++++++++++++++++---------------- src/mainwindow.h | 2 ++ src/removeencryption.ui | 2 +- 3 files changed, 48 insertions(+), 29 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index ee93f6f..681391a 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -252,6 +252,10 @@ void MainWindow::doClose() { closeEvent(nullptr); } +void MainWindow::doClosePw() { + closeEventpw(nullptr); +} + void MainWindow::closeEvent(QCloseEvent* event) { QSettings s; @@ -261,8 +265,7 @@ void MainWindow::closeEvent(QCloseEvent* event) { s.sync(); - // Let the RPC know to shut down any running service. - rpc->shutdownhushd(); + // Check is encryption is ON for SDl @@ -318,27 +321,30 @@ void MainWindow::closeEvent(QCloseEvent* event) { FileEncryption::encrypt(target_encWallet_file, sourceWallet_file, key); ///////////////// we rename the plaintext wallet.dat to Backup, for testing. - - QFile fileoldbackup(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.datBACKUP")); - fileoldbackup.remove(); + QFile file(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat")); file.rename(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.datBACKUP")); } - + // Let the RPC know to shut down any running service. + rpc->shutdownhushd(); // Bubble up if (event) QMainWindow::closeEvent(event); } -void dump_hex_buff(unsigned char buf[], unsigned int len) -{ - int i; - for (i=0; ishutdownhushd(); + + // Bubble up + if (event) + QMainWindow::closeEvent(event); } + void MainWindow::encryptWallet() { QDialog d(this); @@ -351,7 +357,7 @@ void MainWindow::encryptWallet() { auto fnPasswordEdited = [=](const QString&) { // Enable the OK button if the passwords match. QString password = ed.txtPassword->text(); - this->setPassword(password); + if (!ed.txtPassword->text().isEmpty() && ed.txtPassword->text() == ed.txtConfirmPassword->text() && password.size() >= 16) { ed.lblPasswordMatch->setText(""); @@ -371,6 +377,7 @@ void MainWindow::encryptWallet() { QString str = ed.txtPassword->text(); // data comes from user inputs int length = str.length(); + this->setPassword(str); char *sequence = NULL; sequence = new char[length+1]; @@ -399,8 +406,6 @@ void MainWindow::encryptWallet() { /* out of memory */ } - qDebug()<<"Generating cryptographic key from password: " <text(); auto fnPasswordEdited = [=](const QString&) { // Enable the OK button if the passwords match. if (!ed.txtPassword->text().isEmpty() && - ed.txtPassword->text() == ed.txtConfirmPassword->text()) { + ed.txtPassword->text() == ed.txtConfirmPassword->text() && password.size() >= 16) { ed.lblPasswordMatch->setText(""); ed.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(true); } else { @@ -466,11 +472,9 @@ void MainWindow::removeWalletEncryption() { crypto_pwhash_ALG_DEFAULT) != 0) { /* out of memory */ } + - QFile filencrypted(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat")); - filencrypted.remove(); - - { + auto dir = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)); auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); QString target_encwallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat"); @@ -481,29 +485,35 @@ void MainWindow::removeWalletEncryption() { FileEncryption::decrypt(target_decwallet_file, target_encwallet_file, key); FileEncryption::decrypt(target_decaddr_file, target_encaddr_file, key); - } + - auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); + QFile filencrypted(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat")); if (filencrypted.size() > 0) { - QMessageBox::information(this, tr("Wallet Encryption Success"), + QMessageBox::information(this, tr("Wallet decryption Success"), QString("SDL is ready to Rock"), QMessageBox::Ok - ); + ); + + filencrypted.remove(); + }else{ qDebug()<<"verschlüsselung gescheitert "; QMessageBox::critical(this, tr("Wallet Encryption Failed"), - QString("false password please try again"), + QString("false password, please try again"), QMessageBox::Ok ); this->removeWalletEncryptionStartUp(); } + }else{ + + this->doClosePw(); } } @@ -514,12 +524,12 @@ void MainWindow::removeWalletEncryptionStartUp() { ed.setupUi(&d); // Handle edits on the password box - QString password = ed.txtPassword->text(); auto fnPasswordEdited = [=](const QString&) { + QString password = ed.txtPassword->text(); // Enable the OK button if the passwords match. if (!ed.txtPassword->text().isEmpty() && - ed.txtPassword->text() == ed.txtConfirmPassword->text()) { + ed.txtPassword->text() == ed.txtConfirmPassword->text() && password.size() >= 16) { ed.lblPasswordMatch->setText(""); ed.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(true); } else { @@ -580,6 +590,8 @@ void MainWindow::removeWalletEncryptionStartUp() { auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); QFile filencrypted(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat")); + QFile backup(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.datBACKUP")); + if (filencrypted.size() > 0) { @@ -587,7 +599,9 @@ void MainWindow::removeWalletEncryptionStartUp() { QMessageBox::information(this, tr("Wallet Encryption Success"), QString("SDL is ready to Rock"), QMessageBox::Ok - ); + ); + + backup.remove(); }else{ qDebug()<<"verschlüsselung gescheitert "; @@ -599,8 +613,11 @@ void MainWindow::removeWalletEncryptionStartUp() { this->removeWalletEncryptionStartUp(); } + }else{ + + this->doClosePw(); } - + } QString MainWindow::getPassword() diff --git a/src/mainwindow.h b/src/mainwindow.h index e80af01..7ec42ba 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -88,6 +88,7 @@ public: Logger* logger; void doClose(); + void doClosePw(); QString createHeaderMemo(QString type, QString cid, QString zaddr, int version, int headerNumber); public slots: @@ -104,6 +105,7 @@ private: bool fileExists(QString path); void closeEvent(QCloseEvent* event); + void closeEventpw(QCloseEvent* event); void setupSendTab(); diff --git a/src/removeencryption.ui b/src/removeencryption.ui index 15f4f30..77d7239 100644 --- a/src/removeencryption.ui +++ b/src/removeencryption.ui @@ -181,7 +181,7 @@ buttonBox rejected() removeencryption - reject() + close() 316 From 79aecae12ea603fc29e02b7723e23d5978627392 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 24 May 2020 13:25:12 +0200 Subject: [PATCH 150/256] rename to .backup at sdl end --- src/mainwindow.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 681391a..cd2bd34 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -266,7 +266,8 @@ void MainWindow::closeEvent(QCloseEvent* event) { s.sync(); - + // Let the RPC know to shut down any running service. + rpc->shutdownhushd(); // Check is encryption is ON for SDl if(fileExists(QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)).filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat"))) @@ -324,10 +325,10 @@ void MainWindow::closeEvent(QCloseEvent* event) { QFile file(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat")); file.rename(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.datBACKUP")); + } - // Let the RPC know to shut down any running service. - rpc->shutdownhushd(); + // Bubble up if (event) @@ -591,6 +592,7 @@ void MainWindow::removeWalletEncryptionStartUp() { auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); QFile filencrypted(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat")); QFile backup(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.datBACKUP")); + if (filencrypted.size() > 0) From 309c1acbcc5ac274b5893014f39a8e6f569d2694 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 24 May 2020 15:24:06 +0200 Subject: [PATCH 151/256] some gui fixes --- src/mainwindow.cpp | 58 ++++++++++++++++++++++++++-------------------- 1 file changed, 33 insertions(+), 25 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index cd2bd34..a8c5e03 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -323,10 +323,10 @@ void MainWindow::closeEvent(QCloseEvent* event) { ///////////////// we rename the plaintext wallet.dat to Backup, for testing. - QFile file(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat")); - file.rename(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.datBACKUP")); - - + QFile wallet(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat")); + QFile address(dir.filePath("addresslabels.dat")); + wallet.remove(); + address.remove(); } @@ -416,6 +416,11 @@ void MainWindow::encryptWallet() { FileEncryption::encrypt(target_enc_file, source_file, key); FileEncryption::encrypt(target_encWallet_file, sourceWallet_file, key); + + QFile wallet(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat")); + QFile address(dir.filePath("addresslabels.dat")); + wallet.rename(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.datBackup")); + address.rename(dir.filePath("addresslabels.datBackup")); } } @@ -424,12 +429,11 @@ void MainWindow::removeWalletEncryption() { Ui_removeencryption ed; ed.setupUi(&d); - // Handle edits on the password box - QString password = ed.txtPassword->text(); - auto fnPasswordEdited = [=](const QString&) { + auto fnPasswordEdited = [=](const QString&) { + QString password = ed.txtPassword->text(); // Enable the OK button if the passwords match. if (!ed.txtPassword->text().isEmpty() && - ed.txtPassword->text() == ed.txtConfirmPassword->text() && password.size() >= 16) { + ed.txtPassword->text() == ed.txtConfirmPassword->text() && password.size() >= 16) { ed.lblPasswordMatch->setText(""); ed.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(true); } else { @@ -485,17 +489,15 @@ void MainWindow::removeWalletEncryption() { FileEncryption::decrypt(target_decwallet_file, target_encwallet_file, key); FileEncryption::decrypt(target_decaddr_file, target_encaddr_file, key); - - - - QFile filencrypted(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat")); + QFile filencrypted(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat")); + QFile wallet(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat")); - if (filencrypted.size() > 0) + if (wallet.size() > 0) { QMessageBox::information(this, tr("Wallet decryption Success"), - QString("SDL is ready to Rock"), + QString("Successfully delete the encryption"), QMessageBox::Ok ); @@ -506,15 +508,12 @@ void MainWindow::removeWalletEncryption() { qDebug()<<"verschlüsselung gescheitert "; QMessageBox::critical(this, tr("Wallet Encryption Failed"), - QString("false password, please try again"), + QString("False password, please try again"), QMessageBox::Ok ); - this->removeWalletEncryptionStartUp(); + this->removeWalletEncryption(); } - }else{ - - this->doClosePw(); } } @@ -590,20 +589,29 @@ void MainWindow::removeWalletEncryptionStartUp() { } auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); - QFile filencrypted(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat")); - QFile backup(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.datBACKUP")); + QFile wallet(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat")); + //QFile backup(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.datBACKUP"));*/ - - - if (filencrypted.size() > 0) + if (wallet.size() > 0) { + if (fileExists(QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)).filePath(".silentdragonlite/silentdragonlite-wallet.datBackup"))) + + { + + QMessageBox::warning(this, tr("You have still Plaintextdata on your disk!"), + QString("WARNING: Delete it only if you have a backup of your Wallet Seed."), + QMessageBox::Ok + ); + // backup.remove(); + + } QMessageBox::information(this, tr("Wallet Encryption Success"), QString("SDL is ready to Rock"), QMessageBox::Ok ); - backup.remove(); + }else{ qDebug()<<"verschlüsselung gescheitert "; From c79bf0046d8dd0e5e6b3bdb4b8f03519b1f76f36 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 24 May 2020 16:51:55 +0200 Subject: [PATCH 152/256] fix for win --- src/mainwindow.cpp | 54 ++++++++++++++++++++++++++++++---------------- 1 file changed, 35 insertions(+), 19 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index a8c5e03..1f16a60 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -33,6 +33,19 @@ using json = nlohmann::json; + + +#ifdef Q_OS_WIN +auto dirwallet = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)).filePath("silentdragonlite/silentdragonlite-wallet.dat"); +auto dirwalletenc = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)).filePath("silentdragonlite/silentdragonlite-wallet-enc.dat"); +auto dirwalletbackup = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)).filePath("silentdragonlite/silentdragonlite-wallet.datBackup"); +#endif +#ifdef Q_OS_UNIX +auto dirwallet = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)).filePath(".silentdragonlite/silentdragonlite-wallet.dat"); +auto dirwalletenc = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)).filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat"); +auto dirwalletbackup = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)).filePath(".silentdragonlite/silentdragonlite-wallet.datBackup"); +#endif + MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) @@ -56,7 +69,10 @@ MainWindow::MainWindow(QWidget *parent) : logger = new Logger(this, QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)).filePath("silentdragonlite-wallet.log")); // Check for encryption - if(fileExists(QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)).filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat"))) + + + + if(fileExists(dirwalletenc)) { this->removeWalletEncryptionStartUp(); } @@ -270,13 +286,13 @@ void MainWindow::closeEvent(QCloseEvent* event) { rpc->shutdownhushd(); // Check is encryption is ON for SDl - if(fileExists(QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)).filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat"))) + if(fileExists(dirwalletenc)) { // delete old file before - auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); - QFile fileoldencryption(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat")); + //auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); + QFile fileoldencryption(dirwalletenc); fileoldencryption.remove(); // Encrypt our wallet.dat @@ -315,15 +331,15 @@ void MainWindow::closeEvent(QCloseEvent* event) { // auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); QString source_file = dir.filePath("addresslabels.dat"); QString target_enc_file = dir.filePath("addresslabels.dat.enc"); - QString sourceWallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat"); - QString target_encWallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat"); + QString sourceWallet_file = dirwallet; + QString target_encWallet_file = dirwalletenc; FileEncryption::encrypt(target_enc_file, source_file, key); FileEncryption::encrypt(target_encWallet_file, sourceWallet_file, key); ///////////////// we rename the plaintext wallet.dat to Backup, for testing. - QFile wallet(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat")); + QFile wallet(dirwallet); QFile address(dir.filePath("addresslabels.dat")); wallet.remove(); address.remove(); @@ -411,15 +427,15 @@ void MainWindow::encryptWallet() { auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); QString source_file = dir.filePath("addresslabels.dat"); QString target_enc_file = dir.filePath("addresslabels.dat.enc"); - QString sourceWallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat"); - QString target_encWallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat"); + QString sourceWallet_file = dirwallet; + QString target_encWallet_file = dirwalletenc; FileEncryption::encrypt(target_enc_file, source_file, key); FileEncryption::encrypt(target_encWallet_file, sourceWallet_file, key); - QFile wallet(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat")); + QFile wallet(dirwallet); QFile address(dir.filePath("addresslabels.dat")); - wallet.rename(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.datBackup")); + wallet.rename(dirwalletbackup); address.rename(dir.filePath("addresslabels.datBackup")); } } @@ -482,16 +498,16 @@ void MainWindow::removeWalletEncryption() { auto dir = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)); auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); - QString target_encwallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat"); - QString target_decwallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat"); + QString target_encwallet_file = dirwalletenc; + QString target_decwallet_file = dirwallet; QString target_encaddr_file = dir.filePath("addresslabels.dat.enc"); QString target_decaddr_file = dir.filePath("addresslabels.dat"); FileEncryption::decrypt(target_decwallet_file, target_encwallet_file, key); FileEncryption::decrypt(target_decaddr_file, target_encaddr_file, key); - QFile filencrypted(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat")); - QFile wallet(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat")); + QFile filencrypted(dirwalletenc); + QFile wallet(dirwallet); if (wallet.size() > 0) { @@ -578,8 +594,8 @@ void MainWindow::removeWalletEncryptionStartUp() { { auto dir = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)); auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); - QString target_encwallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat"); - QString target_decwallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat"); + QString target_encwallet_file = dirwalletenc; + QString target_decwallet_file = dirwallet; QString target_encaddr_file = dir.filePath("addresslabels.dat.enc"); QString target_decaddr_file = dir.filePath("addresslabels.dat"); @@ -589,12 +605,12 @@ void MainWindow::removeWalletEncryptionStartUp() { } auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); - QFile wallet(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat")); + QFile wallet(dirwallet); //QFile backup(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.datBACKUP"));*/ if (wallet.size() > 0) { - if (fileExists(QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)).filePath(".silentdragonlite/silentdragonlite-wallet.datBackup"))) + if (fileExists(dirwalletbackup)) { From f9d89197532053729c0cd237ca3cf8d0003ea26e Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 24 May 2020 20:55:56 +0200 Subject: [PATCH 153/256] rename of chatmemoedit --- src/Chat/Chat.cpp | 34 ++++++++++++++++++---------------- src/chatmodel.cpp | 1 - src/mainwindow.cpp | 2 +- src/mainwindow.h | 14 +++++++------- src/memodialog.ui | 2 +- 5 files changed, 27 insertions(+), 26 deletions(-) diff --git a/src/Chat/Chat.cpp b/src/Chat/Chat.cpp index 30a827d..f76222d 100644 --- a/src/Chat/Chat.cpp +++ b/src/Chat/Chat.cpp @@ -7,43 +7,43 @@ Chat::Chat() {} ChatMemoEdit::ChatMemoEdit(QWidget* parent) : QTextEdit(parent) { - QObject::connect(this, &QTextEdit::textChanged, this, &ChatMemoEdit::updateDisplay); + QObject::connect(this, &QTextEdit::textChanged, this, &ChatMemoEdit::updateDisplayChat); } -void ChatMemoEdit::updateDisplay() { +void ChatMemoEdit::updateDisplayChat() { QString txt = this->toPlainText(); - if (lenDisplayLabel) - lenDisplayLabel->setText(QString::number(txt.toUtf8().size()) + "/" + QString::number(maxlen)); + if (lenDisplayLabelchat) + lenDisplayLabelchat->setText(QString::number(txt.toUtf8().size()) + "/" + QString::number(maxlenchat)); - if (txt.toUtf8().size() <= maxlen) { + if (txt.toUtf8().size() <= maxlenchat) { // Everything is fine if (sendChatButton) sendChatButton->setEnabled(true); - if (lenDisplayLabel) - lenDisplayLabel->setStyleSheet(""); + if (lenDisplayLabelchat) + lenDisplayLabelchat->setStyleSheet(""); } else { // Overweight if (sendChatButton) sendChatButton->setEnabled(false); - if (lenDisplayLabel) - lenDisplayLabel->setStyleSheet("color: red;"); + if (lenDisplayLabelchat) + lenDisplayLabelchat->setStyleSheet("color: red;"); } } -void ChatMemoEdit::setMaxLen(int len) { - this->maxlen = len; - updateDisplay(); +void ChatMemoEdit::setMaxLenChat(int len) { + this->maxlenchat = len; + updateDisplayChat(); } void ChatMemoEdit::SetSendChatButton(QPushButton* button) { this->sendChatButton = button; } -void ChatMemoEdit::setLenDisplayLabel(QLabel* label) { - this->lenDisplayLabel = label; +void ChatMemoEdit::setLenDisplayLabelChat(QLabel* label) { + this->lenDisplayLabelchat = label; } void Chat::renderChatBox(Ui::MainWindow *ui, QListView *view, QLabel *label) @@ -93,5 +93,7 @@ void Chat::renderChatBox(Ui::MainWindow *ui, QListView *view, QLabel *label) ui->listChat->setModel(chat); } } - } -} \ No newline at end of file + } +} + + \ No newline at end of file diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 91e46d5..0e636b2 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -8,7 +8,6 @@ #include "ui_mainwindow.h" #include "ui_requestContactDialog.h" #include "addressbook.h" -#include "ui_memodialog.h" #include "ui_contactrequest.h" #include #include diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 1f16a60..4f6c428 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1365,7 +1365,7 @@ void MainWindow::setupchatTab() { }); -ui->memoTxtChat->setLenDisplayLabel(ui->memoSizeChat); +ui->memoTxtChat->setLenDisplayLabelChat(ui->memoSizeChat); } diff --git a/src/mainwindow.h b/src/mainwindow.h index 7ec42ba..fb08fdb 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -60,8 +60,8 @@ public: void stopWebsocket(); void saveContact(); void saveandsendContact(); - void setMaxLen(int len); - void updateDisplay(); + // void setmaxlenChat(int len); + // void updateDisplay(); void balancesReady(); @@ -199,14 +199,14 @@ class ChatMemoEdit : public QTextEdit public: ChatMemoEdit(QWidget* parent); - void setMaxLen(int len); - void setLenDisplayLabel(QLabel* label); + void setMaxLenChat(int len); + void setLenDisplayLabelChat(QLabel* label); void SetSendChatButton(QPushButton* button); - void updateDisplay(); + void updateDisplayChat(); private: - int maxlen = 512; - QLabel* lenDisplayLabel = nullptr; + int maxlenchat = 512; + QLabel* lenDisplayLabelchat = nullptr; QPushButton* sendChatButton = nullptr; }; diff --git a/src/memodialog.ui b/src/memodialog.ui index 1c144e0..d365221 100644 --- a/src/memodialog.ui +++ b/src/memodialog.ui @@ -74,7 +74,7 @@ MemoEdit QPlainTextEdit -
memoedit.h
+
memoedit.h
From 68b509f7a6ae91904d9b8f79cfd33890740b35c3 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Mon, 25 May 2020 10:13:49 +0200 Subject: [PATCH 154/256] update deps --- lib/Cargo.lock | 841 ++++++++++++++++++++++++------------------------- lib/Cargo.toml | 2 +- 2 files changed, 419 insertions(+), 424 deletions(-) diff --git a/lib/Cargo.lock b/lib/Cargo.lock index 07f7981..3c95032 100644 --- a/lib/Cargo.lock +++ b/lib/Cargo.lock @@ -56,7 +56,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "arrayref" -version = "0.3.6" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -66,31 +66,31 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "async-stream" -version = "0.2.1" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "async-stream-impl 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "async-stream-impl 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "async-stream-impl" -version = "0.2.1" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "async-trait" -version = "0.1.24" +version = "0.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -98,19 +98,14 @@ name = "autocfg" version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -[[package]] -name = "autocfg" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - [[package]] name = "backtrace" -version = "0.3.43" +version = "0.3.40" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -119,8 +114,8 @@ name = "backtrace-sys" version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -143,7 +138,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "bech32" -version = "0.7.2" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -152,14 +147,14 @@ version = "0.1.0" source = "git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37#1a0204113d487cdaaf183c2967010e5214ff9e37" dependencies = [ "bit-vec 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", - "blake2s_simd 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)", + "blake2s_simd 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "crossbeam 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "ff 0.4.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", "futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", "group 0.1.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", - "num_cpus 1.12.0 (registry+https://github.com/rust-lang/crates.io-index)", + "num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)", "pairing 0.14.2 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -176,22 +171,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "blake2b_simd" -version = "0.5.10" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "arrayref 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", + "arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", - "constant_time_eq 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "blake2s_simd" -version = "0.5.10" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "arrayref 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", + "arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", - "constant_time_eq 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -226,12 +221,12 @@ name = "bs58" version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", + "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "bumpalo" -version = "3.1.2" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -255,7 +250,7 @@ dependencies = [ [[package]] name = "bytes" -version = "0.5.4" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -268,7 +263,7 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.50" +version = "1.0.48" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -281,8 +276,8 @@ name = "chrono" version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "num-integer 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -296,21 +291,21 @@ dependencies = [ [[package]] name = "constant_time_eq" -version = "0.1.5" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "core-foundation" -version = "0.6.4" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "core-foundation-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "core-foundation-sys" -version = "0.6.2" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -328,10 +323,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "crossbeam-utils" -version = "0.7.0" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -381,14 +375,14 @@ version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_users 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "redox_users 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "dtoa" -version = "0.4.5" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -401,7 +395,7 @@ name = "failure" version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "backtrace 0.3.43 (registry+https://github.com/rust-lang/crates.io-index)", + "backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)", "failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -410,9 +404,9 @@ name = "failure_derive" version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", "synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -436,9 +430,9 @@ name = "ff_derive" version = "0.3.0" source = "git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37#1a0204113d487cdaaf183c2967010e5214ff9e37" dependencies = [ - "num-bigint 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", - "num-integer 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "num-bigint 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", "syn 0.14.9 (registry+https://github.com/rust-lang/crates.io-index)", @@ -450,7 +444,7 @@ version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -467,8 +461,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", "crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", - "miniz_oxide 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "miniz_oxide 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -483,9 +477,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "aes 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "num-bigint 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", - "num-integer 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "num-bigint 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -514,15 +508,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "futures-channel" -version = "0.3.2" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "futures-core" -version = "0.3.2" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -531,26 +525,26 @@ version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "num_cpus 1.12.0 (registry+https://github.com/rust-lang/crates.io-index)", + "num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "futures-sink" -version = "0.3.2" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "futures-task" -version = "0.3.2" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "futures-util" -version = "0.3.2" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-task 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-task 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "pin-utils 0.1.0-alpha.4 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -564,12 +558,12 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.1.14" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", - "wasi 0.9.0+wasi-snapshot-preview1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "wasi 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -578,26 +572,26 @@ version = "0.1.0" source = "git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37#1a0204113d487cdaaf183c2967010e5214ff9e37" dependencies = [ "ff 0.4.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", - "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", "rand_xorshift 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "h2" -version = "0.2.1" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-sink 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-util 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-sink 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "http 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "indexmap 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-util 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -619,10 +613,10 @@ dependencies = [ [[package]] name = "hermit-abi" -version = "0.1.6" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -644,9 +638,9 @@ name = "http" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "itoa 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", + "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -654,7 +648,7 @@ name = "http-body" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", "http 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -668,38 +662,38 @@ name = "humantime" version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "quick-error 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "hyper" -version = "0.13.2" +version = "0.13.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-channel 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-util 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "h2 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-channel 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "h2 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", "http 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "http-body 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "httparse 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "itoa 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", + "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "want 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "indexmap" -version = "1.3.1" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -707,7 +701,7 @@ name = "iovec" version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -720,20 +714,20 @@ dependencies = [ [[package]] name = "itoa" -version = "0.4.5" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "js-sys" -version = "0.3.35" +version = "0.3.33" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "wasm-bindgen 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", + "wasm-bindgen 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "json" -version = "0.12.1" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -752,7 +746,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "libc" -version = "0.2.66" +version = "0.2.70" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -771,8 +765,8 @@ name = "libsodium-sys" version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", "libflate 0.1.27 (registry+https://github.com/rust-lang/crates.io-index)", "pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)", "tar 0.4.26 (registry+https://github.com/rust-lang/crates.io-index)", @@ -817,13 +811,13 @@ dependencies = [ "flate2 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", "humantime 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "log-mdc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", "serde-value 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)", "serde_yaml 0.8.11 (registry+https://github.com/rust-lang/crates.io-index)", "thread-id 3.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "typemap 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -837,12 +831,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "memchr" -version = "2.3.0" +version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "miniz_oxide" -version = "0.3.6" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "adler32 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -858,7 +852,7 @@ dependencies = [ "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", @@ -883,7 +877,7 @@ version = "0.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", "mio 0.6.21 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -918,7 +912,7 @@ version = "0.2.33" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -927,44 +921,44 @@ name = "nom" version = "4.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "memchr 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "num-bigint" -version = "0.2.6" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "num-integer 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", + "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "num-integer" -version = "0.1.42" +version = "0.1.41" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "num-traits" -version = "0.2.11" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "num_cpus" -version = "1.12.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "hermit-abi 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "hermit-abi 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -990,7 +984,7 @@ name = "ordered-float" version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1018,7 +1012,7 @@ name = "parking_lot_core" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1036,7 +1030,7 @@ dependencies = [ [[package]] name = "percent-encoding" -version = "1.0.1" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -1045,30 +1039,30 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "fixedbitset 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "indexmap 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "pin-project" -version = "0.4.8" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "pin-project-internal 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project-internal 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "pin-project-internal" -version = "0.4.8" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "pin-project-lite" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -1096,7 +1090,7 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.8" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1107,7 +1101,7 @@ name = "prost" version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", "prost-derive 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1116,7 +1110,7 @@ name = "prost-build" version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "itertools 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1135,9 +1129,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "anyhow 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)", "itertools 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", - "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1145,30 +1139,30 @@ name = "prost-types" version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", "prost 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "protobuf" -version = "2.10.1" +version = "2.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "protobuf-codegen" -version = "2.10.1" +version = "2.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "protobuf 2.10.1 (registry+https://github.com/rust-lang/crates.io-index)", + "protobuf 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "protobuf-codegen-pure" -version = "2.10.1" +version = "2.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "protobuf 2.10.1 (registry+https://github.com/rust-lang/crates.io-index)", - "protobuf-codegen 2.10.1 (registry+https://github.com/rust-lang/crates.io-index)", + "protobuf 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)", + "protobuf-codegen 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1176,13 +1170,13 @@ name = "qtlib" version = "0.1.0" dependencies = [ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", - "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=fb07cae93c706cce929beef98690109e5f2d7592)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=91c8d18d17aa5b67dc5dc8a5f8cfe4e323fdda30)", ] [[package]] name = "quick-error" -version = "1.2.3" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -1198,7 +1192,7 @@ name = "quote" version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1207,7 +1201,7 @@ version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1221,11 +1215,11 @@ dependencies = [ [[package]] name = "rand" -version = "0.7.3" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", "rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1268,7 +1262,7 @@ name = "rand_core" version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", + "getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1300,7 +1294,7 @@ name = "rand_jitter" version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1312,7 +1306,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1323,7 +1317,7 @@ name = "rand_os" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", + "getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1375,12 +1369,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "redox_users" -version = "0.3.4" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", + "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", - "rust-argon2 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rust-argon2 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1393,15 +1388,15 @@ dependencies = [ [[package]] name = "ring" -version = "0.16.11" +version = "0.16.12" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", "spin 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", "untrusted 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "web-sys 0.3.35 (registry+https://github.com/rust-lang/crates.io-index)", + "web-sys 0.3.33 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1422,13 +1417,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "rust-argon2" -version = "0.7.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "base64 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", - "blake2b_simd 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)", - "constant_time_eq 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", + "blake2b_simd 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)", + "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1438,7 +1432,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "rust-embed-impl 5.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "rust-embed-utils 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "walkdir 2.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "walkdir 2.2.9 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1448,8 +1442,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "rust-embed-utils 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", - "walkdir 2.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", + "walkdir 2.2.9 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1457,7 +1451,7 @@ name = "rust-embed-utils" version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "walkdir 2.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "walkdir 2.2.9 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1475,25 +1469,25 @@ dependencies = [ [[package]] name = "rustls" -version = "0.16.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", + "base64 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "ring 0.16.11 (registry+https://github.com/rust-lang/crates.io-index)", + "ring 0.16.12 (registry+https://github.com/rust-lang/crates.io-index)", "sct 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", - "webpki 0.21.2 (registry+https://github.com/rust-lang/crates.io-index)", + "webpki 0.21.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "rustls-native-certs" -version = "0.1.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rustls 0.16.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rustls 0.17.0 (registry+https://github.com/rust-lang/crates.io-index)", "schannel 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", - "security-framework 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "security-framework 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1503,10 +1497,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "same-file" -version = "1.0.6" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "winapi-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1528,7 +1522,7 @@ name = "sct" version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "ring 0.16.11 (registry+https://github.com/rust-lang/crates.io-index)", + "ring 0.16.12 (registry+https://github.com/rust-lang/crates.io-index)", "untrusted 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1537,26 +1531,28 @@ name = "secp256k1" version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "security-framework" -version = "0.3.4" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "core-foundation 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", - "core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", - "security-framework-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "core-foundation 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "core-foundation-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "security-framework-sys 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "security-framework-sys" -version = "0.3.3" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", + "core-foundation-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1591,17 +1587,17 @@ name = "serde_derive" version = "1.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "serde_json" -version = "1.0.46" +version = "1.0.44" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "itoa 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", + "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", "ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1611,7 +1607,7 @@ name = "serde_yaml" version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "dtoa 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", + "dtoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", "linked-hash-map 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", "yaml-rust 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1619,7 +1615,7 @@ dependencies = [ [[package]] name = "sha2" -version = "0.8.1" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "block-buffer 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1634,13 +1630,13 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "arc-swap 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "silentdragonlitelib" version = "0.1.0" -source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=fb07cae93c706cce929beef98690109e5f2d7592#fb07cae93c706cce929beef98690109e5f2d7592" +source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=91c8d18d17aa5b67dc5dc8a5f8cfe4e323fdda30#91c8d18d17aa5b67dc5dc8a5f8cfe4e323fdda30" dependencies = [ "base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "bellman 0.1.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", @@ -1650,7 +1646,7 @@ dependencies = [ "ff 0.4.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "http 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "json 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)", + "json 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "libflate 0.1.27 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1658,20 +1654,20 @@ dependencies = [ "pairing 0.14.2 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", "prost 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", "prost-types 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", - "protobuf 2.10.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)", - "ring 0.16.11 (registry+https://github.com/rust-lang/crates.io-index)", + "protobuf 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", + "ring 0.16.12 (registry+https://github.com/rust-lang/crates.io-index)", "ripemd160 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "rust-embed 5.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "secp256k1 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", + "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "sodiumoxide 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", "tiny-bip39 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-rustls 0.12.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tonic 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-rustls 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", + "tonic 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "tonic-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "webpki 0.21.2 (registry+https://github.com/rust-lang/crates.io-index)", + "webpki 0.21.0 (registry+https://github.com/rust-lang/crates.io-index)", "webpki-roots 0.18.0 (registry+https://github.com/rust-lang/crates.io-index)", "zcash_client_backend 0.0.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", "zcash_primitives 0.0.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", @@ -1697,7 +1693,7 @@ version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1707,7 +1703,7 @@ name = "sodiumoxide" version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", "libsodium-sys 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1744,10 +1740,10 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.14" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1757,9 +1753,9 @@ name = "synstructure" version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1774,7 +1770,7 @@ version = "0.4.26" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "filetime 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", "xattr 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1785,8 +1781,8 @@ version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", "remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1797,7 +1793,7 @@ name = "thread-id" version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1807,7 +1803,7 @@ name = "time" version = "0.1.42" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1823,95 +1819,95 @@ dependencies = [ "once_cell 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", "pbkdf2 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", + "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "tokio" -version = "0.2.11" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", - "memchr 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "mio 0.6.21 (registry+https://github.com/rust-lang/crates.io-index)", "mio-named-pipes 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "mio-uds 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)", - "num_cpus 1.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project-lite 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project-lite 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "signal-hook-registry 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-macros 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-macros 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "tokio-macros" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "tokio-rustls" -version = "0.12.2" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rustls 0.16.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", - "webpki 0.21.2 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rustls 0.17.0 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", + "webpki 0.21.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "tokio-util" -version = "0.2.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-sink 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-sink 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project-lite 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project-lite 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "tonic" -version = "0.1.1" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "async-stream 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "async-trait 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)", - "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", - "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-util 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "async-stream 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "async-trait 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)", + "base64 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "http 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "http-body 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper 0.13.2 (registry+https://github.com/rust-lang/crates.io-index)", - "percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "hyper 0.13.5 (registry+https://github.com/rust-lang/crates.io-index)", + "percent-encoding 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "prost 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", "prost-derive 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rustls-native-certs 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-rustls 0.12.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-util 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tower 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rustls-native-certs 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-rustls 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "tower 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-balance 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-load 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-make 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tracing 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "tracing-futures 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "tracing 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", + "tracing-futures 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1919,18 +1915,18 @@ name = "tonic-build" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", "prost-build 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "tower" -version = "0.3.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "tower-buffer 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-discover 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-layer 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1947,20 +1943,20 @@ name = "tower-balance" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-util 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "indexmap 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", "tower-discover 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-layer 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-load 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-make 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-ready-cache 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tracing 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", + "tracing 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1968,12 +1964,12 @@ name = "tower-buffer" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", "tower-layer 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tracing 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", + "tracing 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1981,8 +1977,8 @@ name = "tower-discover" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1996,9 +1992,9 @@ name = "tower-limit" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", "tower-layer 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2008,10 +2004,10 @@ name = "tower-load" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", "tower-discover 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2021,8 +2017,8 @@ name = "tower-load-shed" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "tower-layer 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2032,7 +2028,7 @@ name = "tower-make" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2041,11 +2037,11 @@ name = "tower-ready-cache" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-util 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "indexmap 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2054,9 +2050,9 @@ name = "tower-retry" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", "tower-layer 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2071,8 +2067,8 @@ name = "tower-timeout" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", "tower-layer 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2082,21 +2078,21 @@ name = "tower-util" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-util 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "tracing" -version = "0.1.12" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "tracing-attributes 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "tracing-core 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", + "tracing-core 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2105,12 +2101,12 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "tracing-core" -version = "0.1.9" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2118,11 +2114,11 @@ dependencies = [ [[package]] name = "tracing-futures" -version = "0.2.1" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tracing 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", + "tracing 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2188,12 +2184,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "walkdir" -version = "2.3.1" +version = "2.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "same-file 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", + "same-file 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2207,91 +2203,91 @@ dependencies = [ [[package]] name = "wasi" -version = "0.9.0+wasi-snapshot-preview1" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "wasm-bindgen" -version = "0.2.58" +version = "0.2.56" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-macro 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", + "wasm-bindgen-macro 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.58" +version = "0.2.56" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bumpalo 3.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "bumpalo 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-shared 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", + "wasm-bindgen-shared 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.58" +version = "0.2.56" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-macro-support 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", + "wasm-bindgen-macro-support 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.58" +version = "0.2.56" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-backend 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-shared 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", + "wasm-bindgen-backend 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)", + "wasm-bindgen-shared 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.58" +version = "0.2.56" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "wasm-bindgen-webidl" -version = "0.2.58" +version = "0.2.56" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "anyhow 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)", "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-backend 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", + "wasm-bindgen-backend 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)", "weedle 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "web-sys" -version = "0.3.35" +version = "0.3.33" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "anyhow 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)", - "js-sys 0.3.35 (registry+https://github.com/rust-lang/crates.io-index)", + "js-sys 0.3.33 (registry+https://github.com/rust-lang/crates.io-index)", "sourcefile 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-webidl 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", + "wasm-bindgen 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)", + "wasm-bindgen-webidl 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "webpki" -version = "0.21.2" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "ring 0.16.11 (registry+https://github.com/rust-lang/crates.io-index)", + "ring 0.16.12 (registry+https://github.com/rust-lang/crates.io-index)", "untrusted 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2300,7 +2296,7 @@ name = "webpki-roots" version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "webpki 0.21.2 (registry+https://github.com/rust-lang/crates.io-index)", + "webpki 0.21.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2316,7 +2312,7 @@ name = "which" version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2345,7 +2341,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "winapi-util" -version = "0.1.3" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2370,7 +2366,7 @@ name = "xattr" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2386,13 +2382,13 @@ name = "zcash_client_backend" version = "0.0.0" source = "git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37#1a0204113d487cdaaf183c2967010e5214ff9e37" dependencies = [ - "bech32 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", + "bech32 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", "bs58 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", "ff 0.4.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "pairing 0.14.2 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", - "protobuf 2.10.1 (registry+https://github.com/rust-lang/crates.io-index)", - "protobuf-codegen-pure 2.10.1 (registry+https://github.com/rust-lang/crates.io-index)", + "protobuf 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)", + "protobuf-codegen-pure 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)", "subtle 2.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "zcash_primitives 0.0.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", ] @@ -2403,8 +2399,8 @@ version = "0.0.0" source = "git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37#1a0204113d487cdaaf183c2967010e5214ff9e37" dependencies = [ "aes 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "blake2b_simd 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)", - "blake2s_simd 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)", + "blake2b_simd 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)", + "blake2s_simd 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "crypto_api_chachapoly 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "ff 0.4.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", @@ -2412,12 +2408,12 @@ dependencies = [ "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "pairing 0.14.2 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", - "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "rand_os 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "ripemd160 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "secp256k1 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", + "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2426,7 +2422,7 @@ version = "0.0.0" source = "git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37#1a0204113d487cdaaf183c2967010e5214ff9e37" dependencies = [ "bellman 0.1.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", - "blake2b_simd 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)", + "blake2b_simd 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "ff 0.4.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", "pairing 0.14.2 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", @@ -2443,51 +2439,50 @@ dependencies = [ "checksum anyhow 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)" = "7825f6833612eb2414095684fcf6c635becf3ce97fe48cf6421321e93bfbd53c" "checksum arc-swap 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "bc4662175ead9cd84451d5c35070517777949a2ed84551764129cedb88384841" "checksum arc-swap 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "d7b8a9123b8027467bce0099fe556c628a53c8d83df0507084c31e9ba2e39aff" -"checksum arrayref 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" +"checksum arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0d382e583f07208808f6b1249e60848879ba3543f57c32277bf52d69c2f0f0ee" "checksum arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8" -"checksum async-stream 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "22068c0c19514942eefcfd4daf8976ef1aad84e61539f95cd200c35202f80af5" -"checksum async-stream-impl 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "25f9db3b38af870bf7e5cc649167533b493928e50744e2c30ae350230b414670" -"checksum async-trait 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)" = "750b1c38a1dfadd108da0f01c08f4cdc7ff1bb39b325f9c82cc972361780a6e1" +"checksum async-stream 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "58982858be7540a465c790b95aaea6710e5139bf8956b1d1344d014fa40100b0" +"checksum async-stream-impl 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "393356ed99aa7bff0ac486dde592633b83ab02bd254d8c209d5b9f1d0f533480" +"checksum async-trait 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)" = "c8df72488e87761e772f14ae0c2480396810e51b2c2ade912f97f0f7e5b95e3c" "checksum autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2" -"checksum autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f8aac770f1885fd7e387acedd76065302551364496e46b3dd00860b2f8359b9d" -"checksum backtrace 0.3.43 (registry+https://github.com/rust-lang/crates.io-index)" = "7f80256bc78f67e7df7e36d77366f636ed976895d91fe2ab9efa3973e8fe8c4f" +"checksum backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)" = "924c76597f0d9ca25d762c25a4d369d51267536465dc5064bdf0eb073ed477ea" "checksum backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6575f128516de27e3ce99689419835fce9643a9b215a14d2b5b685be018491" "checksum base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5024ee8015f02155eee35c711107ddd9a9bf3cb689cf2a9089c97e79b6e1ae83" "checksum base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e" "checksum base64 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7" -"checksum bech32 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "cdcf67bb7ba7797a081cd19009948ab533af7c355d5caf1d08c777582d351e9c" +"checksum bech32 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9e0089c35ab7c6f2bc55ab23f769913f0ac65b1023e7e74638a1f43128dd5df2" "checksum bellman 0.1.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)" = "" "checksum bit-vec 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "02b4ff8b16e6076c3e14220b39fbc1fabb6737522281a388998046859400895f" "checksum bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" -"checksum blake2b_simd 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)" = "d8fb2d74254a3a0b5cac33ac9f8ed0e44aa50378d9dbb2e5d83bd21ed1dc2c8a" -"checksum blake2s_simd 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)" = "ab9e07352b829279624ceb7c64adb4f585dacdb81d35cafae81139ccd617cf44" +"checksum blake2b_simd 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)" = "b83b7baab1e671718d78204225800d6b170e648188ac7dc992e9d6bddf87d0c0" +"checksum blake2s_simd 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)" = "050efd7a5bdb220988d4c5204f84ab796e778612af94275f1d39479798b39cf9" "checksum block-buffer 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" "checksum block-cipher-trait 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1c924d49bd09e7c06003acda26cd9742e796e34282ec6c1189404dee0c1f4774" "checksum block-padding 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5" "checksum bs58 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "c95ee6bba9d950218b6cc910cf62bc9e0a171d0f4537e3627b0f54d08549b188" -"checksum bumpalo 3.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5fb8038c1ddc0a5f73787b130f4cc75151e96ed33e417fde765eb5a81e3532f4" +"checksum bumpalo 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ad807f2fc2bf185eeb98ff3a901bd46dc5ad58163d0fa4577ba0d25674d71708" "checksum byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" "checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5" "checksum bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)" = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c" -"checksum bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)" = "130aac562c0dd69c56b3b1cc8ffd2e17be31d0b6c25b61c96b76231aa23e39e1" +"checksum bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "10004c15deb332055f7a4a208190aed362cf9a7c2f6ab70a305fba50e1105f38" "checksum c2-chacha 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "214238caa1bf3a496ec3392968969cab8549f96ff30652c9e56885329315f6bb" -"checksum cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)" = "95e28fa049fda1c330bcf9d723be7663a899c4679724b34c81e9f5a326aab8cd" +"checksum cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)" = "f52a465a666ca3d838ebbf08b241383421412fe7ebb463527bba275526d89f76" "checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" "checksum chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "31850b4a4d6bae316f7a09e691c944c28299298837edc0a03f755618c23cbc01" "checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" -"checksum constant_time_eq 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" -"checksum core-foundation 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "25b9e03f145fd4f2bf705e07b900cd41fc636598fe5dc452fd0db1441c3f496d" -"checksum core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e7ca8a5221364ef15ce201e8ed2f609fc312682a8f4e0e3d4aa5879764e0fa3b" +"checksum constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "995a44c877f9212528ccc74b21a232f66ad69001e40ede5bcee2ac9ef2657120" +"checksum core-foundation 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "57d24c7a13c43e870e37c1556b74555437870a04514f7685f5b354e090567171" +"checksum core-foundation-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac" "checksum crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ba125de2af0df55319f41944744ad91c71113bf74a4646efff39afe1f6842db1" "checksum crossbeam 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "24ce9782d4d5c53674646a6a4c1863a21a8fc0cb649b3c94dfc16e45071dea19" -"checksum crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ce446db02cdc3165b94ae73111e570793400d0794e46125cc4056c81cbb039f4" +"checksum crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6" "checksum crypto-mac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5" "checksum crypto_api 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2f855e87e75a4799e18b8529178adcde6fd4f97c1449ff4821e747ff728bb102" "checksum crypto_api_chachapoly 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "95b2ad7cab08fd71addba81df5077c49df208effdfb3118a1519f9cdeac5aaf2" "checksum digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5" "checksum dirs 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "13aea89a5c93364a98e9b37b2fa237effbb694d5cfe01c5b70941f7eb087d5e3" "checksum dirs-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "afa0b23de8fd801745c471deffa6e12d248f962c9fd4b4c33787b055599bde7b" -"checksum dtoa 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "4358a9e11b9a09cf52383b451b49a169e8d797b68aa02301ff586d70d9661ea3" +"checksum dtoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "ea57b42383d091c85abcc2706240b94ab2a8fa1fc81c10ff23c4de06e2a90b5e" "checksum either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "bb1f6b1ce1c140482ea30ddd3335fc0024ac7ee112895426e0a629a6c20adfe3" "checksum failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "f8273f13c977665c5db7eb2b99ae520952fe5ac831ae4cd09d80c4c7042b5ed9" "checksum failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0bc225b78e0391e4b8683440bf2e63c2deeeb2ce5189eab46e2b68c6d3725d08" @@ -2503,35 +2498,35 @@ dependencies = [ "checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" "checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" "checksum futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)" = "1b980f2816d6ee8673b6517b52cb0e808a180efc92e5c19d02cdda79066703ef" -"checksum futures-channel 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c92c2137e8e1ebf1ac99453550ab46eb4f35c5c53476d57d75eb782fb4d71e84" -"checksum futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "ccfb301b0b09e940a67376cf40d1b0ac4db9366ee737f65c02edea225057e91e" +"checksum futures-channel 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fcae98ca17d102fd8a3603727b9259fcf7fa4239b603d2142926189bc8999b86" +"checksum futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "79564c427afefab1dfb3298535b21eda083ef7935b4f0ecbfcb121f0aec10866" "checksum futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "ab90cde24b3319636588d0c35fe03b1333857621051837ed769faefb4c2162e4" -"checksum futures-sink 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "0485279d763e8a3669358f500e805339138b7bbe90f5718c80eedfdcb2ea36a4" -"checksum futures-task 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "cefffab2aacc73845afd3f202e09fc775a55e2e96f46c8b1a46c117ae1c126ca" -"checksum futures-util 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2c3f8c59707f898b8b6f0b54c2aef5408ae90a560b7bf0fbf1b95b3c652b0171" +"checksum futures-sink 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "171be33efae63c2d59e6dbba34186fe0d6394fb378069a76dfd80fdcffd43c16" +"checksum futures-task 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0bae52d6b29cf440e298856fec3965ee6fa71b06aa7495178615953fd669e5f9" +"checksum futures-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c0d66274fb76985d3c62c886d1da7ac4c0903a8c9f754e8fe0f35a6a6cc39e76" "checksum generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c68f0274ae0e023facc3c97b2e00f076be70e254bc851d972503b328db79b2ec" -"checksum getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "7abc8dd8451921606d809ba32e95b6111925cd2906060d2dcc29c070220503eb" +"checksum getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "e7db7ca94ed4cd01190ceee0d8a8052f08a247aa1b469a7f68c6a3b71afcf407" "checksum group 0.1.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)" = "" -"checksum h2 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b9433d71e471c1736fd5a61b671fc0b148d7a2992f666c958d03cd8feb3b88d1" +"checksum h2 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "79b7246d7e4b979c03fa093da39cfb3617a96bbeee6310af63991668d7e843ff" "checksum hashbrown 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3bae29b6653b3412c2e71e9d486db9f9df5d701941d86683005efb9f2d28e3da" "checksum heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205" -"checksum hermit-abi 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "eff2656d88f158ce120947499e971d743c05dbcbed62e5bd2f38f1698bbc3772" +"checksum hermit-abi 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f629dc602392d3ec14bfc8a09b5e644d7ffd725102b48b81e59f90f2633621d7" "checksum hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77" "checksum hmac 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5dcb5e64cda4c23119ab41ba960d1e170a774c8e4b9d9e6a9bc18aabf5e59695" "checksum http 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b708cc7f06493459026f53b9a61a7a121a5d1ec6238dee58ea4941132b30156b" "checksum http-body 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "13d5ff830006f7646652e057693569bfe0d51760c0085a071769d142a205111b" "checksum httparse 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "cd179ae861f0c2e53da70d892f5f3029f9594be0c41dc5269cd371691b1dc2f9" "checksum humantime 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f" -"checksum hyper 0.13.2 (registry+https://github.com/rust-lang/crates.io-index)" = "fa1c527bbc634be72aa7ba31e4e4def9bbb020f5416916279b7c705cd838893e" -"checksum indexmap 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b54058f0a6ff80b6803da8faf8997cde53872b38f4023728f6830b06cd3c0dc" +"checksum hyper 0.13.5 (registry+https://github.com/rust-lang/crates.io-index)" = "96816e1d921eca64d208a85aab4f7798455a8e34229ee5a88c935bdee1b78b14" +"checksum indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712d7b3ea5827fcb9d4fda14bf4da5f136f0db2ae9c8f4bd4e2d1c6fde4e6db2" "checksum iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e" "checksum itertools 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f56a2d0bc861f9165be4eb3442afd3c236d8a98afd426f65d92324ae1091a484" -"checksum itoa 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "b8b7a7c0c47db5545ed3fef7468ee7bb5b74691498139e4b3f6a20685dc6dd8e" -"checksum js-sys 0.3.35 (registry+https://github.com/rust-lang/crates.io-index)" = "7889c7c36282151f6bf465be4700359318aef36baa951462382eae49e9577cf9" -"checksum json 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9a38661a28126f8621fb246611288ae28935ddf180f5e21f2d0fbfe5e4131dbe" +"checksum itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "501266b7edd0174f8530248f87f99c88fbe60ca4ef3dd486835b8d8d53136f7f" +"checksum js-sys 0.3.33 (registry+https://github.com/rust-lang/crates.io-index)" = "367647c532db6f1555d7151e619540ec5f713328235b8c062c6b4f63e84adfe3" +"checksum json 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b3ca41abbeb7615d56322a984e63be5e5d0a117dfaca86c14393e32a762ccac1" "checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" "checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" -"checksum libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)" = "d515b1f41455adea1313a4a2ac8a8a477634fbae63cc6100e3aebb207ce61558" +"checksum libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)" = "3baa92041a6fec78c687fa0cc2b3fae8884f743d672cf551bed1d6dac6988d0f" "checksum libflate 0.1.27 (registry+https://github.com/rust-lang/crates.io-index)" = "d9135df43b1f5d0e333385cb6e7897ecd1a43d7d11b91ac003f4d2c2d2401fdd" "checksum libsodium-sys 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "1c344ff12b90ef8fa1f0fffacd348c1fd041db331841fec9eab23fdb991f5e73" "checksum linked-hash-map 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "ae91b68aebc4ddb91978b11a1b02ddd8602a05ec19002801c5666000e05e0f83" @@ -2540,8 +2535,8 @@ dependencies = [ "checksum log-mdc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a94d21414c1f4a51209ad204c1776a3d0765002c76c6abcb602a6f09f1e881c7" "checksum log4rs 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)" = "100052474df98158c0738a7d3f4249c99978490178b5f9f68cd835ac57adbd1b" "checksum maybe-uninit 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" -"checksum memchr 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3197e20c7edb283f87c071ddfc7a2cca8f8e0b888c242959846a6fce03c72223" -"checksum miniz_oxide 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "aa679ff6578b1cddee93d7e82e263b94a575e0bfced07284eb0c037c1d2416a5" +"checksum memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e" +"checksum miniz_oxide 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6f3f74f726ae935c3f514300cc6773a0c9492abc5e972d42ba0c0ebb88757625" "checksum mio 0.6.21 (registry+https://github.com/rust-lang/crates.io-index)" = "302dec22bcf6bae6dfb69c647187f4b4d0fb6f535521f7bc022430ce8e12008f" "checksum mio-named-pipes 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "f5e374eff525ce1c5b7687c4cef63943e7686524a387933ad27ca7ec43779cb3" "checksum mio-uds 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)" = "966257a94e196b11bb43aca423754d87429960a768de9414f3691d6957abf125" @@ -2550,10 +2545,10 @@ dependencies = [ "checksum multimap 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a97fbd5d00e0e37bfb10f433af8f5aaf631e739368dc9fc28286ca81ca4948dc" "checksum net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)" = "42550d9fb7b6684a6d404d9fa7250c2eb2646df731d1c06afc06dcee9e1bcf88" "checksum nom 4.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2ad2a91a8e869eeb30b9cb3119ae87773a8f4ae617f41b1eb9c154b2905f7bd6" -"checksum num-bigint 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304" -"checksum num-integer 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "3f6ea62e9d81a77cd3ee9a2a5b9b609447857f3d358704331e4ef39eb247fcba" -"checksum num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "c62be47e61d1842b9170f0fdeec8eba98e60e90e5446449a0545e5152acd7096" -"checksum num_cpus 1.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "46203554f085ff89c235cd12f7075f3233af9b11ed7c9e16dfe2560d03313ce6" +"checksum num-bigint 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "f9c3f34cdd24f334cb265d9bf8bfa8a241920d026916785747a92f0e55541a1a" +"checksum num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)" = "b85e541ef8255f6cf42bbfe4ef361305c6c135d10919ecc26126c4e5ae94bc09" +"checksum num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)" = "d4c81ffc11c212fa327657cb19dd85eb7419e163b5b076bede2bdb5c974c07e4" +"checksum num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)" = "76dac5ed2a876980778b8b85f75a71b6cbf0db0b1232ee12f826bccb00d09d72" "checksum once_cell 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "532c29a261168a45ce28948f9537ddd7a5dd272cc513b3017b1e82a88f962c37" "checksum opaque-debug 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" "checksum openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de" @@ -2562,28 +2557,28 @@ dependencies = [ "checksum parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ab41b4aed082705d1056416ae4468b6ea99d52599ecf3169b00088d43113e337" "checksum parking_lot_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94c8c7923936b28d546dfd14d4472eaf34c99b14e1c973a32b3e6d4eb04298c9" "checksum pbkdf2 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "006c038a43a45995a9670da19e67600114740e8511d4333bf97a56e66a7542d9" -"checksum percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831" +"checksum percent-encoding 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" "checksum petgraph 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "29c127eea4a29ec6c85d153c59dc1213f33ec74cead30fe4730aecc88cc1fd92" -"checksum pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7804a463a8d9572f13453c516a5faea534a2403d7ced2f0c7e100eeff072772c" -"checksum pin-project-internal 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "385322a45f2ecf3410c68d2a549a4a2685e8051d0f278e39743ff4e451cb9b3f" -"checksum pin-project-lite 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "237844750cfbb86f67afe27eee600dfbbcb6188d734139b534cbfbf4f96792ae" +"checksum pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "94b90146c7216e4cb534069fb91366de4ea0ea353105ee45ed297e2d1619e469" +"checksum pin-project-internal 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "44ca92f893f0656d3cba8158dd0f2b99b94de256a4a54e870bd6922fcc6c8355" +"checksum pin-project-lite 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f7505eeebd78492e0f6108f7171c4948dbb120ee8119d9d77d0afa5469bef67f" "checksum pin-utils 0.1.0-alpha.4 (registry+https://github.com/rust-lang/crates.io-index)" = "5894c618ce612a3fa23881b152b608bafb8c56cfc22f434a3ba3120b40f7b587" "checksum pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)" = "05da548ad6865900e60eaba7f589cc0783590a92e940c26953ff81ddbab2d677" "checksum ppv-lite86 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "74490b50b9fbe561ac330df47c08f3f33073d2d00c150f719147d7c54522fa1b" "checksum proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)" = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759" -"checksum proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3acb317c6ff86a4e579dfa00fc5e6cca91ecbb4e7eb2df0468805b674eb88548" +"checksum proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)" = "8872cf6f48eee44265156c111456a700ab3483686b3f96df4cf5481c89157319" "checksum prost 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ce49aefe0a6144a45de32927c77bd2859a5f7677b55f220ae5b744e87389c212" "checksum prost-build 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "02b10678c913ecbd69350e8535c3aef91a8676c0773fc1d7b95cdd196d7f2f26" "checksum prost-derive 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "537aa19b95acde10a12fec4301466386f757403de4cd4e5b4fa78fb5ecb18f72" "checksum prost-types 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1834f67c0697c001304b75be76f67add9c89742eda3a085ad8ee0bb38c3417aa" -"checksum protobuf 2.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6686ddd96a8dbe2687b5f2a687b2cfb520854010ec480f2d74c32e7c9873d3c5" -"checksum protobuf-codegen 2.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6456421eecf7fc72905868cd760c3e35848ded3552e480cfe67726ed4dbd8d23" -"checksum protobuf-codegen-pure 2.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4a7cb42d5ab6073333be90208ab5ea6ab41c8f6803b35fd773a7572624cc15c9" -"checksum quick-error 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" +"checksum protobuf 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "40361836defdd5871ff7e84096c6f6444af7fc157f8ef1789f54f147687caa20" +"checksum protobuf-codegen 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "12c6abd78435445fc86898ebbd0521a68438063d4a73e23527b7134e6bf58b4a" +"checksum protobuf-codegen-pure 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c1646acda5319f5b28b0bff4a484324df43ddae2c0f5a3f3e63c0b26095cd600" +"checksum quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0" "checksum quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1" "checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe" "checksum rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca" -"checksum rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" +"checksum rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "3ae1b169243eaf61759b8475a998f0a385e42042370f3a7dbaf35246eacc8412" "checksum rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef" "checksum rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "03a2a90da8c7523f554344f921aa97283eadf6ac484a6d2a7d0212fa7f8d6853" "checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b" @@ -2601,37 +2596,37 @@ dependencies = [ "checksum rand_xorshift 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "77d416b86801d23dde1aa643023b775c3a462efc0ed96443add11546cdf1dca8" "checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2" "checksum redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)" = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84" -"checksum redox_users 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "09b23093265f8d200fa7b4c2c76297f47e681c655f6f1285a8780d6a022f7431" +"checksum redox_users 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ecedbca3bf205f8d8f5c2b44d83cd0690e39ee84b951ed649e9f1841132b66d" "checksum remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4a83fa3702a688b9359eccba92d153ac33fd2e8462f9e0e3fdf155239ea7792e" -"checksum ring 0.16.11 (registry+https://github.com/rust-lang/crates.io-index)" = "741ba1704ae21999c00942f9f5944f801e977f54302af346b596287599ad1862" +"checksum ring 0.16.12 (registry+https://github.com/rust-lang/crates.io-index)" = "1ba5a8ec64ee89a76c98c549af81ff14813df09c3e6dc4766c3856da48597a0c" "checksum ripemd160 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ad5112e0dbbb87577bfbc56c42450235e3012ce336e29c5befd7807bd626da4a" "checksum rle-decode-fast 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cabe4fa914dec5870285fa7f71f602645da47c486e68486d2b4ceb4a343e90ac" -"checksum rust-argon2 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2bc8af4bda8e1ff4932523b94d3dd20ee30a87232323eda55903ffd71d2fb017" +"checksum rust-argon2 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ca4eaef519b494d1f2848fc602d18816fed808a981aedf4f1f00ceb7c9d32cf" "checksum rust-embed 5.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b18893bdbdb0fa5bce588f5d7ab4afbd0678fc879d31535912bf39b7fbc062d6" "checksum rust-embed-impl 5.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "50633968284cfc373661345fc6382e62b738079f045738023ebc5e445cf44357" "checksum rust-embed-utils 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "97655158074ccb2d2cfb1ccb4c956ef0f4054e43a2c1e71146d4991e6961e105" "checksum rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783" "checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" -"checksum rustls 0.16.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b25a18b1bf7387f0145e7f8324e700805aade3842dd3db2e74e4cdeb4677c09e" -"checksum rustls-native-certs 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "51ffebdbb48c14f84eba0b715197d673aff1dd22cc1007ca647e28483bbcc307" +"checksum rustls 0.17.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c0d4a31f5d68413404705d6982529b0e11a9aacd4839d1d6222ee3b8cb4015e1" +"checksum rustls-native-certs 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a75ffeb84a6bd9d014713119542ce415db3a3e4748f0bfce1e1416cd224a23a5" "checksum ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bfa8506c1de11c9c4e4c38863ccbe02a305c8188e85a05a784c9e11e1c3910c8" -"checksum same-file 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +"checksum same-file 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "585e8ddcedc187886a30fa705c47985c3fa88d06624095856b36ca0b82ff4421" "checksum schannel 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "87f550b06b6cba9c8b8be3ee73f391990116bf527450d2556e9b9ce263b9a021" "checksum scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27" "checksum sct 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e3042af939fca8c3453b7af0f1c66e533a15a86169e39de2657310ade8f98d3c" "checksum secp256k1 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e0344a794ff109f85547039536028e12f313178ac1545e49fdf16a530d900a7b" -"checksum security-framework 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8ef2429d7cefe5fd28bd1d2ed41c944547d4ff84776f5935b456da44593a16df" -"checksum security-framework-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e31493fc37615debb8c5090a7aeb4a9730bc61e77ab10b9af59f1a202284f895" +"checksum security-framework 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "64808902d7d99f78eaddd2b4e2509713babc3dc3c85ad6f4c447680f3c01e535" +"checksum security-framework-sys 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "17bf11d99252f512695eb468de5516e5cf75455521e69dfe343f3b74e4748405" "checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" "checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" "checksum serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)" = "414115f25f818d7dfccec8ee535d76949ae78584fc4f79a6f45a904bf8ab4449" "checksum serde-value 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7a663f873dedc4eac1a559d4c6bc0d0b2c34dc5ac4702e105014b8281489e44f" "checksum serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)" = "128f9e303a5a29922045a830221b8f78ec74a5f544944f3d5984f8ec3895ef64" -"checksum serde_json 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)" = "21b01d7f0288608a01dca632cf1df859df6fd6ffa885300fc275ce2ba6221953" +"checksum serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)" = "48c575e0cc52bdd09b47f330f646cf59afc586e9c4e3ccd6fc1f625b8ea1dad7" "checksum serde_yaml 0.8.11 (registry+https://github.com/rust-lang/crates.io-index)" = "691b17f19fc1ec9d94ec0b5864859290dff279dbd7b03f017afda54eb36c3c35" -"checksum sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "27044adfd2e1f077f649f59deb9490d3941d674002f7d062870a60ebe9bd47a0" +"checksum sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b4d8bfd0e469f417657573d8451fb33d16cfe0989359b93baf3a1ffc639543d" "checksum signal-hook-registry 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94f478ede9f64724c5d173d7bb56099ec3e2d9fc2774aac65d34b8b890405f41" -"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=fb07cae93c706cce929beef98690109e5f2d7592)" = "" +"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=91c8d18d17aa5b67dc5dc8a5f8cfe4e323fdda30)" = "" "checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" "checksum smallvec 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "f7b0758c52e15a8b5e3691eae6cc559f08eee9406e548a4477ba4e67770a82b6" "checksum socket2 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "e8b74de517221a2cb01a53349cf54182acdc31a074727d3079068448c0676d85" @@ -2641,7 +2636,7 @@ dependencies = [ "checksum subtle 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee" "checksum subtle 2.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7c65d530b10ccaeac294f349038a597e435b18fb456aadd0840a623f83b9e941" "checksum syn 0.14.9 (registry+https://github.com/rust-lang/crates.io-index)" = "261ae9ecaa397c42b960649561949d69311f08eeaea86a65696e6e46517cf741" -"checksum syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)" = "af6f3550d8dff9ef7dc34d384ac6f107e5d31c8f57d9f28e0081503f547ac8f5" +"checksum syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)" = "dff0acdb207ae2fe6d5976617f887eb1e35a2ba52c13c7234c790960cdad9238" "checksum synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)" = "67656ea1dc1b41b1451851562ea232ec2e5a80242139f7e679ceccfb5d61f545" "checksum take_mut 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f764005d11ee5f36500a149ace24e00e3da98b0158b3e2d53a7495660d3f4d60" "checksum tar 0.4.26 (registry+https://github.com/rust-lang/crates.io-index)" = "b3196bfbffbba3e57481b6ea32249fbaf590396a52505a2615adbb79d9d826d3" @@ -2649,13 +2644,13 @@ dependencies = [ "checksum thread-id 3.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c7fbf4c9d56b320106cd64fd024dadfa0be7cb4706725fc44a7d7ce952d820c1" "checksum time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f" "checksum tiny-bip39 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c1c5676413eaeb1ea35300a0224416f57abc3bd251657e0fafc12c47ff98c060" -"checksum tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "8fdd17989496f49cdc57978c96f0c9fe5e4a58a8bddc6813c449a4624f6a030b" -"checksum tokio-macros 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "f4b1e7ed7d5d4c2af3d999904b0eebe76544897cdbfb2b9684bed2174ab20f7c" -"checksum tokio-rustls 0.12.2 (registry+https://github.com/rust-lang/crates.io-index)" = "141afec0978abae6573065a48882c6bae44c5cc61db9b511ac4abf6a09bfd9cc" -"checksum tokio-util 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "571da51182ec208780505a32528fc5512a8fe1443ab960b3f2f3ef093cd16930" -"checksum tonic 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "08283643b1d483eb7f3fc77069e63b5cba3e4db93514b3d45470e67f123e4e48" +"checksum tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)" = "d099fa27b9702bed751524694adbe393e18b36b204da91eb1cbbbbb4a5ee2d58" +"checksum tokio-macros 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f0c3acc6aa564495a0f2e1d59fab677cd7f81a19994cfc7f3ad0e64301560389" +"checksum tokio-rustls 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4adb8b3e5f86b707f1b54e7c15b6de52617a823608ccda98a15d3a24222f265a" +"checksum tokio-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "be8242891f2b6cbef26a2d7e8605133c2c554cd35b3e4948ea892d6d68436499" +"checksum tonic 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4afef9ce97ea39593992cf3fa00ff33b1ad5eb07665b31355df63a690e38c736" "checksum tonic-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0436413ba71545bcc6c2b9a0f9d78d72deb0123c6a75ccdfe7c056f9930f5e52" -"checksum tower 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fd3169017c090b7a28fce80abaad0ab4f5566423677c9331bb320af7e49cfe62" +"checksum tower 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4b299df54795e6f72bca45063b5803d1f9a1ba9b11a3c7c64d0b84519b451fdd" "checksum tower-balance 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a792277613b7052448851efcf98a2c433e6f1d01460832dc60bef676bc275d4c" "checksum tower-buffer 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c4887dc2a65d464c8b9b66e0e4d51c2fd6cf5b3373afc72805b0a60bce00446a" "checksum tower-discover 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0f6b5000c3c54d269cc695dff28136bb33d08cbf1df2c48129e143ab65bf3c2a" @@ -2669,10 +2664,10 @@ dependencies = [ "checksum tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e987b6bf443f4b5b3b6f38704195592cca41c5bb7aedd3c3693c7081f8289860" "checksum tower-timeout 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "127b8924b357be938823eaaec0608c482d40add25609481027b96198b2e4b31e" "checksum tower-util 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5702d7890e35b2aae6ee420e8a762547505dbed30c075fbc84ec069a0aa18314" -"checksum tracing 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "1e213bd24252abeb86a0b7060e02df677d367ce6cb772cef17e9214b8390a8d3" +"checksum tracing 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "6de6a8590a29d3f401eab60470c699efa0adf7b4f0352055bf24df2b69849b40" "checksum tracing-attributes 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "04cfd395def5a60236e187e1ff905cb55668a59f29928dec05e6e1b1fd2ac1f3" -"checksum tracing-core 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "13a46f11e372b8bd4b4398ea54353412fdd7fd42a8370c7e543e218cf7661978" -"checksum tracing-futures 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "33848db47a7c848ab48b66aab3293cb9c61ea879a3586ecfcd17302fcea0baf1" +"checksum tracing-core 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "d7fb511ac6ca1d031c5cfc26d8c38da9d88e91d2bd5b38b60cf8dc1b8b5c211f" +"checksum tracing-futures 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "107ae59580d2a1d994b6b965b16fe94c969fe86d3f7fd2572a1ee243bcaf7f09" "checksum traitobject 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "efd1f82c56340fdf16f2a953d7bda4f8fdffba13d93b00844c25572110b26079" "checksum try-lock 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e604eb7b43c06650e854be16a2a03155743d3752dd1c943f6829e26b7a36e382" "checksum typemap 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "653be63c80a3296da5551e1bfd2cca35227e13cdd08c6668903ae2f4f77aa1f6" @@ -2684,17 +2679,17 @@ dependencies = [ "checksum untrusted 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "60369ef7a31de49bcb3f6ca728d4ba7300d9a1658f94c727d4cab8c8d9f4aece" "checksum vcpkg 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3fc439f2794e98976c88a2a2dafce96b930fe8010b0a256b3c2199a773933168" "checksum version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd" -"checksum walkdir 2.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "777182bc735b6424e1a57516d35ed72cb8019d85c8c9bf536dccb3445c1a2f7d" +"checksum walkdir 2.2.9 (registry+https://github.com/rust-lang/crates.io-index)" = "9658c94fa8b940eab2250bd5a457f9c48b748420d71293b165c8cdbe2f55f71e" "checksum want 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" -"checksum wasi 0.9.0+wasi-snapshot-preview1 (registry+https://github.com/rust-lang/crates.io-index)" = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" -"checksum wasm-bindgen 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)" = "5205e9afdf42282b192e2310a5b463a6d1c1d774e30dc3c791ac37ab42d2616c" -"checksum wasm-bindgen-backend 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)" = "11cdb95816290b525b32587d76419facd99662a07e59d3cdb560488a819d9a45" -"checksum wasm-bindgen-macro 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)" = "574094772ce6921576fb6f2e3f7497b8a76273b6db092be18fc48a082de09dc3" -"checksum wasm-bindgen-macro-support 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)" = "e85031354f25eaebe78bb7db1c3d86140312a911a106b2e29f9cc440ce3e7668" -"checksum wasm-bindgen-shared 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)" = "f5e7e61fc929f4c0dddb748b102ebf9f632e2b8d739f2016542b4de2965a9601" -"checksum wasm-bindgen-webidl 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)" = "ef012a0d93fc0432df126a8eaf547b2dce25a8ce9212e1d3cbeef5c11157975d" -"checksum web-sys 0.3.35 (registry+https://github.com/rust-lang/crates.io-index)" = "aaf97caf6aa8c2b1dac90faf0db529d9d63c93846cca4911856f78a83cebf53b" -"checksum webpki 0.21.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f1f50e1972865d6b1adb54167d1c8ed48606004c2c9d0ea5f1eeb34d95e863ef" +"checksum wasi 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b89c3ce4ce14bdc6fb6beaf9ec7928ca331de5df7e5ea278375642a2f478570d" +"checksum wasm-bindgen 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)" = "99de4b68939a880d530aed51289a7c7baee154e3ea8ac234b542c49da7134aaf" +"checksum wasm-bindgen-backend 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)" = "b58e66a093a7b7571cb76409763c495b8741ac4319ac20acc2b798f6766d92ee" +"checksum wasm-bindgen-macro 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)" = "a80f89daea7b0a67b11f6e9f911422ed039de9963dce00048a653b63d51194bf" +"checksum wasm-bindgen-macro-support 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)" = "4f9dbc3734ad6cff6b76b75b7df98c06982becd0055f651465a08f769bca5c61" +"checksum wasm-bindgen-shared 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)" = "d907984f8506b3554eab48b8efff723e764ddbf76d4cd4a3fe4196bc00c49a70" +"checksum wasm-bindgen-webidl 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)" = "f85a3825a459cf6a929d03bacb54dca37a614d43032ad1343ef2d4822972947d" +"checksum web-sys 0.3.33 (registry+https://github.com/rust-lang/crates.io-index)" = "2fb60433d0dc12c803b9b017b3902d80c9451bab78d27bc3210bf2a7b96593f1" +"checksum webpki 0.21.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d7e664e770ac0110e2384769bcc59ed19e329d81f555916a6e072714957b81b4" "checksum webpki-roots 0.18.0 (registry+https://github.com/rust-lang/crates.io-index)" = "91cd5736df7f12a964a5067a12c62fa38e1bd8080aff1f80bc29be7c80d19ab4" "checksum weedle 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3bb43f70885151e629e2a19ce9e50bd730fd436cfd4b666894c9ce4de9141164" "checksum which 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5475d47078209a02e60614f7ba5e645ef3ed60f771920ac1906d7c1cc65024c8" @@ -2702,7 +2697,7 @@ dependencies = [ "checksum winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6" "checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" "checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" -"checksum winapi-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "4ccfbf554c6ad11084fb7517daca16cfdcaccbdadba4fc336f032a8b12c2ad80" +"checksum winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7168bab6e1daee33b4557efd0e95d5ca70a03706d39fa5f3fe7a236f584b03c9" "checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" "checksum ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e" "checksum xattr 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "244c3741f4240ef46274860397c7c74e50eb23624996930e484c16679633a54c" diff --git a/lib/Cargo.toml b/lib/Cargo.toml index 1d49baf..8bcf505 100644 --- a/lib/Cargo.toml +++ b/lib/Cargo.toml @@ -11,4 +11,4 @@ crate-type = ["staticlib"] [dependencies] libc = "0.2.58" lazy_static = "1.4.0" -silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "fb07cae93c706cce929beef98690109e5f2d7592" } +silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "91c8d18d17aa5b67dc5dc8a5f8cfe4e323fdda30" } From 385f864d9d6990d0a9fac01b720aef0d22a04439 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Mon, 25 May 2020 21:25:13 +0200 Subject: [PATCH 155/256] change orange color --- application.qrc | 1 + lib/Cargo.lock | 841 +++++++++++++++++++++-------------------- lib/Cargo.toml | 2 +- src/Model/ChatItem.cpp | 34 +- src/Model/ChatItem.h | 7 +- src/controller.cpp | 61 ++- src/controller.h | 5 +- src/mainwindow.ui | 3 + 8 files changed, 521 insertions(+), 433 deletions(-) diff --git a/application.qrc b/application.qrc index 2db3887..e2da53c 100644 --- a/application.qrc +++ b/application.qrc @@ -39,6 +39,7 @@ res/lock.svg res/lock.png res/lock_green.png + res/lock_orange.png res/unlocked.png res/getAddrWhite.png res/send-white.png diff --git a/lib/Cargo.lock b/lib/Cargo.lock index 3c95032..07f7981 100644 --- a/lib/Cargo.lock +++ b/lib/Cargo.lock @@ -56,7 +56,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "arrayref" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -66,31 +66,31 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "async-stream" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "async-stream-impl 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "async-stream-impl 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "async-stream-impl" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "async-trait" -version = "0.1.22" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -98,14 +98,19 @@ name = "autocfg" version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "autocfg" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "backtrace" -version = "0.3.40" +version = "0.3.43" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -114,8 +119,8 @@ name = "backtrace-sys" version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -138,7 +143,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "bech32" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -147,14 +152,14 @@ version = "0.1.0" source = "git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37#1a0204113d487cdaaf183c2967010e5214ff9e37" dependencies = [ "bit-vec 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", - "blake2s_simd 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)", + "blake2s_simd 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "crossbeam 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "ff 0.4.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", "futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", "group 0.1.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", - "num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)", + "num_cpus 1.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "pairing 0.14.2 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -171,22 +176,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "blake2b_simd" -version = "0.5.9" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "arrayref 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", - "constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "constant_time_eq 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "blake2s_simd" -version = "0.5.9" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "arrayref 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", - "constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "constant_time_eq 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -221,12 +226,12 @@ name = "bs58" version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "bumpalo" -version = "2.6.0" +version = "3.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -250,7 +255,7 @@ dependencies = [ [[package]] name = "bytes" -version = "0.5.3" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -263,7 +268,7 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.48" +version = "1.0.50" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -276,8 +281,8 @@ name = "chrono" version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", + "num-integer 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -291,21 +296,21 @@ dependencies = [ [[package]] name = "constant_time_eq" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "core-foundation" -version = "0.7.0" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "core-foundation-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "core-foundation-sys" -version = "0.7.0" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -323,9 +328,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "crossbeam-utils" -version = "0.6.6" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ + "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -375,14 +381,14 @@ version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_users 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "redox_users 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "dtoa" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -395,7 +401,7 @@ name = "failure" version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)", + "backtrace 0.3.43 (registry+https://github.com/rust-lang/crates.io-index)", "failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -404,9 +410,9 @@ name = "failure_derive" version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", "synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -430,9 +436,9 @@ name = "ff_derive" version = "0.3.0" source = "git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37#1a0204113d487cdaaf183c2967010e5214ff9e37" dependencies = [ - "num-bigint 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", + "num-bigint 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", + "num-integer 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", "syn 0.14.9 (registry+https://github.com/rust-lang/crates.io-index)", @@ -444,7 +450,7 @@ version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -461,8 +467,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", "crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", - "miniz_oxide 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "miniz_oxide 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -477,9 +483,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "aes 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "num-bigint 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", + "num-bigint 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", + "num-integer 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -508,15 +514,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "futures-channel" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "futures-core" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -525,26 +531,26 @@ version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)", + "num_cpus 1.12.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "futures-sink" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "futures-task" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "futures-util" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-task 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-task 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "pin-utils 0.1.0-alpha.4 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -558,12 +564,12 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.1.13" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", - "wasi 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "wasi 0.9.0+wasi-snapshot-preview1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -572,26 +578,26 @@ version = "0.1.0" source = "git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37#1a0204113d487cdaaf183c2967010e5214ff9e37" dependencies = [ "ff 0.4.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", - "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)", "rand_xorshift 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "h2" -version = "0.2.5" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-sink 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-sink 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-util 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "http 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "indexmap 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-util 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -613,10 +619,10 @@ dependencies = [ [[package]] name = "hermit-abi" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -638,9 +644,9 @@ name = "http" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", + "itoa 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -648,7 +654,7 @@ name = "http-body" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", "http 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -662,38 +668,38 @@ name = "humantime" version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "quick-error 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "hyper" -version = "0.13.5" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-channel 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "h2 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-channel 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-util 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "h2 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "http 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "http-body 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "httparse 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", + "itoa 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "want 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "indexmap" -version = "1.3.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", + "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -701,7 +707,7 @@ name = "iovec" version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -714,20 +720,20 @@ dependencies = [ [[package]] name = "itoa" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "js-sys" -version = "0.3.33" +version = "0.3.35" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "wasm-bindgen 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)", + "wasm-bindgen 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "json" -version = "0.12.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -746,7 +752,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "libc" -version = "0.2.70" +version = "0.2.66" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -765,8 +771,8 @@ name = "libsodium-sys" version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", "libflate 0.1.27 (registry+https://github.com/rust-lang/crates.io-index)", "pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)", "tar 0.4.26 (registry+https://github.com/rust-lang/crates.io-index)", @@ -811,13 +817,13 @@ dependencies = [ "flate2 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", "humantime 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "log-mdc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", "serde-value 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)", "serde_yaml 0.8.11 (registry+https://github.com/rust-lang/crates.io-index)", "thread-id 3.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "typemap 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -831,12 +837,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "memchr" -version = "2.2.1" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "miniz_oxide" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "adler32 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -852,7 +858,7 @@ dependencies = [ "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", @@ -877,7 +883,7 @@ version = "0.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", "mio 0.6.21 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -912,7 +918,7 @@ version = "0.2.33" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -921,44 +927,44 @@ name = "nom" version = "4.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "memchr 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "num-bigint" -version = "0.2.3" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", + "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "num-integer 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "num-integer" -version = "0.1.41" +version = "0.1.42" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", + "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "num-traits" -version = "0.2.10" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", + "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "num_cpus" -version = "1.11.1" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "hermit-abi 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "hermit-abi 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -984,7 +990,7 @@ name = "ordered-float" version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1012,7 +1018,7 @@ name = "parking_lot_core" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1030,7 +1036,7 @@ dependencies = [ [[package]] name = "percent-encoding" -version = "2.1.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -1039,30 +1045,30 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "fixedbitset 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "indexmap 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "pin-project" -version = "0.4.6" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "pin-project-internal 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project-internal 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "pin-project-internal" -version = "0.4.6" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "pin-project-lite" -version = "0.1.5" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -1090,7 +1096,7 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.12" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1101,7 +1107,7 @@ name = "prost" version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", "prost-derive 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1110,7 +1116,7 @@ name = "prost-build" version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "itertools 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1129,9 +1135,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "anyhow 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)", "itertools 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", - "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1139,30 +1145,30 @@ name = "prost-types" version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", "prost 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "protobuf" -version = "2.8.1" +version = "2.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "protobuf-codegen" -version = "2.8.1" +version = "2.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "protobuf 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)", + "protobuf 2.10.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "protobuf-codegen-pure" -version = "2.8.1" +version = "2.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "protobuf 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)", - "protobuf-codegen 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)", + "protobuf 2.10.1 (registry+https://github.com/rust-lang/crates.io-index)", + "protobuf-codegen 2.10.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1170,13 +1176,13 @@ name = "qtlib" version = "0.1.0" dependencies = [ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", - "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=91c8d18d17aa5b67dc5dc8a5f8cfe4e323fdda30)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=fb07cae93c706cce929beef98690109e5f2d7592)", ] [[package]] name = "quick-error" -version = "1.2.2" +version = "1.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -1192,7 +1198,7 @@ name = "quote" version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1201,7 +1207,7 @@ version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1215,11 +1221,11 @@ dependencies = [ [[package]] name = "rand" -version = "0.7.2" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", "rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1262,7 +1268,7 @@ name = "rand_core" version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", + "getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1294,7 +1300,7 @@ name = "rand_jitter" version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1306,7 +1312,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1317,7 +1323,7 @@ name = "rand_os" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", + "getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1369,13 +1375,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "redox_users" -version = "0.3.1" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", - "rust-argon2 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rust-argon2 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1388,15 +1393,15 @@ dependencies = [ [[package]] name = "ring" -version = "0.16.12" +version = "0.16.11" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", "spin 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", "untrusted 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "web-sys 0.3.33 (registry+https://github.com/rust-lang/crates.io-index)", + "web-sys 0.3.35 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1417,12 +1422,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "rust-argon2" -version = "0.5.1" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", - "blake2b_simd 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)", - "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", + "base64 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", + "blake2b_simd 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)", + "constant_time_eq 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1432,7 +1438,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "rust-embed-impl 5.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "rust-embed-utils 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "walkdir 2.2.9 (registry+https://github.com/rust-lang/crates.io-index)", + "walkdir 2.3.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1442,8 +1448,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "rust-embed-utils 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", - "walkdir 2.2.9 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", + "walkdir 2.3.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1451,7 +1457,7 @@ name = "rust-embed-utils" version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "walkdir 2.2.9 (registry+https://github.com/rust-lang/crates.io-index)", + "walkdir 2.3.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1469,25 +1475,25 @@ dependencies = [ [[package]] name = "rustls" -version = "0.17.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "base64 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", + "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "ring 0.16.12 (registry+https://github.com/rust-lang/crates.io-index)", + "ring 0.16.11 (registry+https://github.com/rust-lang/crates.io-index)", "sct 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", - "webpki 0.21.0 (registry+https://github.com/rust-lang/crates.io-index)", + "webpki 0.21.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "rustls-native-certs" -version = "0.3.0" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rustls 0.17.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rustls 0.16.0 (registry+https://github.com/rust-lang/crates.io-index)", "schannel 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", - "security-framework 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", + "security-framework 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1497,10 +1503,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "same-file" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1522,7 +1528,7 @@ name = "sct" version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "ring 0.16.12 (registry+https://github.com/rust-lang/crates.io-index)", + "ring 0.16.11 (registry+https://github.com/rust-lang/crates.io-index)", "untrusted 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1531,28 +1537,26 @@ name = "secp256k1" version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "security-framework" -version = "0.4.4" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "core-foundation 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "core-foundation-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", - "security-framework-sys 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "core-foundation 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", + "core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "security-framework-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "security-framework-sys" -version = "0.4.3" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "core-foundation-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1587,17 +1591,17 @@ name = "serde_derive" version = "1.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "serde_json" -version = "1.0.44" +version = "1.0.46" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", + "itoa 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", "ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1607,7 +1611,7 @@ name = "serde_yaml" version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "dtoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", + "dtoa 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", "linked-hash-map 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", "yaml-rust 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1615,7 +1619,7 @@ dependencies = [ [[package]] name = "sha2" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "block-buffer 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1630,13 +1634,13 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "arc-swap 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "silentdragonlitelib" version = "0.1.0" -source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=91c8d18d17aa5b67dc5dc8a5f8cfe4e323fdda30#91c8d18d17aa5b67dc5dc8a5f8cfe4e323fdda30" +source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=fb07cae93c706cce929beef98690109e5f2d7592#fb07cae93c706cce929beef98690109e5f2d7592" dependencies = [ "base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "bellman 0.1.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", @@ -1646,7 +1650,7 @@ dependencies = [ "ff 0.4.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "http 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "json 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", + "json 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "libflate 0.1.27 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1654,20 +1658,20 @@ dependencies = [ "pairing 0.14.2 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", "prost 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", "prost-types 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", - "protobuf 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", - "ring 0.16.12 (registry+https://github.com/rust-lang/crates.io-index)", + "protobuf 2.10.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)", + "ring 0.16.11 (registry+https://github.com/rust-lang/crates.io-index)", "ripemd160 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "rust-embed 5.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "secp256k1 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", "sodiumoxide 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", "tiny-bip39 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-rustls 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tonic 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-rustls 0.12.2 (registry+https://github.com/rust-lang/crates.io-index)", + "tonic 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "tonic-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "webpki 0.21.0 (registry+https://github.com/rust-lang/crates.io-index)", + "webpki 0.21.2 (registry+https://github.com/rust-lang/crates.io-index)", "webpki-roots 0.18.0 (registry+https://github.com/rust-lang/crates.io-index)", "zcash_client_backend 0.0.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", "zcash_primitives 0.0.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", @@ -1693,7 +1697,7 @@ version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1703,7 +1707,7 @@ name = "sodiumoxide" version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", "libsodium-sys 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1740,10 +1744,10 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.11" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1753,9 +1757,9 @@ name = "synstructure" version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1770,7 +1774,7 @@ version = "0.4.26" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "filetime 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", "xattr 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1781,8 +1785,8 @@ version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)", "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", "remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1793,7 +1797,7 @@ name = "thread-id" version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1803,7 +1807,7 @@ name = "time" version = "0.1.42" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1819,95 +1823,95 @@ dependencies = [ "once_cell 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", "pbkdf2 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "tokio" -version = "0.2.21" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", - "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "memchr 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "mio 0.6.21 (registry+https://github.com/rust-lang/crates.io-index)", "mio-named-pipes 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "mio-uds 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)", - "num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project-lite 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "num_cpus 1.12.0 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project-lite 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "signal-hook-registry 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-macros 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-macros 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "tokio-macros" -version = "0.2.5" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "tokio-rustls" -version = "0.13.0" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rustls 0.17.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", - "webpki 0.21.0 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "rustls 0.16.0 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "webpki 0.21.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "tokio-util" -version = "0.3.1" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-sink 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-sink 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project-lite 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project-lite 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "tonic" -version = "0.2.1" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "async-stream 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "async-trait 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)", - "base64 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", - "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "async-stream 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "async-trait 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)", + "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-util 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "http 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "http-body 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper 0.13.5 (registry+https://github.com/rust-lang/crates.io-index)", - "percent-encoding 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", + "hyper 0.13.2 (registry+https://github.com/rust-lang/crates.io-index)", + "percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "prost 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", "prost-derive 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rustls-native-certs 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-rustls 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "tower 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rustls-native-certs 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-rustls 0.12.2 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-util 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "tower 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "tower-balance 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-load 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-make 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tracing 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", - "tracing-futures 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "tracing 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", + "tracing-futures 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1915,18 +1919,18 @@ name = "tonic-build" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", "prost-build 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "tower" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "tower-buffer 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-discover 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-layer 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1943,20 +1947,20 @@ name = "tower-balance" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-util 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "indexmap 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)", "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", "tower-discover 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-layer 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-load 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-make 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-ready-cache 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tracing 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", + "tracing 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1964,12 +1968,12 @@ name = "tower-buffer" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", "tower-layer 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tracing 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", + "tracing 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1977,8 +1981,8 @@ name = "tower-discover" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1992,9 +1996,9 @@ name = "tower-limit" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", "tower-layer 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2004,10 +2008,10 @@ name = "tower-load" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", "tower-discover 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2017,8 +2021,8 @@ name = "tower-load-shed" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "tower-layer 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2028,7 +2032,7 @@ name = "tower-make" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2037,11 +2041,11 @@ name = "tower-ready-cache" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-util 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "indexmap 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2050,9 +2054,9 @@ name = "tower-retry" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", "tower-layer 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2067,8 +2071,8 @@ name = "tower-timeout" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", "tower-layer 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2078,21 +2082,21 @@ name = "tower-util" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-util 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "tracing" -version = "0.1.11" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "tracing-attributes 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "tracing-core 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", + "tracing-core 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2101,12 +2105,12 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "tracing-core" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2114,11 +2118,11 @@ dependencies = [ [[package]] name = "tracing-futures" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "tracing 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "tracing 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2184,12 +2188,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "walkdir" -version = "2.2.9" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "same-file 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", + "same-file 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2203,91 +2207,91 @@ dependencies = [ [[package]] name = "wasi" -version = "0.7.0" +version = "0.9.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "wasm-bindgen" -version = "0.2.56" +version = "0.2.58" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-macro 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)", + "wasm-bindgen-macro 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.56" +version = "0.2.58" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bumpalo 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bumpalo 3.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-shared 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", + "wasm-bindgen-shared 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.56" +version = "0.2.58" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-macro-support 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)", + "wasm-bindgen-macro-support 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.56" +version = "0.2.58" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-backend 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-shared 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", + "wasm-bindgen-backend 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", + "wasm-bindgen-shared 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.56" +version = "0.2.58" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "wasm-bindgen-webidl" -version = "0.2.56" +version = "0.2.58" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "anyhow 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)", "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-backend 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", + "wasm-bindgen-backend 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", "weedle 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "web-sys" -version = "0.3.33" +version = "0.3.35" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "anyhow 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)", - "js-sys 0.3.33 (registry+https://github.com/rust-lang/crates.io-index)", + "js-sys 0.3.35 (registry+https://github.com/rust-lang/crates.io-index)", "sourcefile 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-webidl 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)", + "wasm-bindgen 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", + "wasm-bindgen-webidl 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "webpki" -version = "0.21.0" +version = "0.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "ring 0.16.12 (registry+https://github.com/rust-lang/crates.io-index)", + "ring 0.16.11 (registry+https://github.com/rust-lang/crates.io-index)", "untrusted 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2296,7 +2300,7 @@ name = "webpki-roots" version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "webpki 0.21.0 (registry+https://github.com/rust-lang/crates.io-index)", + "webpki 0.21.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2312,7 +2316,7 @@ name = "which" version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2341,7 +2345,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "winapi-util" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2366,7 +2370,7 @@ name = "xattr" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2382,13 +2386,13 @@ name = "zcash_client_backend" version = "0.0.0" source = "git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37#1a0204113d487cdaaf183c2967010e5214ff9e37" dependencies = [ - "bech32 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", + "bech32 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", "bs58 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", "ff 0.4.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "pairing 0.14.2 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", - "protobuf 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)", - "protobuf-codegen-pure 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)", + "protobuf 2.10.1 (registry+https://github.com/rust-lang/crates.io-index)", + "protobuf-codegen-pure 2.10.1 (registry+https://github.com/rust-lang/crates.io-index)", "subtle 2.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "zcash_primitives 0.0.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", ] @@ -2399,8 +2403,8 @@ version = "0.0.0" source = "git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37#1a0204113d487cdaaf183c2967010e5214ff9e37" dependencies = [ "aes 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "blake2b_simd 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)", - "blake2s_simd 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)", + "blake2b_simd 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)", + "blake2s_simd 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "crypto_api_chachapoly 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "ff 0.4.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", @@ -2408,12 +2412,12 @@ dependencies = [ "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "pairing 0.14.2 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", - "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)", "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "rand_os 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "ripemd160 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "secp256k1 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2422,7 +2426,7 @@ version = "0.0.0" source = "git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37#1a0204113d487cdaaf183c2967010e5214ff9e37" dependencies = [ "bellman 0.1.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", - "blake2b_simd 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)", + "blake2b_simd 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "ff 0.4.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", "pairing 0.14.2 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", @@ -2439,50 +2443,51 @@ dependencies = [ "checksum anyhow 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)" = "7825f6833612eb2414095684fcf6c635becf3ce97fe48cf6421321e93bfbd53c" "checksum arc-swap 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "bc4662175ead9cd84451d5c35070517777949a2ed84551764129cedb88384841" "checksum arc-swap 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "d7b8a9123b8027467bce0099fe556c628a53c8d83df0507084c31e9ba2e39aff" -"checksum arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0d382e583f07208808f6b1249e60848879ba3543f57c32277bf52d69c2f0f0ee" +"checksum arrayref 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" "checksum arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8" -"checksum async-stream 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "58982858be7540a465c790b95aaea6710e5139bf8956b1d1344d014fa40100b0" -"checksum async-stream-impl 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "393356ed99aa7bff0ac486dde592633b83ab02bd254d8c209d5b9f1d0f533480" -"checksum async-trait 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)" = "c8df72488e87761e772f14ae0c2480396810e51b2c2ade912f97f0f7e5b95e3c" +"checksum async-stream 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "22068c0c19514942eefcfd4daf8976ef1aad84e61539f95cd200c35202f80af5" +"checksum async-stream-impl 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "25f9db3b38af870bf7e5cc649167533b493928e50744e2c30ae350230b414670" +"checksum async-trait 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)" = "750b1c38a1dfadd108da0f01c08f4cdc7ff1bb39b325f9c82cc972361780a6e1" "checksum autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2" -"checksum backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)" = "924c76597f0d9ca25d762c25a4d369d51267536465dc5064bdf0eb073ed477ea" +"checksum autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f8aac770f1885fd7e387acedd76065302551364496e46b3dd00860b2f8359b9d" +"checksum backtrace 0.3.43 (registry+https://github.com/rust-lang/crates.io-index)" = "7f80256bc78f67e7df7e36d77366f636ed976895d91fe2ab9efa3973e8fe8c4f" "checksum backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6575f128516de27e3ce99689419835fce9643a9b215a14d2b5b685be018491" "checksum base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5024ee8015f02155eee35c711107ddd9a9bf3cb689cf2a9089c97e79b6e1ae83" "checksum base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e" "checksum base64 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7" -"checksum bech32 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9e0089c35ab7c6f2bc55ab23f769913f0ac65b1023e7e74638a1f43128dd5df2" +"checksum bech32 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "cdcf67bb7ba7797a081cd19009948ab533af7c355d5caf1d08c777582d351e9c" "checksum bellman 0.1.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)" = "" "checksum bit-vec 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "02b4ff8b16e6076c3e14220b39fbc1fabb6737522281a388998046859400895f" "checksum bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" -"checksum blake2b_simd 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)" = "b83b7baab1e671718d78204225800d6b170e648188ac7dc992e9d6bddf87d0c0" -"checksum blake2s_simd 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)" = "050efd7a5bdb220988d4c5204f84ab796e778612af94275f1d39479798b39cf9" +"checksum blake2b_simd 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)" = "d8fb2d74254a3a0b5cac33ac9f8ed0e44aa50378d9dbb2e5d83bd21ed1dc2c8a" +"checksum blake2s_simd 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)" = "ab9e07352b829279624ceb7c64adb4f585dacdb81d35cafae81139ccd617cf44" "checksum block-buffer 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" "checksum block-cipher-trait 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1c924d49bd09e7c06003acda26cd9742e796e34282ec6c1189404dee0c1f4774" "checksum block-padding 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5" "checksum bs58 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "c95ee6bba9d950218b6cc910cf62bc9e0a171d0f4537e3627b0f54d08549b188" -"checksum bumpalo 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ad807f2fc2bf185eeb98ff3a901bd46dc5ad58163d0fa4577ba0d25674d71708" +"checksum bumpalo 3.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5fb8038c1ddc0a5f73787b130f4cc75151e96ed33e417fde765eb5a81e3532f4" "checksum byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" "checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5" "checksum bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)" = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c" -"checksum bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "10004c15deb332055f7a4a208190aed362cf9a7c2f6ab70a305fba50e1105f38" +"checksum bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)" = "130aac562c0dd69c56b3b1cc8ffd2e17be31d0b6c25b61c96b76231aa23e39e1" "checksum c2-chacha 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "214238caa1bf3a496ec3392968969cab8549f96ff30652c9e56885329315f6bb" -"checksum cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)" = "f52a465a666ca3d838ebbf08b241383421412fe7ebb463527bba275526d89f76" +"checksum cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)" = "95e28fa049fda1c330bcf9d723be7663a899c4679724b34c81e9f5a326aab8cd" "checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" "checksum chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "31850b4a4d6bae316f7a09e691c944c28299298837edc0a03f755618c23cbc01" "checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" -"checksum constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "995a44c877f9212528ccc74b21a232f66ad69001e40ede5bcee2ac9ef2657120" -"checksum core-foundation 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "57d24c7a13c43e870e37c1556b74555437870a04514f7685f5b354e090567171" -"checksum core-foundation-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac" +"checksum constant_time_eq 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" +"checksum core-foundation 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "25b9e03f145fd4f2bf705e07b900cd41fc636598fe5dc452fd0db1441c3f496d" +"checksum core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e7ca8a5221364ef15ce201e8ed2f609fc312682a8f4e0e3d4aa5879764e0fa3b" "checksum crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ba125de2af0df55319f41944744ad91c71113bf74a4646efff39afe1f6842db1" "checksum crossbeam 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "24ce9782d4d5c53674646a6a4c1863a21a8fc0cb649b3c94dfc16e45071dea19" -"checksum crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6" +"checksum crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ce446db02cdc3165b94ae73111e570793400d0794e46125cc4056c81cbb039f4" "checksum crypto-mac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5" "checksum crypto_api 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2f855e87e75a4799e18b8529178adcde6fd4f97c1449ff4821e747ff728bb102" "checksum crypto_api_chachapoly 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "95b2ad7cab08fd71addba81df5077c49df208effdfb3118a1519f9cdeac5aaf2" "checksum digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5" "checksum dirs 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "13aea89a5c93364a98e9b37b2fa237effbb694d5cfe01c5b70941f7eb087d5e3" "checksum dirs-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "afa0b23de8fd801745c471deffa6e12d248f962c9fd4b4c33787b055599bde7b" -"checksum dtoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "ea57b42383d091c85abcc2706240b94ab2a8fa1fc81c10ff23c4de06e2a90b5e" +"checksum dtoa 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "4358a9e11b9a09cf52383b451b49a169e8d797b68aa02301ff586d70d9661ea3" "checksum either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "bb1f6b1ce1c140482ea30ddd3335fc0024ac7ee112895426e0a629a6c20adfe3" "checksum failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "f8273f13c977665c5db7eb2b99ae520952fe5ac831ae4cd09d80c4c7042b5ed9" "checksum failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0bc225b78e0391e4b8683440bf2e63c2deeeb2ce5189eab46e2b68c6d3725d08" @@ -2498,35 +2503,35 @@ dependencies = [ "checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" "checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" "checksum futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)" = "1b980f2816d6ee8673b6517b52cb0e808a180efc92e5c19d02cdda79066703ef" -"checksum futures-channel 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fcae98ca17d102fd8a3603727b9259fcf7fa4239b603d2142926189bc8999b86" -"checksum futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "79564c427afefab1dfb3298535b21eda083ef7935b4f0ecbfcb121f0aec10866" +"checksum futures-channel 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c92c2137e8e1ebf1ac99453550ab46eb4f35c5c53476d57d75eb782fb4d71e84" +"checksum futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "ccfb301b0b09e940a67376cf40d1b0ac4db9366ee737f65c02edea225057e91e" "checksum futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "ab90cde24b3319636588d0c35fe03b1333857621051837ed769faefb4c2162e4" -"checksum futures-sink 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "171be33efae63c2d59e6dbba34186fe0d6394fb378069a76dfd80fdcffd43c16" -"checksum futures-task 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0bae52d6b29cf440e298856fec3965ee6fa71b06aa7495178615953fd669e5f9" -"checksum futures-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c0d66274fb76985d3c62c886d1da7ac4c0903a8c9f754e8fe0f35a6a6cc39e76" +"checksum futures-sink 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "0485279d763e8a3669358f500e805339138b7bbe90f5718c80eedfdcb2ea36a4" +"checksum futures-task 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "cefffab2aacc73845afd3f202e09fc775a55e2e96f46c8b1a46c117ae1c126ca" +"checksum futures-util 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2c3f8c59707f898b8b6f0b54c2aef5408ae90a560b7bf0fbf1b95b3c652b0171" "checksum generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c68f0274ae0e023facc3c97b2e00f076be70e254bc851d972503b328db79b2ec" -"checksum getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "e7db7ca94ed4cd01190ceee0d8a8052f08a247aa1b469a7f68c6a3b71afcf407" +"checksum getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "7abc8dd8451921606d809ba32e95b6111925cd2906060d2dcc29c070220503eb" "checksum group 0.1.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)" = "" -"checksum h2 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "79b7246d7e4b979c03fa093da39cfb3617a96bbeee6310af63991668d7e843ff" +"checksum h2 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b9433d71e471c1736fd5a61b671fc0b148d7a2992f666c958d03cd8feb3b88d1" "checksum hashbrown 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3bae29b6653b3412c2e71e9d486db9f9df5d701941d86683005efb9f2d28e3da" "checksum heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205" -"checksum hermit-abi 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f629dc602392d3ec14bfc8a09b5e644d7ffd725102b48b81e59f90f2633621d7" +"checksum hermit-abi 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "eff2656d88f158ce120947499e971d743c05dbcbed62e5bd2f38f1698bbc3772" "checksum hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77" "checksum hmac 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5dcb5e64cda4c23119ab41ba960d1e170a774c8e4b9d9e6a9bc18aabf5e59695" "checksum http 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b708cc7f06493459026f53b9a61a7a121a5d1ec6238dee58ea4941132b30156b" "checksum http-body 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "13d5ff830006f7646652e057693569bfe0d51760c0085a071769d142a205111b" "checksum httparse 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "cd179ae861f0c2e53da70d892f5f3029f9594be0c41dc5269cd371691b1dc2f9" "checksum humantime 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f" -"checksum hyper 0.13.5 (registry+https://github.com/rust-lang/crates.io-index)" = "96816e1d921eca64d208a85aab4f7798455a8e34229ee5a88c935bdee1b78b14" -"checksum indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712d7b3ea5827fcb9d4fda14bf4da5f136f0db2ae9c8f4bd4e2d1c6fde4e6db2" +"checksum hyper 0.13.2 (registry+https://github.com/rust-lang/crates.io-index)" = "fa1c527bbc634be72aa7ba31e4e4def9bbb020f5416916279b7c705cd838893e" +"checksum indexmap 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b54058f0a6ff80b6803da8faf8997cde53872b38f4023728f6830b06cd3c0dc" "checksum iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e" "checksum itertools 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f56a2d0bc861f9165be4eb3442afd3c236d8a98afd426f65d92324ae1091a484" -"checksum itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "501266b7edd0174f8530248f87f99c88fbe60ca4ef3dd486835b8d8d53136f7f" -"checksum js-sys 0.3.33 (registry+https://github.com/rust-lang/crates.io-index)" = "367647c532db6f1555d7151e619540ec5f713328235b8c062c6b4f63e84adfe3" -"checksum json 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b3ca41abbeb7615d56322a984e63be5e5d0a117dfaca86c14393e32a762ccac1" +"checksum itoa 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "b8b7a7c0c47db5545ed3fef7468ee7bb5b74691498139e4b3f6a20685dc6dd8e" +"checksum js-sys 0.3.35 (registry+https://github.com/rust-lang/crates.io-index)" = "7889c7c36282151f6bf465be4700359318aef36baa951462382eae49e9577cf9" +"checksum json 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9a38661a28126f8621fb246611288ae28935ddf180f5e21f2d0fbfe5e4131dbe" "checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" "checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" -"checksum libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)" = "3baa92041a6fec78c687fa0cc2b3fae8884f743d672cf551bed1d6dac6988d0f" +"checksum libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)" = "d515b1f41455adea1313a4a2ac8a8a477634fbae63cc6100e3aebb207ce61558" "checksum libflate 0.1.27 (registry+https://github.com/rust-lang/crates.io-index)" = "d9135df43b1f5d0e333385cb6e7897ecd1a43d7d11b91ac003f4d2c2d2401fdd" "checksum libsodium-sys 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "1c344ff12b90ef8fa1f0fffacd348c1fd041db331841fec9eab23fdb991f5e73" "checksum linked-hash-map 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "ae91b68aebc4ddb91978b11a1b02ddd8602a05ec19002801c5666000e05e0f83" @@ -2535,8 +2540,8 @@ dependencies = [ "checksum log-mdc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a94d21414c1f4a51209ad204c1776a3d0765002c76c6abcb602a6f09f1e881c7" "checksum log4rs 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)" = "100052474df98158c0738a7d3f4249c99978490178b5f9f68cd835ac57adbd1b" "checksum maybe-uninit 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" -"checksum memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e" -"checksum miniz_oxide 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6f3f74f726ae935c3f514300cc6773a0c9492abc5e972d42ba0c0ebb88757625" +"checksum memchr 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3197e20c7edb283f87c071ddfc7a2cca8f8e0b888c242959846a6fce03c72223" +"checksum miniz_oxide 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "aa679ff6578b1cddee93d7e82e263b94a575e0bfced07284eb0c037c1d2416a5" "checksum mio 0.6.21 (registry+https://github.com/rust-lang/crates.io-index)" = "302dec22bcf6bae6dfb69c647187f4b4d0fb6f535521f7bc022430ce8e12008f" "checksum mio-named-pipes 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "f5e374eff525ce1c5b7687c4cef63943e7686524a387933ad27ca7ec43779cb3" "checksum mio-uds 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)" = "966257a94e196b11bb43aca423754d87429960a768de9414f3691d6957abf125" @@ -2545,10 +2550,10 @@ dependencies = [ "checksum multimap 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a97fbd5d00e0e37bfb10f433af8f5aaf631e739368dc9fc28286ca81ca4948dc" "checksum net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)" = "42550d9fb7b6684a6d404d9fa7250c2eb2646df731d1c06afc06dcee9e1bcf88" "checksum nom 4.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2ad2a91a8e869eeb30b9cb3119ae87773a8f4ae617f41b1eb9c154b2905f7bd6" -"checksum num-bigint 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "f9c3f34cdd24f334cb265d9bf8bfa8a241920d026916785747a92f0e55541a1a" -"checksum num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)" = "b85e541ef8255f6cf42bbfe4ef361305c6c135d10919ecc26126c4e5ae94bc09" -"checksum num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)" = "d4c81ffc11c212fa327657cb19dd85eb7419e163b5b076bede2bdb5c974c07e4" -"checksum num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)" = "76dac5ed2a876980778b8b85f75a71b6cbf0db0b1232ee12f826bccb00d09d72" +"checksum num-bigint 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304" +"checksum num-integer 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "3f6ea62e9d81a77cd3ee9a2a5b9b609447857f3d358704331e4ef39eb247fcba" +"checksum num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "c62be47e61d1842b9170f0fdeec8eba98e60e90e5446449a0545e5152acd7096" +"checksum num_cpus 1.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "46203554f085ff89c235cd12f7075f3233af9b11ed7c9e16dfe2560d03313ce6" "checksum once_cell 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "532c29a261168a45ce28948f9537ddd7a5dd272cc513b3017b1e82a88f962c37" "checksum opaque-debug 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" "checksum openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de" @@ -2557,28 +2562,28 @@ dependencies = [ "checksum parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ab41b4aed082705d1056416ae4468b6ea99d52599ecf3169b00088d43113e337" "checksum parking_lot_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94c8c7923936b28d546dfd14d4472eaf34c99b14e1c973a32b3e6d4eb04298c9" "checksum pbkdf2 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "006c038a43a45995a9670da19e67600114740e8511d4333bf97a56e66a7542d9" -"checksum percent-encoding 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" +"checksum percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831" "checksum petgraph 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "29c127eea4a29ec6c85d153c59dc1213f33ec74cead30fe4730aecc88cc1fd92" -"checksum pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "94b90146c7216e4cb534069fb91366de4ea0ea353105ee45ed297e2d1619e469" -"checksum pin-project-internal 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "44ca92f893f0656d3cba8158dd0f2b99b94de256a4a54e870bd6922fcc6c8355" -"checksum pin-project-lite 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f7505eeebd78492e0f6108f7171c4948dbb120ee8119d9d77d0afa5469bef67f" +"checksum pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7804a463a8d9572f13453c516a5faea534a2403d7ced2f0c7e100eeff072772c" +"checksum pin-project-internal 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "385322a45f2ecf3410c68d2a549a4a2685e8051d0f278e39743ff4e451cb9b3f" +"checksum pin-project-lite 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "237844750cfbb86f67afe27eee600dfbbcb6188d734139b534cbfbf4f96792ae" "checksum pin-utils 0.1.0-alpha.4 (registry+https://github.com/rust-lang/crates.io-index)" = "5894c618ce612a3fa23881b152b608bafb8c56cfc22f434a3ba3120b40f7b587" "checksum pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)" = "05da548ad6865900e60eaba7f589cc0783590a92e940c26953ff81ddbab2d677" "checksum ppv-lite86 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "74490b50b9fbe561ac330df47c08f3f33073d2d00c150f719147d7c54522fa1b" "checksum proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)" = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759" -"checksum proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)" = "8872cf6f48eee44265156c111456a700ab3483686b3f96df4cf5481c89157319" +"checksum proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3acb317c6ff86a4e579dfa00fc5e6cca91ecbb4e7eb2df0468805b674eb88548" "checksum prost 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ce49aefe0a6144a45de32927c77bd2859a5f7677b55f220ae5b744e87389c212" "checksum prost-build 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "02b10678c913ecbd69350e8535c3aef91a8676c0773fc1d7b95cdd196d7f2f26" "checksum prost-derive 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "537aa19b95acde10a12fec4301466386f757403de4cd4e5b4fa78fb5ecb18f72" "checksum prost-types 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1834f67c0697c001304b75be76f67add9c89742eda3a085ad8ee0bb38c3417aa" -"checksum protobuf 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "40361836defdd5871ff7e84096c6f6444af7fc157f8ef1789f54f147687caa20" -"checksum protobuf-codegen 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "12c6abd78435445fc86898ebbd0521a68438063d4a73e23527b7134e6bf58b4a" -"checksum protobuf-codegen-pure 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c1646acda5319f5b28b0bff4a484324df43ddae2c0f5a3f3e63c0b26095cd600" -"checksum quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0" +"checksum protobuf 2.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6686ddd96a8dbe2687b5f2a687b2cfb520854010ec480f2d74c32e7c9873d3c5" +"checksum protobuf-codegen 2.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6456421eecf7fc72905868cd760c3e35848ded3552e480cfe67726ed4dbd8d23" +"checksum protobuf-codegen-pure 2.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4a7cb42d5ab6073333be90208ab5ea6ab41c8f6803b35fd773a7572624cc15c9" +"checksum quick-error 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" "checksum quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1" "checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe" "checksum rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca" -"checksum rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "3ae1b169243eaf61759b8475a998f0a385e42042370f3a7dbaf35246eacc8412" +"checksum rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" "checksum rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef" "checksum rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "03a2a90da8c7523f554344f921aa97283eadf6ac484a6d2a7d0212fa7f8d6853" "checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b" @@ -2596,37 +2601,37 @@ dependencies = [ "checksum rand_xorshift 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "77d416b86801d23dde1aa643023b775c3a462efc0ed96443add11546cdf1dca8" "checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2" "checksum redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)" = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84" -"checksum redox_users 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ecedbca3bf205f8d8f5c2b44d83cd0690e39ee84b951ed649e9f1841132b66d" +"checksum redox_users 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "09b23093265f8d200fa7b4c2c76297f47e681c655f6f1285a8780d6a022f7431" "checksum remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4a83fa3702a688b9359eccba92d153ac33fd2e8462f9e0e3fdf155239ea7792e" -"checksum ring 0.16.12 (registry+https://github.com/rust-lang/crates.io-index)" = "1ba5a8ec64ee89a76c98c549af81ff14813df09c3e6dc4766c3856da48597a0c" +"checksum ring 0.16.11 (registry+https://github.com/rust-lang/crates.io-index)" = "741ba1704ae21999c00942f9f5944f801e977f54302af346b596287599ad1862" "checksum ripemd160 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ad5112e0dbbb87577bfbc56c42450235e3012ce336e29c5befd7807bd626da4a" "checksum rle-decode-fast 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cabe4fa914dec5870285fa7f71f602645da47c486e68486d2b4ceb4a343e90ac" -"checksum rust-argon2 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ca4eaef519b494d1f2848fc602d18816fed808a981aedf4f1f00ceb7c9d32cf" +"checksum rust-argon2 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2bc8af4bda8e1ff4932523b94d3dd20ee30a87232323eda55903ffd71d2fb017" "checksum rust-embed 5.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b18893bdbdb0fa5bce588f5d7ab4afbd0678fc879d31535912bf39b7fbc062d6" "checksum rust-embed-impl 5.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "50633968284cfc373661345fc6382e62b738079f045738023ebc5e445cf44357" "checksum rust-embed-utils 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "97655158074ccb2d2cfb1ccb4c956ef0f4054e43a2c1e71146d4991e6961e105" "checksum rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783" "checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" -"checksum rustls 0.17.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c0d4a31f5d68413404705d6982529b0e11a9aacd4839d1d6222ee3b8cb4015e1" -"checksum rustls-native-certs 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a75ffeb84a6bd9d014713119542ce415db3a3e4748f0bfce1e1416cd224a23a5" +"checksum rustls 0.16.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b25a18b1bf7387f0145e7f8324e700805aade3842dd3db2e74e4cdeb4677c09e" +"checksum rustls-native-certs 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "51ffebdbb48c14f84eba0b715197d673aff1dd22cc1007ca647e28483bbcc307" "checksum ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bfa8506c1de11c9c4e4c38863ccbe02a305c8188e85a05a784c9e11e1c3910c8" -"checksum same-file 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "585e8ddcedc187886a30fa705c47985c3fa88d06624095856b36ca0b82ff4421" +"checksum same-file 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" "checksum schannel 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "87f550b06b6cba9c8b8be3ee73f391990116bf527450d2556e9b9ce263b9a021" "checksum scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27" "checksum sct 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e3042af939fca8c3453b7af0f1c66e533a15a86169e39de2657310ade8f98d3c" "checksum secp256k1 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e0344a794ff109f85547039536028e12f313178ac1545e49fdf16a530d900a7b" -"checksum security-framework 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "64808902d7d99f78eaddd2b4e2509713babc3dc3c85ad6f4c447680f3c01e535" -"checksum security-framework-sys 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "17bf11d99252f512695eb468de5516e5cf75455521e69dfe343f3b74e4748405" +"checksum security-framework 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8ef2429d7cefe5fd28bd1d2ed41c944547d4ff84776f5935b456da44593a16df" +"checksum security-framework-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e31493fc37615debb8c5090a7aeb4a9730bc61e77ab10b9af59f1a202284f895" "checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" "checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" "checksum serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)" = "414115f25f818d7dfccec8ee535d76949ae78584fc4f79a6f45a904bf8ab4449" "checksum serde-value 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7a663f873dedc4eac1a559d4c6bc0d0b2c34dc5ac4702e105014b8281489e44f" "checksum serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)" = "128f9e303a5a29922045a830221b8f78ec74a5f544944f3d5984f8ec3895ef64" -"checksum serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)" = "48c575e0cc52bdd09b47f330f646cf59afc586e9c4e3ccd6fc1f625b8ea1dad7" +"checksum serde_json 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)" = "21b01d7f0288608a01dca632cf1df859df6fd6ffa885300fc275ce2ba6221953" "checksum serde_yaml 0.8.11 (registry+https://github.com/rust-lang/crates.io-index)" = "691b17f19fc1ec9d94ec0b5864859290dff279dbd7b03f017afda54eb36c3c35" -"checksum sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b4d8bfd0e469f417657573d8451fb33d16cfe0989359b93baf3a1ffc639543d" +"checksum sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "27044adfd2e1f077f649f59deb9490d3941d674002f7d062870a60ebe9bd47a0" "checksum signal-hook-registry 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94f478ede9f64724c5d173d7bb56099ec3e2d9fc2774aac65d34b8b890405f41" -"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=91c8d18d17aa5b67dc5dc8a5f8cfe4e323fdda30)" = "" +"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=fb07cae93c706cce929beef98690109e5f2d7592)" = "" "checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" "checksum smallvec 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "f7b0758c52e15a8b5e3691eae6cc559f08eee9406e548a4477ba4e67770a82b6" "checksum socket2 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "e8b74de517221a2cb01a53349cf54182acdc31a074727d3079068448c0676d85" @@ -2636,7 +2641,7 @@ dependencies = [ "checksum subtle 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee" "checksum subtle 2.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7c65d530b10ccaeac294f349038a597e435b18fb456aadd0840a623f83b9e941" "checksum syn 0.14.9 (registry+https://github.com/rust-lang/crates.io-index)" = "261ae9ecaa397c42b960649561949d69311f08eeaea86a65696e6e46517cf741" -"checksum syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)" = "dff0acdb207ae2fe6d5976617f887eb1e35a2ba52c13c7234c790960cdad9238" +"checksum syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)" = "af6f3550d8dff9ef7dc34d384ac6f107e5d31c8f57d9f28e0081503f547ac8f5" "checksum synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)" = "67656ea1dc1b41b1451851562ea232ec2e5a80242139f7e679ceccfb5d61f545" "checksum take_mut 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f764005d11ee5f36500a149ace24e00e3da98b0158b3e2d53a7495660d3f4d60" "checksum tar 0.4.26 (registry+https://github.com/rust-lang/crates.io-index)" = "b3196bfbffbba3e57481b6ea32249fbaf590396a52505a2615adbb79d9d826d3" @@ -2644,13 +2649,13 @@ dependencies = [ "checksum thread-id 3.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c7fbf4c9d56b320106cd64fd024dadfa0be7cb4706725fc44a7d7ce952d820c1" "checksum time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f" "checksum tiny-bip39 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c1c5676413eaeb1ea35300a0224416f57abc3bd251657e0fafc12c47ff98c060" -"checksum tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)" = "d099fa27b9702bed751524694adbe393e18b36b204da91eb1cbbbbb4a5ee2d58" -"checksum tokio-macros 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f0c3acc6aa564495a0f2e1d59fab677cd7f81a19994cfc7f3ad0e64301560389" -"checksum tokio-rustls 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4adb8b3e5f86b707f1b54e7c15b6de52617a823608ccda98a15d3a24222f265a" -"checksum tokio-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "be8242891f2b6cbef26a2d7e8605133c2c554cd35b3e4948ea892d6d68436499" -"checksum tonic 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4afef9ce97ea39593992cf3fa00ff33b1ad5eb07665b31355df63a690e38c736" +"checksum tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "8fdd17989496f49cdc57978c96f0c9fe5e4a58a8bddc6813c449a4624f6a030b" +"checksum tokio-macros 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "f4b1e7ed7d5d4c2af3d999904b0eebe76544897cdbfb2b9684bed2174ab20f7c" +"checksum tokio-rustls 0.12.2 (registry+https://github.com/rust-lang/crates.io-index)" = "141afec0978abae6573065a48882c6bae44c5cc61db9b511ac4abf6a09bfd9cc" +"checksum tokio-util 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "571da51182ec208780505a32528fc5512a8fe1443ab960b3f2f3ef093cd16930" +"checksum tonic 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "08283643b1d483eb7f3fc77069e63b5cba3e4db93514b3d45470e67f123e4e48" "checksum tonic-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0436413ba71545bcc6c2b9a0f9d78d72deb0123c6a75ccdfe7c056f9930f5e52" -"checksum tower 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4b299df54795e6f72bca45063b5803d1f9a1ba9b11a3c7c64d0b84519b451fdd" +"checksum tower 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fd3169017c090b7a28fce80abaad0ab4f5566423677c9331bb320af7e49cfe62" "checksum tower-balance 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a792277613b7052448851efcf98a2c433e6f1d01460832dc60bef676bc275d4c" "checksum tower-buffer 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c4887dc2a65d464c8b9b66e0e4d51c2fd6cf5b3373afc72805b0a60bce00446a" "checksum tower-discover 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0f6b5000c3c54d269cc695dff28136bb33d08cbf1df2c48129e143ab65bf3c2a" @@ -2664,10 +2669,10 @@ dependencies = [ "checksum tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e987b6bf443f4b5b3b6f38704195592cca41c5bb7aedd3c3693c7081f8289860" "checksum tower-timeout 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "127b8924b357be938823eaaec0608c482d40add25609481027b96198b2e4b31e" "checksum tower-util 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5702d7890e35b2aae6ee420e8a762547505dbed30c075fbc84ec069a0aa18314" -"checksum tracing 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "6de6a8590a29d3f401eab60470c699efa0adf7b4f0352055bf24df2b69849b40" +"checksum tracing 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "1e213bd24252abeb86a0b7060e02df677d367ce6cb772cef17e9214b8390a8d3" "checksum tracing-attributes 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "04cfd395def5a60236e187e1ff905cb55668a59f29928dec05e6e1b1fd2ac1f3" -"checksum tracing-core 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "d7fb511ac6ca1d031c5cfc26d8c38da9d88e91d2bd5b38b60cf8dc1b8b5c211f" -"checksum tracing-futures 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "107ae59580d2a1d994b6b965b16fe94c969fe86d3f7fd2572a1ee243bcaf7f09" +"checksum tracing-core 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "13a46f11e372b8bd4b4398ea54353412fdd7fd42a8370c7e543e218cf7661978" +"checksum tracing-futures 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "33848db47a7c848ab48b66aab3293cb9c61ea879a3586ecfcd17302fcea0baf1" "checksum traitobject 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "efd1f82c56340fdf16f2a953d7bda4f8fdffba13d93b00844c25572110b26079" "checksum try-lock 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e604eb7b43c06650e854be16a2a03155743d3752dd1c943f6829e26b7a36e382" "checksum typemap 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "653be63c80a3296da5551e1bfd2cca35227e13cdd08c6668903ae2f4f77aa1f6" @@ -2679,17 +2684,17 @@ dependencies = [ "checksum untrusted 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "60369ef7a31de49bcb3f6ca728d4ba7300d9a1658f94c727d4cab8c8d9f4aece" "checksum vcpkg 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3fc439f2794e98976c88a2a2dafce96b930fe8010b0a256b3c2199a773933168" "checksum version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd" -"checksum walkdir 2.2.9 (registry+https://github.com/rust-lang/crates.io-index)" = "9658c94fa8b940eab2250bd5a457f9c48b748420d71293b165c8cdbe2f55f71e" +"checksum walkdir 2.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "777182bc735b6424e1a57516d35ed72cb8019d85c8c9bf536dccb3445c1a2f7d" "checksum want 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" -"checksum wasi 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b89c3ce4ce14bdc6fb6beaf9ec7928ca331de5df7e5ea278375642a2f478570d" -"checksum wasm-bindgen 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)" = "99de4b68939a880d530aed51289a7c7baee154e3ea8ac234b542c49da7134aaf" -"checksum wasm-bindgen-backend 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)" = "b58e66a093a7b7571cb76409763c495b8741ac4319ac20acc2b798f6766d92ee" -"checksum wasm-bindgen-macro 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)" = "a80f89daea7b0a67b11f6e9f911422ed039de9963dce00048a653b63d51194bf" -"checksum wasm-bindgen-macro-support 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)" = "4f9dbc3734ad6cff6b76b75b7df98c06982becd0055f651465a08f769bca5c61" -"checksum wasm-bindgen-shared 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)" = "d907984f8506b3554eab48b8efff723e764ddbf76d4cd4a3fe4196bc00c49a70" -"checksum wasm-bindgen-webidl 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)" = "f85a3825a459cf6a929d03bacb54dca37a614d43032ad1343ef2d4822972947d" -"checksum web-sys 0.3.33 (registry+https://github.com/rust-lang/crates.io-index)" = "2fb60433d0dc12c803b9b017b3902d80c9451bab78d27bc3210bf2a7b96593f1" -"checksum webpki 0.21.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d7e664e770ac0110e2384769bcc59ed19e329d81f555916a6e072714957b81b4" +"checksum wasi 0.9.0+wasi-snapshot-preview1 (registry+https://github.com/rust-lang/crates.io-index)" = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" +"checksum wasm-bindgen 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)" = "5205e9afdf42282b192e2310a5b463a6d1c1d774e30dc3c791ac37ab42d2616c" +"checksum wasm-bindgen-backend 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)" = "11cdb95816290b525b32587d76419facd99662a07e59d3cdb560488a819d9a45" +"checksum wasm-bindgen-macro 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)" = "574094772ce6921576fb6f2e3f7497b8a76273b6db092be18fc48a082de09dc3" +"checksum wasm-bindgen-macro-support 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)" = "e85031354f25eaebe78bb7db1c3d86140312a911a106b2e29f9cc440ce3e7668" +"checksum wasm-bindgen-shared 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)" = "f5e7e61fc929f4c0dddb748b102ebf9f632e2b8d739f2016542b4de2965a9601" +"checksum wasm-bindgen-webidl 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)" = "ef012a0d93fc0432df126a8eaf547b2dce25a8ce9212e1d3cbeef5c11157975d" +"checksum web-sys 0.3.35 (registry+https://github.com/rust-lang/crates.io-index)" = "aaf97caf6aa8c2b1dac90faf0db529d9d63c93846cca4911856f78a83cebf53b" +"checksum webpki 0.21.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f1f50e1972865d6b1adb54167d1c8ed48606004c2c9d0ea5f1eeb34d95e863ef" "checksum webpki-roots 0.18.0 (registry+https://github.com/rust-lang/crates.io-index)" = "91cd5736df7f12a964a5067a12c62fa38e1bd8080aff1f80bc29be7c80d19ab4" "checksum weedle 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3bb43f70885151e629e2a19ce9e50bd730fd436cfd4b666894c9ce4de9141164" "checksum which 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5475d47078209a02e60614f7ba5e645ef3ed60f771920ac1906d7c1cc65024c8" @@ -2697,7 +2702,7 @@ dependencies = [ "checksum winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6" "checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" "checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" -"checksum winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7168bab6e1daee33b4557efd0e95d5ca70a03706d39fa5f3fe7a236f584b03c9" +"checksum winapi-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "4ccfbf554c6ad11084fb7517daca16cfdcaccbdadba4fc336f032a8b12c2ad80" "checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" "checksum ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e" "checksum xattr 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "244c3741f4240ef46274860397c7c74e50eb23624996930e484c16679633a54c" diff --git a/lib/Cargo.toml b/lib/Cargo.toml index 8bcf505..1d49baf 100644 --- a/lib/Cargo.toml +++ b/lib/Cargo.toml @@ -11,4 +11,4 @@ crate-type = ["staticlib"] [dependencies] libc = "0.2.58" lazy_static = "1.4.0" -silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "91c8d18d17aa5b67dc5dc8a5f8cfe4e323fdda30" } +silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "fb07cae93c706cce929beef98690109e5f2d7592" } diff --git a/src/Model/ChatItem.cpp b/src/Model/ChatItem.cpp index fff8f9a..31ff448 100644 --- a/src/Model/ChatItem.cpp +++ b/src/Model/ChatItem.cpp @@ -5,7 +5,7 @@ ChatItem::ChatItem() {} -ChatItem::ChatItem(long timestamp, QString address, QString contact, QString memo, QString requestZaddr, QString type, QString cid, QString txid, int confirmations) +ChatItem::ChatItem(long timestamp, QString address, QString contact, QString memo, QString requestZaddr, QString type, QString cid, QString txid, int confirmations, bool notarize) { _timestamp = timestamp; _address = address; @@ -17,9 +17,10 @@ ChatItem::ChatItem(long timestamp, QString address, QString contact, QString mem _txid = txid; _confirmations = confirmations; _outgoing = false; + _notarize = notarize; } -ChatItem::ChatItem(long timestamp, QString address, QString contact, QString memo, QString requestZaddr, QString type, QString cid, QString txid, int confirmations, bool outgoing) +ChatItem::ChatItem(long timestamp, QString address, QString contact, QString memo, QString requestZaddr, QString type, QString cid, QString txid, int confirmations, bool outgoing, bool notarize) { _timestamp = timestamp; _address = address; @@ -31,6 +32,7 @@ ChatItem::ChatItem(long timestamp, QString address, QString contact, QString mem _txid = txid; _confirmations = confirmations; _outgoing = outgoing; + _notarize = notarize; } long ChatItem::getTimestamp() @@ -81,6 +83,11 @@ bool ChatItem::isOutgoing() return _outgoing; } +bool ChatItem::isNotarized() +{ + return _notarize; +} + void ChatItem::setTimestamp(long timestamp) { _timestamp = timestamp; @@ -128,6 +135,10 @@ void ChatItem::toggleOutgo() { _outgoing = true; } +void ChatItem::notarized() +{ + _notarize = false; +} QString ChatItem::toChatLine() @@ -136,14 +147,25 @@ QString ChatItem::toChatLine() QString lock; myDateTime.setTime_t(_timestamp); - if (_confirmations == 0){ + if (_notarize == true) + + { + + lock = " "; + + }else{ + lock = " "; - }else{ + } + if ((_confirmations > 0) && (_notarize == false)) + + { lock = " "; + } + - } - +qDebug()<<_notarize; QString line = QString("") + myDateTime.toString("dd.MM.yyyy hh:mm"); line += QString(lock) + QString(""); line += QString("

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

"); diff --git a/src/Model/ChatItem.h b/src/Model/ChatItem.h index be8a807..edfa8a0 100644 --- a/src/Model/ChatItem.h +++ b/src/Model/ChatItem.h @@ -20,11 +20,12 @@ class ChatItem QString _txid; int _confirmations; bool _outgoing = false; + bool _notarize = false; public: ChatItem(); - ChatItem(long timestamp, QString address, QString contact, QString memo,QString requestZaddr, QString type, QString cid, QString txid, int confirmations); - ChatItem(long timestamp, QString address, QString contact, QString memo, QString requestZaddr, QString type, QString cid, QString txid, int confirmations, bool outgoing); + ChatItem(long timestamp, QString address, QString contact, QString memo,QString requestZaddr, QString type, QString cid, QString txid, int confirmations, bool notarize); + ChatItem(long timestamp, QString address, QString contact, QString memo, QString requestZaddr, QString type, QString cid, QString txid, int confirmations, bool outgoing, bool notarize); long getTimestamp(); QString getAddress(); QString getContact(); @@ -35,6 +36,7 @@ class ChatItem QString getTxid(); int getConfirmations(); bool isOutgoing(); + bool isNotarized(); void setTimestamp(long timestamp); void setAddress(QString address); void setContact(QString contact); @@ -45,6 +47,7 @@ class ChatItem void setTxid(QString txid); void setConfirmations(int confirmations); void toggleOutgo(); + void notarized(); QString toChatLine(); json toJson(); ~ChatItem(); diff --git a/src/controller.cpp b/src/controller.cpp index 8007205..2b4c982 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -239,6 +239,12 @@ void Controller::getInfoThenRefresh(bool force) int curBlock = reply["latest_block_height"].get(); int longestchain = reply["longestchain"].get(); int notarized = reply["notarized"].get(); + int lag = longestchain - notarized ; + + + qDebug()<<"Lag :" << lag; + + int difficulty = reply["difficulty"].get(); int blocks_until_halving= 340000 - curBlock; int halving_days = (blocks_until_halving * 150) / (60*60*24) ; @@ -258,7 +264,11 @@ void Controller::getInfoThenRefresh(bool force) ); ui->longestchain->setText( "Block: " + QLocale(QLocale::German).toString(longestchain) + ); + + this->setLag(lag); + ui->difficulty->setText( QLocale(QLocale::German).toString(difficulty) ); @@ -285,6 +295,8 @@ 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( @@ -293,6 +305,7 @@ void Controller::getInfoThenRefresh(bool force) ui->Vendor->setText( QString::fromStdString(reply["vendor"].get()) ); + this->setLag(lag); main->logger->write( QString("Refresh. curblock ") % QString::number(curBlock) % ", update=" % (doUpdate ? "true" : "false") ); @@ -562,6 +575,20 @@ void Controller::getInfoThenRefresh(bool force) }); } +int Controller::getLag() +{ + + return _lag; + +} + +void Controller::setLag(int lag) +{ + + _lag = lag; + +} + void Controller::refreshAddresses() { if (!zrpc->haveConnection()) @@ -877,6 +904,15 @@ void Controller::refreshTransactions() { memo = QString::fromStdString(o["memo"]); QString cid; + bool isNotarized; + + if (confirmations > getLag()) + { + isNotarized = true; + }else{ + + isNotarized = false; + } ChatItem item = ChatItem( datetime, @@ -888,10 +924,11 @@ void Controller::refreshTransactions() { cid, txid, confirmations, - true + true, + isNotarized ); // qDebug()<<"Memo : " <setData(ChatIDGenerator::getInstance()->generateID(item), item); @@ -973,8 +1010,20 @@ void Controller::refreshTransactions() { requestZaddr = chatModel->getrequestZaddrByTx(txid); }else{ requestZaddr = ""; - } + } + position = it["position"].get(); + + bool isNotarized; + + if (confirmations > getLag()) + { + isNotarized = true; + }else{ + + isNotarized = false; + } + ChatItem item = ChatItem( datetime, address, @@ -985,9 +1034,10 @@ void Controller::refreshTransactions() { cid, txid, confirmations, - false + false, + isNotarized ); - // qDebug()<< "Position : " << position; + qDebug()<< "Notarized : " << isNotarized; // qDebug()<<"Confirmation :" << confirmations; DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); @@ -995,6 +1045,7 @@ void Controller::refreshTransactions() { } } + qDebug()<< getLag(); // Calculate the total unspent amount that's pending. This will need to be // shown in the UI so the user can keep track of pending funds diff --git a/src/controller.h b/src/controller.h index b34aeb4..f35d636 100644 --- a/src/controller.h +++ b/src/controller.h @@ -37,7 +37,10 @@ public: Connection* getConnection() { return zrpc->getConnection(); } void setConnection(Connection* c); void refresh(bool force = false); - void refreshAddresses(); + void refreshAddresses(); + int getLag(); + void setLag(int lag); + int _lag; void checkForUpdate(bool silent = true); void refreshZECPrice(); diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 2d85bd5..c7d5481 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1505,6 +1505,9 @@ 521
+ + The locks shows you the status of the message. Red lock = unconfirmed, green lock = min. 1 confirmations, orange lock = message is notarized + Qt::ScrollBarAsNeeded From 537d3828b060150a24e9cd1a6a81d2ee7b8cc753 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Mon, 25 May 2020 22:44:07 +0200 Subject: [PATCH 156/256] add contectmenu to contactitems --- src/contactmodel.cpp | 19 +++++++++++++++---- src/contactmodel.h | 1 + 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/contactmodel.cpp b/src/contactmodel.cpp index 6f452fa..8700a32 100644 --- a/src/contactmodel.cpp +++ b/src/contactmodel.cpp @@ -6,10 +6,19 @@ #include "mainwindow.h" #include "chatmodel.h" + void ContactModel::renderContactList(QListView* view) { QStandardItemModel* contact = new QStandardItemModel(); - + QMenu* contextMenu; + QAction* requestAction; + QAction* editAction; + contextMenu = new QMenu(view); + requestAction = new QAction("Send a contact request",contextMenu); + editAction = new QAction("Edit this contact",contextMenu); + + // QObject::connect(requestAction,SIGNAL(customContextMenuRequested(const QModelIndex)),this, SLOT(&ContactModel::requestActionClickedSlot)); + for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) { @@ -18,14 +27,16 @@ void ContactModel::renderContactList(QListView* view) QStandardItem* Items1 = new QStandardItem(c.getName()); Items1->setData(QIcon(avatar),Qt::DecorationRole); + contact->appendRow(Items1); view->setModel(contact); view->setIconSize(QSize(60,70)); view->setUniformItemSizes(true); view->setDragDropMode(QAbstractItemView::DropOnly); view->show(); - + view->setContextMenuPolicy(Qt::ActionsContextMenu); + view->addAction(requestAction); + view->addAction(editAction); } - -} \ No newline at end of file +} diff --git a/src/contactmodel.h b/src/contactmodel.h index fcdf7a3..cfe57bc 100644 --- a/src/contactmodel.h +++ b/src/contactmodel.h @@ -8,6 +8,7 @@ class ContactModel + { public: ContactModel() {} From eb0bb65230540b2a89437ae01f5a76aae537b8bc Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Tue, 26 May 2020 19:40:42 +0200 Subject: [PATCH 157/256] add error message for messages over 512 chars --- src/chatmodel.cpp | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 0e636b2..63ce92c 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -349,6 +349,22 @@ void MainWindow::sendChat() { return; } + int max = 512; + QString chattext = ui->memoTxtChat->toPlainText(); + int size = chattext.size(); + + if (size > max){ + + // auto addr = ""; + // if (! Settings::isZAddress(AddressBook::addressFromAddressLabel(addr->text()))) { + QMessageBox msg(QMessageBox::Critical, tr("Your Message is too long"), + tr("You can only write messages with 512 character maximum \n") + tr("\n Please reduce your message to 512 character."), + QMessageBox::Ok, this); + + msg.exec(); + return; + } + Tx tx = createTxFromChatPage(); QString error = doSendChatTxValidations(tx); @@ -646,6 +662,22 @@ void MainWindow::ContactRequest() { return; } + int max = 512; + QString chattext = contactRequest.getMemo();; + int size = chattext.size(); + + if (size > max){ + + // auto addr = ""; + // if (! Settings::isZAddress(AddressBook::addressFromAddressLabel(addr->text()))) { + QMessageBox msg(QMessageBox::Critical, tr("Your Message is too long"), + tr("You can only write messages with 512 character maximum \n") + tr("\n Please reduce your message to 512 character."), + QMessageBox::Ok, this); + + msg.exec(); + return; + } + Tx tx = createTxForSafeContactRequest(); QString error = doSendRequestTxValidations(tx); From 963857fbdaa910342aff67e4a55eeaf05598101d Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Tue, 26 May 2020 20:09:38 +0200 Subject: [PATCH 158/256] undo dep upgrade,refresh tab after sending a message --- lib/Cargo.lock | 6 +++--- lib/Cargo.toml | 2 +- src/chatmodel.cpp | 10 +++++++--- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/lib/Cargo.lock b/lib/Cargo.lock index 07f7981..c2021b0 100644 --- a/lib/Cargo.lock +++ b/lib/Cargo.lock @@ -1177,7 +1177,7 @@ version = "0.1.0" dependencies = [ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", - "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=fb07cae93c706cce929beef98690109e5f2d7592)", + "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=1daf5ce75fcbd51047360681652f173f93f54f93)", ] [[package]] @@ -1640,7 +1640,7 @@ dependencies = [ [[package]] name = "silentdragonlitelib" version = "0.1.0" -source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=fb07cae93c706cce929beef98690109e5f2d7592#fb07cae93c706cce929beef98690109e5f2d7592" +source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=1daf5ce75fcbd51047360681652f173f93f54f93#1daf5ce75fcbd51047360681652f173f93f54f93" dependencies = [ "base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "bellman 0.1.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", @@ -2631,7 +2631,7 @@ dependencies = [ "checksum serde_yaml 0.8.11 (registry+https://github.com/rust-lang/crates.io-index)" = "691b17f19fc1ec9d94ec0b5864859290dff279dbd7b03f017afda54eb36c3c35" "checksum sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "27044adfd2e1f077f649f59deb9490d3941d674002f7d062870a60ebe9bd47a0" "checksum signal-hook-registry 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94f478ede9f64724c5d173d7bb56099ec3e2d9fc2774aac65d34b8b890405f41" -"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=fb07cae93c706cce929beef98690109e5f2d7592)" = "" +"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=1daf5ce75fcbd51047360681652f173f93f54f93)" = "" "checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" "checksum smallvec 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "f7b0758c52e15a8b5e3691eae6cc559f08eee9406e548a4477ba4e67770a82b6" "checksum socket2 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "e8b74de517221a2cb01a53349cf54182acdc31a074727d3079068448c0676d85" diff --git a/lib/Cargo.toml b/lib/Cargo.toml index 1d49baf..15e0acd 100644 --- a/lib/Cargo.toml +++ b/lib/Cargo.toml @@ -11,4 +11,4 @@ crate-type = ["staticlib"] [dependencies] libc = "0.2.58" lazy_static = "1.4.0" -silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "fb07cae93c706cce929beef98690109e5f2d7592" } +silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "1daf5ce75fcbd51047360681652f173f93f54f93" } diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 63ce92c..cb5621d 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -403,6 +403,7 @@ void MainWindow::sendChat() { d->show(); ui->memoTxtChat->clear(); + // And send the Tx rpc->executeTransaction(tx, @@ -411,6 +412,7 @@ void MainWindow::sendChat() { connD->status->setText(tr("Done!")); connD->statusDetail->setText(txid); + QTimer::singleShot(1000, [=]() { d->accept(); @@ -421,7 +423,7 @@ void MainWindow::sendChat() { }); // Force a UI update so we get the unconfirmed Tx - // rpc->refresh(true); + rpc->refresh(true); ui->memoTxtChat->clear(); }, @@ -440,6 +442,8 @@ void MainWindow::sendChat() { QMessageBox::critical(this, QObject::tr("Transaction Error"), errStr, QMessageBox::Ok); } ); + + // rpc->refresh(true); } QString MainWindow::doSendChatTxValidations(Tx tx) { @@ -465,7 +469,7 @@ QString MainWindow::doSendChatTxValidations(Tx tx) { auto available = rpc->getModel()->getAvailableBalance(); if (available < total) { - return tr("Not enough available funds to send this transaction\n\nHave: %1\nNeed: %2\n\nNote: Funds need 3 confirmations before they can be spent") + return tr("Not enough available funds to send this transaction\n\nHave: %1\nNeed: %2\n\nNote: Funds need 1 confirmations before they can be spent") .arg(available.toDecimalhushString(), total.toDecimalhushString()); } @@ -662,7 +666,7 @@ void MainWindow::ContactRequest() { return; } - int max = 512; + int max = 512; QString chattext = contactRequest.getMemo();; int size = chattext.size(); From 7d081f678cabc58898b4ab68d31a489eb76920a3 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Tue, 26 May 2020 20:21:59 +0200 Subject: [PATCH 159/256] fix some typos, delete -add only a contact- on chattab --- src/chatmodel.cpp | 6 +++--- src/contactrequest.ui | 33 ++++----------------------------- 2 files changed, 7 insertions(+), 32 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index cb5621d..97d46f9 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -399,7 +399,7 @@ void MainWindow::sendChat() { } connD->status->setText(tr("Please wait...")); - connD->statusDetail->setText(tr("Your Message will be send")); + connD->statusDetail->setText(tr("Your Message will be sent")); d->show(); ui->memoTxtChat->clear(); @@ -518,7 +518,7 @@ void::MainWindow::addContact() }); QObject::connect(request.sendRequestButton, &QPushButton::clicked, this, &MainWindow::saveandsendContact); - QObject::connect(request.onlyAdd, &QPushButton::clicked, this, &MainWindow::saveContact); + // QObject::connect(request.onlyAdd, &QPushButton::clicked, this, &MainWindow::saveContact); dialog.exec(); @@ -716,7 +716,7 @@ void MainWindow::ContactRequest() { } connD->status->setText(tr("Please wait...")); - connD->statusDetail->setText(tr("Your Contact will be send")); + connD->statusDetail->setText(tr("Your contact request will be sent")); d->show(); ui->memoTxtChat->clear(); diff --git a/src/contactrequest.ui b/src/contactrequest.ui index 8667057..1e37ee9 100644 --- a/src/contactrequest.ui +++ b/src/contactrequest.ui @@ -6,7 +6,7 @@ 0 0 - 777 + 780 427
@@ -233,7 +233,7 @@
- + <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Insert a memo for your request</span></p></body></html> @@ -318,36 +318,11 @@ - - - - - 152 - 25 - - - - - 100 - 0 - - - - Only add this contact - - - false - - - false - - - - 188 + 300 25 @@ -358,7 +333,7 @@ - Add Contact & send request + Add Contact and send request false From 78ca3cf8caca719a43f8c3ac5df23ab019dc136d Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Tue, 26 May 2020 22:11:15 +0200 Subject: [PATCH 160/256] fix for double outgoing message --- src/Chat/Chat.cpp | 5 ++++- src/chatmodel.cpp | 9 ++++----- src/controller.cpp | 37 +++++++++++++++++++------------------ src/mainwindow.cpp | 1 + src/mainwindow.ui | 7 +++++-- 5 files changed, 33 insertions(+), 26 deletions(-) diff --git a/src/Chat/Chat.cpp b/src/Chat/Chat.cpp index f76222d..c0482b8 100644 --- a/src/Chat/Chat.cpp +++ b/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 { diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 97d46f9..e5864f8 100644 --- a/src/chatmodel.cpp +++ b/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 = ""; diff --git a/src/controller.cpp b/src/controller.cpp index 2b4c982..cd6152b 100644 --- a/src/controller.cpp +++ b/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(); + bool doUpdate = force || (model->getLatestBlock() != curBlock); + int difficulty = reply["difficulty"].get(); + int blocks_until_halving= 340000 - curBlock; + int halving_days = (blocks_until_halving * 150) / (60*60*24) ; int longestchain = reply["longestchain"].get(); int notarized = reply["notarized"].get(); - int lag = longestchain - notarized ; + - qDebug()<<"Lag :" << lag; - - - int difficulty = reply["difficulty"].get(); - 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()) ); - 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 : " <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); } diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 4f6c428..d71baad 100644 --- a/src/mainwindow.cpp +++ b/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) { diff --git a/src/mainwindow.ui b/src/mainwindow.ui index c7d5481..a4a4e78 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1378,7 +1378,10 @@ true - QAbstractItemView::EditKeyPressed|QAbstractItemView::SelectedClicked + QAbstractItemView::NoEditTriggers + + + false false @@ -1518,7 +1521,7 @@ QAbstractScrollArea::AdjustToContents - QAbstractItemView::AllEditTriggers + QAbstractItemView::NoEditTriggers QListView::Adjust From aa46cc99ae4489ad818cc65f123e57476e6af2bc Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Tue, 26 May 2020 23:28:40 +0200 Subject: [PATCH 161/256] refresh if conf=1 --- src/chatmodel.cpp | 25 +++++++++++++++++++++++++ src/chatmodel.h | 4 ++++ src/controller.cpp | 19 ++++++++++++++----- 3 files changed, 43 insertions(+), 5 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index e5864f8..b0acb38 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -216,6 +216,11 @@ void ChatModel::addrequestZaddr(QString tx, QString requestZaddr) this->requestZaddrMap[tx] = requestZaddr; } +void ChatModel::addconfirmations(QString tx, int confirmation) +{ + this->confirmationsMap[tx] = confirmation; +} + QString ChatModel::getCidByTx(QString tx) { for(auto& pair : this->cidMap) @@ -231,6 +236,21 @@ QString ChatModel::getCidByTx(QString tx) return QString("0xdeadbeef"); } +QString ChatModel::getConfirmationByTx(QString tx) +{ + for(auto& pair : this->confirmationsMap) + { + + } + + if(this->confirmationsMap.count(tx) > 0) + { + return this->confirmationsMap[tx]; + } + + return QString("0xdeadbeef"); +} + QString ChatModel::getrequestZaddrByTx(QString tx) { for(auto& pair : this->requestZaddrMap) @@ -256,6 +276,11 @@ void ChatModel::killrequestZaddrCache() this->requestZaddrMap.clear(); } +void ChatModel::killConfirmationCache() +{ + this->confirmationsMap.clear(); +} + QString MainWindow::createHeaderMemo(QString type, QString cid, QString zaddr, int version=0, int headerNumber=1) { diff --git a/src/chatmodel.h b/src/chatmodel.h index e8bc3e7..7ca5a0f 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -32,6 +32,7 @@ class ChatModel MainWindow* main; std::map cidMap; std::map requestZaddrMap; + std::map confirmationsMap; std::map> sendrequestMap; public: @@ -49,10 +50,13 @@ class ChatModel void addMessage(QString timestamp, ChatItem item); void addCid(QString tx, QString cid); void addrequestZaddr(QString tx, QString requestZaddr); + void addconfirmations(QString tx, int confirmation); void addSendRequest(int i, QString myAddr, QString cid, QString addr ); QString getCidByTx(QString tx); QString getrequestZaddrByTx(QString tx); + QString getConfirmationByTx(QString tx); void killCidCache(); + void killConfirmationCache(); void killrequestZaddrCache(); }; diff --git a/src/controller.cpp b/src/controller.cpp index cd6152b..541821c 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -896,6 +896,16 @@ void Controller::refreshTransactions() { CAmount amount = CAmount::fromqint64(-1* o["value"].get()); // Check for Memos + + if (confirmations == 0) { + chatModel->addconfirmations(txid, confirmations); + } + + if ((confirmations == 1) && (chatModel->getConfirmationByTx(txid) != QString("0xdeadbeef"))){ + DataStore::getChatDataStore()->clear(); + chatModel->killConfirmationCache(); + this->refresh(true); + } QString memo; if (!o["memo"].is_null()) { @@ -912,10 +922,6 @@ void Controller::refreshTransactions() { isNotarized = false; } - if (confirmations == 1) { - DataStore::getChatDataStore()->clear(); - this->refresh(true); - } qDebug()<<"Conf : " << confirmations; ChatItem item = ChatItem( @@ -932,10 +938,13 @@ void Controller::refreshTransactions() { isNotarized ); DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); + + + } - + // this->refresh(true); items.push_back(TransactionItemDetail{address, amount, memo}); total_amount = total_amount + amount; } From 56cc89a918b22bf217eadeb1e10a209b9b4e3980 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 27 May 2020 07:41:11 +0200 Subject: [PATCH 162/256] dont delete unsent message when switching tab, add more contextmenu --- src/Model/ChatItem.h | 1 + src/contactmodel.cpp | 37 +++++++++++++++++++++++++------------ src/contactmodel.h | 3 +++ src/controller.cpp | 3 +-- src/mainwindow.cpp | 22 +++++++++++++++++++++- src/mainwindow.h | 1 + src/mainwindow.ui | 13 +++++++++++-- 7 files changed, 63 insertions(+), 17 deletions(-) diff --git a/src/Model/ChatItem.h b/src/Model/ChatItem.h index edfa8a0..11e3b65 100644 --- a/src/Model/ChatItem.h +++ b/src/Model/ChatItem.h @@ -36,6 +36,7 @@ class ChatItem QString getTxid(); int getConfirmations(); bool isOutgoing(); + bool isdouble(); bool isNotarized(); void setTimestamp(long timestamp); void setAddress(QString address); diff --git a/src/contactmodel.cpp b/src/contactmodel.cpp index 8700a32..691c65e 100644 --- a/src/contactmodel.cpp +++ b/src/contactmodel.cpp @@ -5,20 +5,17 @@ #include "addressbook.h" #include "mainwindow.h" #include "chatmodel.h" +#include "requestdialog.h" +#include "ui_requestdialog.h" +#include "settings.h" +#include "controller.h" + void ContactModel::renderContactList(QListView* view) { QStandardItemModel* contact = new QStandardItemModel(); - QMenu* contextMenu; - QAction* requestAction; - QAction* editAction; - contextMenu = new QMenu(view); - requestAction = new QAction("Send a contact request",contextMenu); - editAction = new QAction("Edit this contact",contextMenu); - - // QObject::connect(requestAction,SIGNAL(customContextMenuRequested(const QModelIndex)),this, SLOT(&ContactModel::requestActionClickedSlot)); - + for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) { @@ -34,9 +31,25 @@ void ContactModel::renderContactList(QListView* view) view->setUniformItemSizes(true); view->setDragDropMode(QAbstractItemView::DropOnly); view->show(); - view->setContextMenuPolicy(Qt::ActionsContextMenu); - view->addAction(requestAction); - view->addAction(editAction); + + } } + +void MainWindow::showRequesthush() { + + Ui_RequestDialog req; + QDialog d(this); + req.setupUi(&d); + Settings::saveRestore(&d); + + // setupDialog(main, &d, &req); + + // Setup the Label completer for the Address + + + d.exec(); + +} + diff --git a/src/contactmodel.h b/src/contactmodel.h index cfe57bc..095fe99 100644 --- a/src/contactmodel.h +++ b/src/contactmodel.h @@ -5,14 +5,17 @@ #include "Model/ContactItem.h" #include +#include "mainwindow.h" class ContactModel { public: + ContactModel() {} void renderContactList(QListView* view); + }; #endif \ No newline at end of file diff --git a/src/controller.cpp b/src/controller.cpp index 541821c..10b41bb 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -943,8 +943,7 @@ void Controller::refreshTransactions() { } - - // this->refresh(true); + items.push_back(TransactionItemDetail{address, amount, memo}); total_amount = total_amount + amount; } diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index d71baad..24f9b7c 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1358,13 +1358,33 @@ void MainWindow::setupchatTab() { // ui->ContactZaddr->setText(p.getPartnerAddress()); // ui->MyZaddr->setText(p.getMyAddress()); ui->contactNameMemo->setText(p.getName()); - ui->memoTxtChat->clear(); + // ui->memoTxtChat->clear(); rpc->refresh(true); // updateChat(); } }); + + QMenu* contextMenu; + QAction* requestAction; + QAction* editAction; + QAction* HushAction; + QAction* requestHushAction; + contextMenu = new QMenu(ui->listContactWidget); + requestAction = new QAction("Send a contact request",contextMenu); + editAction = new QAction("Delete this contact",contextMenu); + HushAction = new QAction("Send a friend some Hush",contextMenu); + requestHushAction = new QAction("Request some Hush",contextMenu); + ui->listContactWidget->setContextMenuPolicy(Qt::ActionsContextMenu); + ui->listContactWidget->addAction(requestAction); + ui->listContactWidget->addAction(editAction); + ui->listContactWidget->addAction(HushAction); + ui->listContactWidget->addAction(requestHushAction); + QObject::connect(requestHushAction, &QAction::triggered, [=]() { + MainWindow::showRequesthush(); + }); + ui->memoTxtChat->setLenDisplayLabelChat(ui->memoSizeChat); } diff --git a/src/mainwindow.h b/src/mainwindow.h index fb08fdb..56bfbc6 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -60,6 +60,7 @@ public: void stopWebsocket(); void saveContact(); void saveandsendContact(); + void showRequesthush(); // void setmaxlenChat(int len); // void updateDisplay(); diff --git a/src/mainwindow.ui b/src/mainwindow.ui index a4a4e78..de58411 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1389,6 +1389,9 @@ QAbstractItemView::SingleSelection + + QAbstractItemView::SelectItems + @@ -1422,10 +1425,16 @@ QTextEdit::AutoNone - QTextEdit::FixedColumnWidth + QTextEdit::FixedPixelWidth - 80 + 600 + + + false + + + Qt::TextEditorInteraction From 4d8e3ba4605fa7d86be7a554ac6436cf4cf3c475 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 27 May 2020 13:46:51 +0200 Subject: [PATCH 163/256] add hushrequest and delete contact --- src/hushrequest.ui | 72 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 src/hushrequest.ui diff --git a/src/hushrequest.ui b/src/hushrequest.ui new file mode 100644 index 0000000..fb923db --- /dev/null +++ b/src/hushrequest.ui @@ -0,0 +1,72 @@ + + + + + Dialog + + + + 0 + 0 + 400 + 300 + + + + Dialog + + + + + 30 + 240 + 341 + 32 + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + + buttonBox + accepted() + Dialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + Dialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + + From d0f406d37375eeb192336cc594bef5f2e1998a61 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 27 May 2020 13:47:22 +0200 Subject: [PATCH 164/256] add hushrequest and delete contact --- silentdragon-lite.pro | 1 + src/contactmodel.cpp | 102 +++++++++++++++-- src/contactmodel.h | 1 + src/hushrequest.ui | 208 +++++++++++++++++++++++----------- src/mainwindow.cpp | 48 ++++++-- src/requestdialog.ui | 252 +++++++++++++++++++++--------------------- 6 files changed, 406 insertions(+), 206 deletions(-) diff --git a/silentdragon-lite.pro b/silentdragon-lite.pro index 4d07b4d..90b261b 100644 --- a/silentdragon-lite.pro +++ b/silentdragon-lite.pro @@ -122,6 +122,7 @@ HEADERS += \ FORMS += \ src/contactrequest.ui \ src/encryption.ui \ + src/hushrequest.ui \ src/mainwindow.ui \ src/migration.ui \ src/newseed.ui \ diff --git a/src/contactmodel.cpp b/src/contactmodel.cpp index 691c65e..7f9d097 100644 --- a/src/contactmodel.cpp +++ b/src/contactmodel.cpp @@ -7,6 +7,7 @@ #include "chatmodel.h" #include "requestdialog.h" #include "ui_requestdialog.h" +#include "ui_hushrequest.h" #include "settings.h" #include "controller.h" @@ -39,17 +40,104 @@ void ContactModel::renderContactList(QListView* view) void MainWindow::showRequesthush() { - Ui_RequestDialog req; + Ui_hushrequest req; QDialog d(this); req.setupUi(&d); Settings::saveRestore(&d); - // setupDialog(main, &d, &req); + QString label = ui->contactNameMemo->text(); + for(auto &p : AddressBook::getInstance()->getAllAddressLabels()) + { + + if (p.getName() == label) + + { + + QString addr = p.getPartnerAddress(); + QString myzaddr = p.getMyAddress(); + + req.txtFrom->setText(addr); + req.lblAddressInfo->setText(myzaddr); + // Amount textbox + req.txtAmount->setValidator(this->getAmountValidator()); + QObject::connect(req.txtAmount, &QLineEdit::textChanged, [=] (auto text) { + CAmount amount = CAmount::fromDecimalString(text); + if (Settings::getInstance()->get_currency_name() == "USD") { + req.txtAmountUSD->setText(amount.toDecimalUSDString()); + } else if (Settings::getInstance()->get_currency_name() == "EUR") { + req.txtAmountUSD->setText(amount.toDecimalEURString()); + } else if (Settings::getInstance()->get_currency_name() == "BTC") { + req.txtAmountUSD->setText(amount.toDecimalBTCString()); + } else if (Settings::getInstance()->get_currency_name() == "CNY") { + req.txtAmountUSD->setText(amount.toDecimalCNYString()); + } else if (Settings::getInstance()->get_currency_name() == "RUB") { + req.txtAmountUSD->setText(amount.toDecimalRUBString()); + } else if (Settings::getInstance()->get_currency_name() == "CAD") { + req.txtAmountUSD->setText(amount.toDecimalCADString()); + } else if (Settings::getInstance()->get_currency_name() == "SGD") { + req.txtAmountUSD->setText(amount.toDecimalSGDString()); + } else if (Settings::getInstance()->get_currency_name() == "CHF") { + req.txtAmountUSD->setText(amount.toDecimalCHFString()); + } else if (Settings::getInstance()->get_currency_name() == "INR") { + req.txtAmountUSD->setText(amount.toDecimalINRString()); + } else if (Settings::getInstance()->get_currency_name() == "GBP") { + req.txtAmountUSD->setText(amount.toDecimalGBPString()); + } else if (Settings::getInstance()->get_currency_name() == "AUD") { + req.txtAmountUSD->setText(amount.toDecimalBTCString()); + } + }); + CAmount amount = CAmount::fromDecimalString(req.txtAmount->text()); + if (Settings::getInstance()->get_currency_name() == "USD") { + req.txtAmountUSD->setText(amount.toDecimalUSDString()); + } else if (Settings::getInstance()->get_currency_name() == "EUR") { + req.txtAmountUSD->setText(amount.toDecimalEURString()); + } else if (Settings::getInstance()->get_currency_name() == "BTC") { + req.txtAmountUSD->setText(amount.toDecimalBTCString()); + } else if (Settings::getInstance()->get_currency_name() == "CNY") { + req.txtAmountUSD->setText(amount.toDecimalCNYString()); + } else if (Settings::getInstance()->get_currency_name() == "RUB") { + req.txtAmountUSD->setText(amount.toDecimalRUBString()); + } else if (Settings::getInstance()->get_currency_name() == "CAD") { + req.txtAmountUSD->setText(amount.toDecimalCADString()); + } else if (Settings::getInstance()->get_currency_name() == "SGD") { + req.txtAmountUSD->setText(amount.toDecimalSGDString()); + } else if (Settings::getInstance()->get_currency_name() == "CHF") { + req.txtAmountUSD->setText(amount.toDecimalCHFString()); + } else if (Settings::getInstance()->get_currency_name() == "INR") { + req.txtAmountUSD->setText(amount.toDecimalINRString()); + } else if (Settings::getInstance()->get_currency_name() == "GBP") { + req.txtAmountUSD->setText(amount.toDecimalGBPString()); + } else if (Settings::getInstance()->get_currency_name() == "AUD") { + req.txtAmountUSD->setText(amount.toDecimalBTCString()); + } + req.txtMemo->setAcceptButton(req.buttonBox->button(QDialogButtonBox::Ok)); + req.txtMemo->setLenDisplayLabel(req.lblMemoLen); + req.txtMemo->setMaxLen(400); + + req.txtFrom->setFocus(); + + + } + } + if (d.exec() == QDialog::Accepted) { + // Construct a hush Payment URI with the data and pay it immediately. + CAmount amount = CAmount::fromDecimalString(req.txtAmount->text()); + QString memoURI = "hush:" + req.lblAddressInfo->text() + + "?amt=" + amount.toDecimalString() + + "&memo=" + QUrl::toPercentEncoding(req.txtMemo->toPlainText()); + + QString sendURI = "hush:" + AddressBook::addressFromAddressLabel(req.txtFrom->text()) + + "?amt=0.0001" + + "&memo=" + QUrl::toPercentEncoding(memoURI); + + // If the disclosed address in the memo doesn't have a balance, it will automatically fallback to the default + // sapling address + this->payhushURI(sendURI, req.lblAddressInfo->text()); + + + + } - // Setup the Label completer for the Address - - - d.exec(); - } + diff --git a/src/contactmodel.h b/src/contactmodel.h index 095fe99..f361ceb 100644 --- a/src/contactmodel.h +++ b/src/contactmodel.h @@ -16,6 +16,7 @@ class ContactModel ContactModel() {} void renderContactList(QListView* view); + }; #endif \ No newline at end of file diff --git a/src/hushrequest.ui b/src/hushrequest.ui index fb923db..d0b0ca7 100644 --- a/src/hushrequest.ui +++ b/src/hushrequest.ui @@ -1,72 +1,156 @@ - - - - - Dialog - - + + + hushrequest + + 0 0 - 400 - 300 + 663 + 529 - + Dialog - - - - 30 - 240 - 341 - 32 - - - - Qt::Horizontal - - - QDialogButtonBox::Cancel|QDialogButtonBox::Ok - - + + + + + TextLabel + + + Qt::AlignCenter + + + + + + + Request payment from a Sapling address. You'll send a hush 0.0001 transaction to the address with a hush payment URI. The memo will be included in the transaction when the address pays you. + + + true + + + + + + + Request From + + + + + + + Qt::Horizontal + + + + 541 + 20 + + + + + + + + zaddr + + + + + + + Amount in + + + + + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + Amount + + + + + + + Amount USD + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + Memo + + + + + + + 0 / 512 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + + + + My Address + + + + + + + The recipient will see this address in the "to" field when they pay your request. + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + - + + + MemoEdit + QPlainTextEdit +
memoedit.h
+
+
- - - buttonBox - accepted() - Dialog - accept() - - - 248 - 254 - - - 157 - 274 - - - - - buttonBox - rejected() - Dialog - reject() - - - 316 - 260 - - - 286 - 274 - - - - +
- diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 24f9b7c..cad3ca9 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1338,9 +1338,6 @@ void MainWindow::setupchatTab() { ui->memoTxtChat->setTextColor("Black"); } - - - QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::sendChat); QObject::connect(ui->safeContactRequest, &QPushButton::clicked, this, &MainWindow::addContact); QObject::connect(ui->pushContact, &QPushButton::clicked, this , &MainWindow::renderContactRequest); @@ -1355,17 +1352,13 @@ void MainWindow::setupchatTab() { for(auto &p : AddressBook::getInstance()->getAllAddressLabels()) if (label_contact == p.getName()) { - // ui->ContactZaddr->setText(p.getPartnerAddress()); - // ui->MyZaddr->setText(p.getMyAddress()); - ui->contactNameMemo->setText(p.getName()); - // ui->memoTxtChat->clear(); - - rpc->refresh(true); - // updateChat(); + ui->contactNameMemo->setText(p.getName()); + rpc->refresh(true); + } }); - + QMenu* contextMenu; QAction* requestAction; QAction* editAction; @@ -1382,9 +1375,42 @@ void MainWindow::setupchatTab() { ui->listContactWidget->addAction(HushAction); ui->listContactWidget->addAction(requestHushAction); QObject::connect(requestHushAction, &QAction::triggered, [=]() { + 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->contactNameMemo->setText(p.getName()); + rpc->refresh(true); + + } + MainWindow::showRequesthush(); }); + QObject::connect(editAction, &QAction::triggered, [=]() { + QModelIndex index = ui->listContactWidget->currentIndex(); + QString label_contact = index.data(Qt::DisplayRole).toString(); + + for(auto &p : AddressBook::getInstance()->getAllAddressLabels()) + if (label_contact == p.getName()) { + + + QString label1 = p.getName(); + QString addr = p.getPartnerAddress(); + QString myzaddr = p.getMyAddress(); + QString cid = p.getCid(); + QString avatar = p.getAvatar(); + + + AddressBook::getInstance()->removeAddressLabel(label1, addr, myzaddr, cid,avatar); + // QList labels = AddressBook::getInstance()->getAllAddressLabels(); + rpc->refreshContacts( + ui->listContactWidget); + rpc->refresh(true); + } + }); + ui->memoTxtChat->setLenDisplayLabelChat(ui->memoSizeChat); } diff --git a/src/requestdialog.ui b/src/requestdialog.ui index 952f780..e52c475 100644 --- a/src/requestdialog.ui +++ b/src/requestdialog.ui @@ -14,37 +14,10 @@ Payment Request
- - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - AddressBook - - - - - - - - - Qt::Horizontal + + + + @@ -55,171 +28,198 @@ - - + + - My Address + The recipient will see this address in the "to" field when they pay your request. + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - color: red; - - - + + + + + 0 + 0 + - - + + - Amount in + TextLabel + + + Qt::AlignCenter - - + + + + + - - - - Qt::Horizontal + + + + color: red; - - QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + - - + + - + Memo - - - - - 0 - 0 - + + + + Qt::Vertical - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + 20 + 40 + - - z address + + + + + + 0 / 512 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - + + Qt::Horizontal - - - - - 0 - 0 - + + + + Amount USD - - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - Amount - - - + + Qt::Horizontal - - + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + AddressBook + + + + + + + - The recipient will see this address in the "to" field when they pay your request. + Request payment from a Sapling address. You'll send a hush 0.0001 transaction to the address with a hush payment URI. The memo will be included in the transaction when the address pays you. - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + true - - - - 0 / 512 + + + + + 0 + 0 + - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + z address - - + + - Amount USD - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + My Address - - + + - Qt::Vertical - - - - 20 - 40 - + Qt::Horizontal - - - - - - Memo + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok - - - - TextLabel - + + - Qt::AlignCenter + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + Amount - - + + - Request payment from a Sapling address. You'll send a hush 0.0001 transaction to the address with a hush payment URI. The memo will be included in the transaction when the address pays you. + Amount in - - true + + + + + + Qt::Horizontal From 50ac16f115235a88579711c34061a5a3b275650c Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 27 May 2020 15:38:24 +0200 Subject: [PATCH 165/256] dummy option for subatomic swaps in sdl --- src/mainwindow.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index cad3ca9..de2583e 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1364,16 +1364,19 @@ void MainWindow::setupchatTab() { QAction* editAction; QAction* HushAction; QAction* requestHushAction; + QAction* subatomicAction; contextMenu = new QMenu(ui->listContactWidget); - requestAction = new QAction("Send a contact request",contextMenu); + requestAction = new QAction("Send a contact request - coming soon",contextMenu); editAction = new QAction("Delete this contact",contextMenu); - HushAction = new QAction("Send a friend some Hush",contextMenu); - requestHushAction = new QAction("Request some Hush",contextMenu); + HushAction = new QAction("Send a friend some Hush - coming soon",contextMenu); + requestHushAction = new QAction("Request some Hush - coming soon",contextMenu); + subatomicAction = new QAction("Make a subatomic swap with a friend- coming soon",contextMenu); ui->listContactWidget->setContextMenuPolicy(Qt::ActionsContextMenu); ui->listContactWidget->addAction(requestAction); ui->listContactWidget->addAction(editAction); ui->listContactWidget->addAction(HushAction); ui->listContactWidget->addAction(requestHushAction); + ui->listContactWidget->addAction(subatomicAction); QObject::connect(requestHushAction, &QAction::triggered, [=]() { QModelIndex index = ui->listContactWidget->currentIndex(); QString label_contact = index.data(Qt::DisplayRole).toString(); From f57dc2c5ad36ab609ffcd7b399a0b3bc70278050 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 27 May 2020 17:46:52 +0200 Subject: [PATCH 166/256] push lock.png --- res/lock_orange.png | Bin 0 -> 929 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 res/lock_orange.png diff --git a/res/lock_orange.png b/res/lock_orange.png new file mode 100644 index 0000000000000000000000000000000000000000..11a5c55fc5a65456a87766f9f43793e93f20a230 GIT binary patch literal 929 zcmV;S177@zP)EX>4Tx04R}tkv&MmKpe$iQ%j3f9GXGJAwzYtAS&XhRVYG*P%E_RU_SZ@4|zbb@Z5yBv1;1Q7&%a{|zGt~4AUmwAfDc| z4aWP#yi%4_;&b9LlP*a7$aLA`H^wEGIhM(r*~~mKPb`$WSngt_Y-+?)#Bo*ADWA)E ztTNtWtX1nu`=0ED(Sp9R%ygQ=NMR965FtQD9TikzBSEW9iiHgACw=@wu3sdVOs)zP zax9<*4U+2z`-9)zTE)o;FDaS?LNAW0S*p< z(Gq2^`@B2S-P^xs+Wq|iD(Z5Iz6|rv00006VoOIv0RI600RN!9r;`8x010qNS#tmY z4c7nw4c7reD4Tcy000McNliruIjYZgv7Ps2nAlN9_BmogY6YVULBI*4vEVWcL zVOPyqcz3zGNg$^=Q@r!e%4a-h>3X^$A#msNj+)7FGM9+
u`Dxf3m)wB5@JU~A=M(6N9o+O7-tqv>)FToS^%s<}*`Oc|CbTo`shAm<|7#JQ!Df&l^`YhiOT*fZ7&zb!?@)1QP!M?tGsqn_I}<00000NkvXXu0mjf DpzWW* literal 0 HcmV?d00001 From cfbcc43b14eb1a21c02853d4fbf237efa9f06eff Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 27 May 2020 21:42:39 +0200 Subject: [PATCH 167/256] render only new requests --- src/Chat/Chat.cpp | 1 - src/DataStore/ChatDataStore.cpp | 9 +++--- src/FileSystem/FileSystem.cpp | 6 ++-- src/FileSystem/FileSystem.h | 4 ++- src/Model/ChatItem.cpp | 17 +++++++++-- src/Model/ChatItem.h | 7 +++-- src/Model/ContactItem.cpp | 7 ++++- src/Model/ContactItem.h | 5 +++- src/addressbook.cpp | 3 ++ src/addressbook.h | 9 +++++- src/chatmodel.cpp | 35 +++++++++++++++++++---- src/chatmodel.h | 6 +++- src/contactmodel.h | 3 +- src/controller.cpp | 38 ++++++++++++++++++++----- src/controller.h | 3 ++ src/mainwindow.cpp | 7 +---- src/requestContactDialog.ui | 50 +++++++++++++++++++++------------ src/sendtab.cpp | 2 +- 18 files changed, 157 insertions(+), 55 deletions(-) diff --git a/src/Chat/Chat.cpp b/src/Chat/Chat.cpp index c0482b8..cdc3814 100644 --- a/src/Chat/Chat.cpp +++ b/src/Chat/Chat.cpp @@ -55,7 +55,6 @@ void Chat::renderChatBox(Ui::MainWindow *ui, QListView *view, QLabel *label) { for (auto &c : DataStore::getChatDataStore()->getAllMemos()) { - //////Render only Memos for selected contacts. Do not render empty Memos //// Render only memos where cid=cid if ( (p.getName() == ui->contactNameMemo->text().trimmed()) && diff --git a/src/DataStore/ChatDataStore.cpp b/src/DataStore/ChatDataStore.cpp index 21ddef9..7bb3840 100644 --- a/src/DataStore/ChatDataStore.cpp +++ b/src/DataStore/ChatDataStore.cpp @@ -3,6 +3,8 @@ #include "ChatDataStore.h" #include "addressbook.h" +#include "chatmodel.h" + ChatDataStore* ChatDataStore::getInstance() { @@ -53,15 +55,14 @@ std::map ChatDataStore::getAllNewContactRequests() { std::map filteredItems; - for(auto &c: this->data) + for(auto &c: this->data) { if ( (c.second.isOutgoing() == false) && (c.second.getType() == "Cont") && - (c.second.getContact() == "") - - + (c.second.isContact() == false) ) + { filteredItems[c.first] = c.second; } diff --git a/src/FileSystem/FileSystem.cpp b/src/FileSystem/FileSystem.cpp index 2a60de1..208bfaa 100644 --- a/src/FileSystem/FileSystem.cpp +++ b/src/FileSystem/FileSystem.cpp @@ -1,8 +1,11 @@ -#include "FileSystem.h" +// Copyright 2019-2020 The Hush developers +// GPLv3 +#include "FileSystem.h" #include #include #include "../Crypto/passwd.h" +#include "addressbook.h" FileSystem::FileSystem() { @@ -99,7 +102,6 @@ QList FileSystem::readContactsOldFormat(QString file) qDebug() << "Detected old addressbook format"; QList> stuff; in >> stuff; - //qDebug() << "Stuff: " << stuff; for (int i=0; i < stuff.size(); i++) { ContactItem contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3],stuff[i][4]); diff --git a/src/FileSystem/FileSystem.h b/src/FileSystem/FileSystem.h index 30dd5fc..34fc5fc 100644 --- a/src/FileSystem/FileSystem.h +++ b/src/FileSystem/FileSystem.h @@ -1,3 +1,5 @@ +// Copyright 2019-2020 The Hush developers +// GPLv3 #ifndef FILESYSTEM_H #define FILESYSTEM_H @@ -13,7 +15,7 @@ class FileSystem static bool instanced; static FileSystem* instance; FileSystem(); - + public: static FileSystem* getInstance(); QList readContacts(QString file); diff --git a/src/Model/ChatItem.cpp b/src/Model/ChatItem.cpp index 31ff448..6a30f56 100644 --- a/src/Model/ChatItem.cpp +++ b/src/Model/ChatItem.cpp @@ -5,7 +5,7 @@ ChatItem::ChatItem() {} -ChatItem::ChatItem(long timestamp, QString address, QString contact, QString memo, QString requestZaddr, QString type, QString cid, QString txid, int confirmations, bool notarize) +ChatItem::ChatItem(long timestamp, QString address, QString contact, QString memo, QString requestZaddr, QString type, QString cid, QString txid, int confirmations, bool notarize, bool iscontact) { _timestamp = timestamp; _address = address; @@ -18,9 +18,10 @@ ChatItem::ChatItem(long timestamp, QString address, QString contact, QString mem _confirmations = confirmations; _outgoing = false; _notarize = notarize; + _iscontact = iscontact; } -ChatItem::ChatItem(long timestamp, QString address, QString contact, QString memo, QString requestZaddr, QString type, QString cid, QString txid, int confirmations, bool outgoing, bool notarize) +ChatItem::ChatItem(long timestamp, QString address, QString contact, QString memo, QString requestZaddr, QString type, QString cid, QString txid, int confirmations, bool outgoing, bool notarize, bool iscontact) { _timestamp = timestamp; _address = address; @@ -33,6 +34,8 @@ ChatItem::ChatItem(long timestamp, QString address, QString contact, QString mem _confirmations = confirmations; _outgoing = outgoing; _notarize = notarize; + _iscontact = iscontact; + } long ChatItem::getTimestamp() @@ -88,6 +91,11 @@ bool ChatItem::isNotarized() return _notarize; } +bool ChatItem::isContact() +{ + return _iscontact; +} + void ChatItem::setTimestamp(long timestamp) { _timestamp = timestamp; @@ -140,6 +148,11 @@ void ChatItem::notarized() _notarize = false; } +void ChatItem::contact(bool iscontact) +{ + _iscontact = iscontact; +} + QString ChatItem::toChatLine() { diff --git a/src/Model/ChatItem.h b/src/Model/ChatItem.h index 11e3b65..900c994 100644 --- a/src/Model/ChatItem.h +++ b/src/Model/ChatItem.h @@ -21,11 +21,12 @@ class ChatItem int _confirmations; bool _outgoing = false; bool _notarize = false; + bool _iscontact = false; public: ChatItem(); - ChatItem(long timestamp, QString address, QString contact, QString memo,QString requestZaddr, QString type, QString cid, QString txid, int confirmations, bool notarize); - ChatItem(long timestamp, QString address, QString contact, QString memo, QString requestZaddr, QString type, QString cid, QString txid, int confirmations, bool outgoing, bool notarize); + ChatItem(long timestamp, QString address, QString contact, QString memo,QString requestZaddr, QString type, QString cid, QString txid, int confirmations, bool notarize, bool iscontact); + ChatItem(long timestamp, QString address, QString contact, QString memo, QString requestZaddr, QString type, QString cid, QString txid, int confirmations, bool outgoing, bool notarize, bool iscontact); long getTimestamp(); QString getAddress(); QString getContact(); @@ -38,6 +39,7 @@ class ChatItem bool isOutgoing(); bool isdouble(); bool isNotarized(); + bool isContact(); void setTimestamp(long timestamp); void setAddress(QString address); void setContact(QString contact); @@ -49,6 +51,7 @@ class ChatItem void setConfirmations(int confirmations); void toggleOutgo(); void notarized(); + void contact(bool iscontact); QString toChatLine(); json toJson(); ~ChatItem(); diff --git a/src/Model/ContactItem.cpp b/src/Model/ContactItem.cpp index d38c1c5..d2321bd 100644 --- a/src/Model/ContactItem.cpp +++ b/src/Model/ContactItem.cpp @@ -1,4 +1,9 @@ +// Copyright 2019-2020 The Hush developers +// GPLv3 #include "ContactItem.h" +#include "chatmodel.h" +#include "Model/ChatItem.h" +#include "controller.h" ContactItem::ContactItem() {} @@ -8,7 +13,7 @@ ContactItem::ContactItem(QString name, QString partnerAddress, QString myAddress _myAddress = myAddress; _partnerAddress = partnerAddress; _cid = cid; - _avatar = avatar; + _avatar = avatar; } QString ContactItem::getName() const diff --git a/src/Model/ContactItem.h b/src/Model/ContactItem.h index f066740..7eda17d 100644 --- a/src/Model/ContactItem.h +++ b/src/Model/ContactItem.h @@ -1,8 +1,11 @@ +// Copyright 2019-2020 The Hush developers +// GPLv3 #ifndef CONTACTITEM_H #define CONTACTITEM_H #include #include +#include "mainwindow.h" using json = nlohmann::json; class ContactItem @@ -13,7 +16,7 @@ private: QString _name; QString _cid; QString _avatar; - + public: ContactItem(); ContactItem(QString name, QString partnerAddress, QString myAddress, QString cid, QString avatar); diff --git a/src/addressbook.cpp b/src/addressbook.cpp index f51e279..808ca40 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -40,7 +40,10 @@ void AddressBookModel::loadData() QSettings().value( "addresstablegeometry" ).toByteArray() + + ); + } void AddressBookModel::addNewLabel(QString label, QString addr, QString myAddr, QString cid, QString avatar) diff --git a/src/addressbook.h b/src/addressbook.h index 8e32fe8..fbd361b 100644 --- a/src/addressbook.h +++ b/src/addressbook.h @@ -23,6 +23,7 @@ public: int columnCount(const QModelIndex &parent) const; QVariant data(const QModelIndex &index, int role) const; QVariant headerData(int section, Qt::Orientation orientation, int role) const; + private: @@ -32,7 +33,8 @@ private: QTableView* parent; //QList> labels; QList labels; - QStringList headers; + QStringList headers; + }; class AddressBook { @@ -63,6 +65,10 @@ public: QString get_avatar_name(); void set_avatar_name(QString avatar_name); + + + + @@ -76,6 +82,7 @@ private: QString writeableFile(); QList allLabels; + static AddressBook* instance; }; diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index b0acb38..7bc1688 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -71,6 +71,26 @@ void ChatModel::showMessages() } } + +void ChatModel::addAddressbylabel(QString address, QString label) +{ + this->AddressbyLabelMap[address] = label; +} + +QString ChatModel::Addressbylabel(QString address) +{ + for(auto& pair : this->AddressbyLabelMap) + { + + } + + if(this->AddressbyLabelMap.count(address) > 0) + { + return this->AddressbyLabelMap[address]; + } + + return QString("0xdeadbeef"); +} void MainWindow::renderContactRequest(){ @@ -89,17 +109,22 @@ void MainWindow::renderContactRequest(){ contactRequest->appendRow(Items); requestContact.requestContact->setModel(contactRequest); requestContact.requestContact->show(); + requestContact.zaddrnew->setVisible(false); + requestContact.zaddrnew->setText(c.second.getAddress()); } QStandardItemModel* contactRequestOld = new QStandardItemModel(); + for (auto &p : AddressBook::getInstance()->getAllAddressLabels()) for (auto &c : DataStore::getChatDataStore()->getAllOldContactRequests()) { if (p.getPartnerAddress() == c.second.getRequestZaddr()) { - QStandardItem* Items = new QStandardItem(c.second.getAddress()); + QStandardItem* Items = new QStandardItem(p.getName()); contactRequestOld->appendRow(Items); requestContact.requestContactOld->setModel(contactRequestOld); + requestContact.zaddrold->setVisible(false); + requestContact.zaddrold->setText(c.second.getAddress()); requestContact.requestContactOld->show(); }else{} } @@ -135,11 +160,11 @@ void MainWindow::renderContactRequest(){ QObject::connect(requestContact.requestContactOld, &QTableView::clicked, [&] () { for (auto &c : DataStore::getChatDataStore()->getAllRawChatItems()){ - QModelIndex index = requestContact.requestContactOld->currentIndex(); - QString label_contactold = index.data(Qt::DisplayRole).toString(); + /* QModelIndex index = requestContact.requestContactOld->currentIndex(); + QString label_contactold = index.data(Qt::DisplayRole).toString();*/ QStandardItemModel* contactMemo = new QStandardItemModel(); - if ((c.second.isOutgoing() == false) && (label_contactold == c.second.getAddress()) && (c.second.getType() != "Cont")) + if ((c.second.isOutgoing() == false) && (requestContact.zaddrold->text() == c.second.getAddress()) && (c.second.getType() != "Cont")) { @@ -809,7 +834,7 @@ QString MainWindow::doSendRequestTxValidations(Tx tx) { auto available = rpc->getModel()->getAvailableBalance(); if (available < total) { - return tr("Not enough available funds to send this transaction\n\nHave: %1\nNeed: %2\n\nNote: Funds need 5 confirmations before they can be spent") + return tr("Not enough available funds to send this transaction\n\nHave: %1\nNeed: %2\n\nNote: Funds need 1 confirmations before they can be spent") .arg(available.toDecimalhushString(), total.toDecimalhushString()); } diff --git a/src/chatmodel.h b/src/chatmodel.h index 7ca5a0f..1768b9f 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -20,6 +20,7 @@ #include "Chat/Helper/ChatDelegator.h" #include "Chat/Helper/ChatIDGenerator.h" + namespace Ui { class MainWindow; } @@ -34,6 +35,7 @@ class ChatModel std::map requestZaddrMap; std::map confirmationsMap; std::map> sendrequestMap; + std::map AddressbyLabelMap; public: ChatModel() {}; @@ -46,6 +48,7 @@ class ChatModel void triggerRequest(); void showMessages(); void clear(); + void addAddressbylabel(QString addr, QString label); void addMessage(ChatItem item); void addMessage(QString timestamp, ChatItem item); void addCid(QString tx, QString cid); @@ -55,10 +58,11 @@ class ChatModel QString getCidByTx(QString tx); QString getrequestZaddrByTx(QString tx); QString getConfirmationByTx(QString tx); + QString Addressbylabel(QString addr); void killCidCache(); void killConfirmationCache(); void killrequestZaddrCache(); - + }; #endif \ No newline at end of file diff --git a/src/contactmodel.h b/src/contactmodel.h index f361ceb..5f79c47 100644 --- a/src/contactmodel.h +++ b/src/contactmodel.h @@ -15,8 +15,7 @@ class ContactModel ContactModel() {} void renderContactList(QListView* view); - - + }; #endif \ No newline at end of file diff --git a/src/controller.cpp b/src/controller.cpp index 10b41bb..83ee2e4 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -935,7 +935,8 @@ void Controller::refreshTransactions() { txid, confirmations, true, - isNotarized + isNotarized, + false ); DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); @@ -991,6 +992,28 @@ void Controller::refreshTransactions() { QString cid; int position; QString requestZaddr; + bool isContact; + + + for (auto &p : AddressBook::getInstance()->getAllAddressLabels()) + { + + if (p.getPartnerAddress() == requestZaddr) + { + + chatModel->addAddressbylabel(address, requestZaddr); + } else{} + + + if (chatModel->Addressbylabel(address) != QString("0xdeadbeef")){ + + isContact = true; + + }else{ + + isContact = false; + + } if (!it["memo"].is_null()) { @@ -1005,7 +1028,8 @@ void Controller::refreshTransactions() { chatModel->addCid(txid, cid); chatModel->addrequestZaddr(txid, requestZaddr); - } + } + if (chatModel->getCidByTx(txid) != QString("0xdeadbeef")){ @@ -1045,16 +1069,16 @@ void Controller::refreshTransactions() { txid, confirmations, false, - isNotarized + isNotarized, + isContact ); - qDebug()<< "Notarized : " << isNotarized; - + DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); } } - + } } - qDebug()<< getLag(); + qDebug()<<"get Lag" << getLag(); // Calculate the total unspent amount that's pending. This will need to be // shown in the UI so the user can keep track of pending funds diff --git a/src/controller.h b/src/controller.h index f35d636..9fd445b 100644 --- a/src/controller.h +++ b/src/controller.h @@ -1,3 +1,6 @@ +// Copyright 2019-2020 The Hush developers +// GPLv3 + #ifndef RPCCLIENT_H #define RPCCLIENT_H diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index de2583e..7db28cf 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1358,7 +1358,6 @@ void MainWindow::setupchatTab() { } }); - QMenu* contextMenu; QAction* requestAction; QAction* editAction; @@ -1397,7 +1396,6 @@ void MainWindow::setupchatTab() { for(auto &p : AddressBook::getInstance()->getAllAddressLabels()) if (label_contact == p.getName()) { - QString label1 = p.getName(); QString addr = p.getPartnerAddress(); @@ -1407,7 +1405,6 @@ void MainWindow::setupchatTab() { AddressBook::getInstance()->removeAddressLabel(label1, addr, myzaddr, cid,avatar); - // QList labels = AddressBook::getInstance()->getAllAddressLabels(); rpc->refreshContacts( ui->listContactWidget); rpc->refresh(true); @@ -1424,13 +1421,11 @@ void MainWindow::updateChat() { rpc->refreshChat(ui->listChat,ui->memoSizeChat); rpc->refresh(true); - - } void MainWindow::updateContacts() { - //rpc->refreshContacts(ui->listContactWidget); + } void MainWindow::addNewZaddr(bool sapling) { diff --git a/src/requestContactDialog.ui b/src/requestContactDialog.ui index 2eb4bc0..242e3ba 100644 --- a/src/requestContactDialog.ui +++ b/src/requestContactDialog.ui @@ -6,7 +6,7 @@ 0 0 - 812 + 850 495 @@ -27,7 +27,7 @@ - + <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Memo of the request</span></p></body></html> @@ -97,12 +97,12 @@ - + 256 - 192 + 190 @@ -119,14 +119,21 @@ - + + + + <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Details of the request</span></p></body></html> + + + + Request from : - + @@ -142,14 +149,14 @@ - + My Zaddr : - + @@ -165,24 +172,24 @@ - + Give a Nickname: - + - + <html><head/><body><p align="right">Choose a avatar for your contact :</p></body></html> - + @@ -328,7 +335,7 @@ - + @@ -353,7 +360,7 @@ - + @@ -369,17 +376,24 @@ - + - - + + - <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Details of the request</span></p></body></html> + + + + + + + + diff --git a/src/sendtab.cpp b/src/sendtab.cpp index de61cf2..ce04a54 100644 --- a/src/sendtab.cpp +++ b/src/sendtab.cpp @@ -937,7 +937,7 @@ QString MainWindow::doSendTxValidations(Tx tx) { auto available = rpc->getModel()->getAvailableBalance(); if (available < total) { - return tr("Not enough available funds to send this transaction\n\nHave: %1\nNeed: %2\n\nNote: Funds need 5 confirmations before they can be spent") + return tr("Not enough available funds to send this transaction\n\nHave: %1\nNeed: %2\n\nNote: Funds need 1 confirmations before they can be spent") .arg(available.toDecimalhushString(), total.toDecimalhushString()); } From 8e59d777c2553bedb50bc75f173936f8e7ae7cfb Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 27 May 2020 22:53:41 +0200 Subject: [PATCH 168/256] dont save contact if contactrequest was not succesfull --- src/chatmodel.cpp | 142 ++++++++++++++-------------------------------- 1 file changed, 44 insertions(+), 98 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 7bc1688..5bd28d0 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -114,7 +114,7 @@ void MainWindow::renderContactRequest(){ } QStandardItemModel* contactRequestOld = new QStandardItemModel(); - + for (auto &p : AddressBook::getInstance()->getAllAddressLabels()) for (auto &c : DataStore::getChatDataStore()->getAllOldContactRequests()) { @@ -380,16 +380,12 @@ void MainWindow::sendChat() { // Create a Tx from the values on the send tab. Note that this Tx object // might not be valid yet. - - // 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 = ""; - // if (! Settings::isZAddress(AddressBook::addressFromAddressLabel(addr->text()))) { QMessageBox msg(QMessageBox::Critical, tr("You have to select a contact and insert a Memo"), tr("You have selected no Contact from Contactlist,\n") + tr("\nor your Memo is empty"), QMessageBox::Ok, this); @@ -404,8 +400,6 @@ void MainWindow::sendChat() { if (size > max){ - // auto addr = ""; - // if (! Settings::isZAddress(AddressBook::addressFromAddressLabel(addr->text()))) { QMessageBox msg(QMessageBox::Critical, tr("Your Message is too long"), tr("You can only write messages with 512 character maximum \n") + tr("\n Please reduce your message to 512 character."), QMessageBox::Ok, this); @@ -578,96 +572,7 @@ void::MainWindow::addContact() void MainWindow::saveandsendContact() { this->ContactRequest(); - QString addr = contactRequest.getReceiverAddress(); - QString newLabel = contactRequest.getLabel(); - QString myAddr = contactRequest.getSenderAddress(); - QString cid = contactRequest.getCid(); - QString avatar = contactRequest.getAvatar(); - contactRequest.clear(); - if (addr.isEmpty() || newLabel.isEmpty()) - { - QMessageBox::critical( - this, - QObject::tr("Address or Label Error"), - QObject::tr("Address or Label cannot be empty"), - QMessageBox::Ok - ); - return; - } - - // Test if address is valid. - if (!Settings::isValidAddress(addr)) - { - QMessageBox::critical( - this, - QObject::tr("Address Format Error"), - QObject::tr("%1 doesn't seem to be a valid hush address.").arg(addr), - QMessageBox::Ok - ); - return; - } - - ///////Todo: Test if label allready exist! - - ////// Success, so show it - AddressBook::getInstance()->addAddressLabel(newLabel, addr, myAddr, cid, avatar); - QMessageBox::information( - this, - QObject::tr("Added Contact"), - QObject::tr("successfully added your new contact").arg(newLabel), - QMessageBox::Ok - ); - return; - - - -} - -void MainWindow::saveContact() -{ - - QString addr = contactRequest.getReceiverAddress(); - QString newLabel = contactRequest.getLabel(); - QString myAddr = contactRequest.getSenderAddress(); - QString cid = contactRequest.getCid(); - QString avatar = contactRequest.getAvatar(); - - if (addr.isEmpty() || newLabel.isEmpty()) - { - QMessageBox::critical( - this, - QObject::tr("Address or Label Error"), - QObject::tr("Address or Label cannot be empty"), - QMessageBox::Ok - ); - return; - } - - // Test if address is valid. - if (!Settings::isValidAddress(addr)) - { - QMessageBox::critical( - this, - QObject::tr("Address Format Error"), - QObject::tr("%1 doesn't seem to be a valid hush address.").arg(addr), - QMessageBox::Ok - ); - return; - } - - ///////Todo: Test if label allready exist! - - ////// Success, so show it - AddressBook::getInstance()->addAddressLabel(newLabel, addr, myAddr, cid, avatar); - QMessageBox::information( - this, - QObject::tr("Added Contact"), - QObject::tr("successfully added your new contact").arg(newLabel), - QMessageBox::Ok - ); - return; - } // Create a Tx for a contact Request @@ -785,7 +690,46 @@ void MainWindow::ContactRequest() { delete d; }); - + QString addr = contactRequest.getReceiverAddress(); + QString newLabel = contactRequest.getLabel(); + QString myAddr = contactRequest.getSenderAddress(); + QString cid = contactRequest.getCid(); + QString avatar = contactRequest.getAvatar(); + + if (addr.isEmpty() || newLabel.isEmpty()) + { + QMessageBox::critical( + this, + QObject::tr("Address or Label Error"), + QObject::tr("Address or Label cannot be empty"), + QMessageBox::Ok + ); + return; + } + + // Test if address is valid. + if (!Settings::isValidAddress(addr)) + { + QMessageBox::critical( + this, + QObject::tr("Address Format Error"), + QObject::tr("%1 doesn't seem to be a valid hush address.").arg(addr), + QMessageBox::Ok + ); + return; + } + + ///////Todo: Test if label allready exist! + + ////// Success, so show it + AddressBook::getInstance()->addAddressLabel(newLabel, addr, myAddr, cid, avatar); + QMessageBox::information( + this, + QObject::tr("Added Contact"), + QObject::tr("successfully added your new contact").arg(newLabel), + QMessageBox::Ok + ); + return; // Force a UI update so we get the unconfirmed Tx // rpc->refresh(true); ui->memoTxtChat->clear(); @@ -840,3 +784,5 @@ QString MainWindow::doSendRequestTxValidations(Tx tx) { return ""; } + + From a2e68c9cc23bd1fdfd810a2efa4db438433aab2c Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 28 May 2020 00:23:48 +0200 Subject: [PATCH 169/256] add new logo for unknown sender --- application.qrc | 6 ++---- res/getAddrBlack.png | Bin 20966 -> 20691 bytes res/getAddrWhite.png | Bin 12887 -> 12615 bytes res/unknownBlack.png | Bin 0 -> 21025 bytes res/unknownWhite.png | Bin 0 -> 12617 bytes res/unlocked.svg | 7 ------- res/upload.png | Bin 1369 -> 0 bytes res/upload.svg | 8 -------- src/chatmodel.cpp | 25 +++++++++++++++++++++++-- 9 files changed, 25 insertions(+), 21 deletions(-) create mode 100644 res/unknownBlack.png create mode 100644 res/unknownWhite.png delete mode 100644 res/unlocked.svg delete mode 100644 res/upload.png delete mode 100644 res/upload.svg diff --git a/application.qrc b/application.qrc index e2da53c..bb3c02c 100644 --- a/application.qrc +++ b/application.qrc @@ -33,11 +33,7 @@ res/add_contact.png res/notification.png res/rahmen-message.png - res/upload.png - res/upload.svg res/message-icon.svg - res/lock.svg - res/lock.png res/lock_green.png res/lock_orange.png res/unlocked.png @@ -49,6 +45,8 @@ res/sendBlack.png res/requestBlack.png res/addContactBlack.png + res/unknownBlack.png + res/unknownWhite.png diff --git a/res/getAddrBlack.png b/res/getAddrBlack.png index 2ede956ed1f29f52bffb24c124c26dda23c479ab..d90c9a522937a6c0270e9078bfb6fba62846ceed 100644 GIT binary patch literal 20691 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%0Ag)8KZtd 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 ab|vNW;h(G-u@8fPCX7!>JUC8X{Qm(Zf7iAE diff --git a/res/getAddrWhite.png b/res/getAddrWhite.png index 6caeeae319540c6c3bbc1b0b91af02aa7e042a72..28b30fbaeb67d543d56382775706b8fae81d3fba 100644 GIT binary patch literal 12615 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 diff --git a/res/unknownBlack.png b/res/unknownBlack.png new file mode 100644 index 0000000000000000000000000000000000000000..faf65e0eeb0c6b8e08a7cfdd172801dea0812cc0 GIT binary patch literal 21025 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 - - - - Svg Vector Icons : http://www.onlinewebfonts.com/icon - - diff --git a/res/upload.png b/res/upload.png deleted file mode 100644 index b6f3c1fc0fe0d3f6b4bef72ec66a3bcd4d3dc2b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1369 zcmeAS@N?(olHy`uVBq!ia0vp^w;321WjNS?EI-MEKY*N;OlRi+PiJR^f};Gi%$!sP z291fe6Ky>XJIEZ356*Vg;wuv|5lX0FZ|9Y@G5m#q-=7-vfF7^GX*y9 z6gB+QC154!%A;(wxhK-o>tK1!UF8GUcUzqQWdHs7i@?uf%uGrjd5nE#SIn)*x@>0g zUf4a-GpzG`r@QYig^$YDMf>kth{uXmq+L0)03F=@2AtX zvGzaY|Gc}V<mW zgs+r-@IXL9FX-E>^SgK7s{Z}mXY+pfqN7F2cV#rC0HcL1$=lt9;Xep2*t>i(P=vF< zBeED6gV#Zr(Me-=1yGQ^#M9T6{Ru0Zh#KGI!)@XW49sDkE{-7;x8B~}$jfZV!{Rvi z_xs4cn5Oe}MQTA>T-;3aYxw$$-tV1XJZZ*>;)*rxZE6-919^N4k`_zMdT_+e(Bxoe zZ&F5+u=LRjEb3-m3pxFAM4W}^+|a#23w$Lv5^yGzEqPiL;$4K z8DgQD3DgN-t!)pWW^v?&Lrgz*>46ehiJ{gG4zQ^`TzX*5Qj43qF9-k~aBKyBC3hYH z)f@q-*=}IA(9jZOj&7H4Mh*waAa0<$W`j(+^8l#q7)Y5pP}xSXvQnVL0^yhzwz)v@ z7cAln9o2!ltq!_oT;SAmYW6D-lq#XF5?OuahD&9)s|uz6+S^Ip$Z5FY0LBVt4ml7k zAgy2q!5zE;(hz)vt%DbWlbDaNLGVV#BxW#fyuq*$f+0qMjHIz~z+{gDJfBkxOxed6 r?mzzzbOh8NXE|UlBE@s4HvF*8f8(*Ycx^~XAV|W~)z4*}Q$iB}e1!gF diff --git a/res/upload.svg b/res/upload.svg deleted file mode 100644 index 9f31b60..0000000 --- a/res/upload.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 5bd28d0..ee3fe6d 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -99,18 +99,39 @@ void MainWindow::renderContactRequest(){ requestContact.setupUi(&dialog); Settings::saveRestore(&dialog); + QString icon; + auto theme = Settings::getInstance()->get_theme_name(); + if (theme == "dark" || theme == "midnight") { + icon = ":/icons/res/unknownWhite.png"; + }else{ + icon = ":/icons/res/unknownBlack.png"; + } + + QPixmap unknownWhite(icon); + QIcon addnewAddrIcon(unknownWhite); + + + + QStandardItemModel* contactRequest = new QStandardItemModel(); for (auto &c : DataStore::getChatDataStore()->getAllNewContactRequests()) + + { - QStandardItem* Items = new QStandardItem(c.second.getAddress()); + QStandardItem* Items = new QStandardItem(QString("Unknown Sender")); contactRequest->appendRow(Items); requestContact.requestContact->setModel(contactRequest); + + Items->setData(QIcon(addnewAddrIcon),Qt::DecorationRole); + requestContact.requestContact->setIconSize(QSize(40,50)); + requestContact.requestContact->setUniformItemSizes(true); requestContact.requestContact->show(); requestContact.zaddrnew->setVisible(false); requestContact.zaddrnew->setText(c.second.getAddress()); + } QStandardItemModel* contactRequestOld = new QStandardItemModel(); @@ -137,7 +158,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) && (requestContact.zaddrnew->text() == c.second.getAddress()) && (c.second.getType() != "Cont")) { From a02ee09241799febdb54e42fd35c464a95501a1e Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 28 May 2020 00:30:02 +0200 Subject: [PATCH 170/256] fix place of gui element --- src/requestContactDialog.ui | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/requestContactDialog.ui b/src/requestContactDialog.ui index 242e3ba..d4420ea 100644 --- a/src/requestContactDialog.ui +++ b/src/requestContactDialog.ui @@ -376,13 +376,6 @@ - - - - - - - @@ -397,6 +390,13 @@ + + + + + + + From 76a7776e7385b2cbd5c8ac8748fd63392c78a76a Mon Sep 17 00:00:00 2001 From: Denio <41270280+DenioD@users.noreply.github.com> Date: Thu, 28 May 2020 15:39:40 +0200 Subject: [PATCH 171/256] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a36f828..31d4041 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ SilentDragonLite does automatic note and utxo management, which means it doesn't ## Compiling from source * SilentDragonLite is written in C++ 14, and can be compiled with g++/clang++/visual c++. * It also depends on Qt5, which you can get from [here](https://www.qt.io/download). -* You'll need Rust v1.37 + +* You'll need Rust v1.41 + ## Building on Linux From 0333d502ed312a607f342566351f412db8fb5810 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 28 May 2020 16:24:55 +0200 Subject: [PATCH 172/256] fix deps --- lib/Cargo.lock | 6 +++--- lib/Cargo.toml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/Cargo.lock b/lib/Cargo.lock index c2021b0..01613d0 100644 --- a/lib/Cargo.lock +++ b/lib/Cargo.lock @@ -1177,7 +1177,7 @@ version = "0.1.0" dependencies = [ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", - "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=1daf5ce75fcbd51047360681652f173f93f54f93)", + "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=32ca60735b3529ff8589ab08fc16678f508a9359)", ] [[package]] @@ -1640,7 +1640,7 @@ dependencies = [ [[package]] name = "silentdragonlitelib" version = "0.1.0" -source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=1daf5ce75fcbd51047360681652f173f93f54f93#1daf5ce75fcbd51047360681652f173f93f54f93" +source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=32ca60735b3529ff8589ab08fc16678f508a9359#32ca60735b3529ff8589ab08fc16678f508a9359" dependencies = [ "base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "bellman 0.1.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", @@ -2631,7 +2631,7 @@ dependencies = [ "checksum serde_yaml 0.8.11 (registry+https://github.com/rust-lang/crates.io-index)" = "691b17f19fc1ec9d94ec0b5864859290dff279dbd7b03f017afda54eb36c3c35" "checksum sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "27044adfd2e1f077f649f59deb9490d3941d674002f7d062870a60ebe9bd47a0" "checksum signal-hook-registry 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94f478ede9f64724c5d173d7bb56099ec3e2d9fc2774aac65d34b8b890405f41" -"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=1daf5ce75fcbd51047360681652f173f93f54f93)" = "" +"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=32ca60735b3529ff8589ab08fc16678f508a9359)" = "" "checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" "checksum smallvec 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "f7b0758c52e15a8b5e3691eae6cc559f08eee9406e548a4477ba4e67770a82b6" "checksum socket2 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "e8b74de517221a2cb01a53349cf54182acdc31a074727d3079068448c0676d85" diff --git a/lib/Cargo.toml b/lib/Cargo.toml index 15e0acd..fba5265 100644 --- a/lib/Cargo.toml +++ b/lib/Cargo.toml @@ -11,4 +11,4 @@ crate-type = ["staticlib"] [dependencies] libc = "0.2.58" lazy_static = "1.4.0" -silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "1daf5ce75fcbd51047360681652f173f93f54f93" } +silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "32ca60735b3529ff8589ab08fc16678f508a9359" } From 1efbfa342fb72fdc017f773fa5c70123d21789a6 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 28 May 2020 16:25:51 +0200 Subject: [PATCH 173/256] fix deps --- res/unkownBlack.png | Bin 0 -> 21025 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 res/unkownBlack.png diff --git a/res/unkownBlack.png b/res/unkownBlack.png new file mode 100644 index 0000000000000000000000000000000000000000..faf65e0eeb0c6b8e08a7cfdd172801dea0812cc0 GIT binary patch literal 21025 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 Date: Thu, 28 May 2020 16:44:12 +0200 Subject: [PATCH 174/256] switch back to sdl-cli 1.0 --- lib/Cargo.lock | 6 +++--- lib/Cargo.toml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/Cargo.lock b/lib/Cargo.lock index 01613d0..e0ea0c9 100644 --- a/lib/Cargo.lock +++ b/lib/Cargo.lock @@ -1177,7 +1177,7 @@ version = "0.1.0" dependencies = [ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", - "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=32ca60735b3529ff8589ab08fc16678f508a9359)", + "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=d196ad938a22810c0b6b4164e6bf8f1db0409763)", ] [[package]] @@ -1640,7 +1640,7 @@ dependencies = [ [[package]] name = "silentdragonlitelib" version = "0.1.0" -source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=32ca60735b3529ff8589ab08fc16678f508a9359#32ca60735b3529ff8589ab08fc16678f508a9359" +source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=d196ad938a22810c0b6b4164e6bf8f1db0409763#d196ad938a22810c0b6b4164e6bf8f1db0409763" dependencies = [ "base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "bellman 0.1.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", @@ -2631,7 +2631,7 @@ dependencies = [ "checksum serde_yaml 0.8.11 (registry+https://github.com/rust-lang/crates.io-index)" = "691b17f19fc1ec9d94ec0b5864859290dff279dbd7b03f017afda54eb36c3c35" "checksum sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "27044adfd2e1f077f649f59deb9490d3941d674002f7d062870a60ebe9bd47a0" "checksum signal-hook-registry 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94f478ede9f64724c5d173d7bb56099ec3e2d9fc2774aac65d34b8b890405f41" -"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=32ca60735b3529ff8589ab08fc16678f508a9359)" = "" +"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=d196ad938a22810c0b6b4164e6bf8f1db0409763)" = "" "checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" "checksum smallvec 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "f7b0758c52e15a8b5e3691eae6cc559f08eee9406e548a4477ba4e67770a82b6" "checksum socket2 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "e8b74de517221a2cb01a53349cf54182acdc31a074727d3079068448c0676d85" diff --git a/lib/Cargo.toml b/lib/Cargo.toml index fba5265..dba0c30 100644 --- a/lib/Cargo.toml +++ b/lib/Cargo.toml @@ -11,4 +11,4 @@ crate-type = ["staticlib"] [dependencies] libc = "0.2.58" lazy_static = "1.4.0" -silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "32ca60735b3529ff8589ab08fc16678f508a9359" } +silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "d196ad938a22810c0b6b4164e6bf8f1db0409763" } From 01737a5dfafc8f44612af3413535b2023edbd648 Mon Sep 17 00:00:00 2001 From: Strider <127.0.0.1@404.notfound> Date: Thu, 28 May 2020 19:31:34 +0200 Subject: [PATCH 175/256] update// added read fix --- src/FileSystem/FileSystem.cpp | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/src/FileSystem/FileSystem.cpp b/src/FileSystem/FileSystem.cpp index 208bfaa..07d476c 100644 --- a/src/FileSystem/FileSystem.cpp +++ b/src/FileSystem/FileSystem.cpp @@ -100,12 +100,29 @@ QList FileSystem::readContactsOldFormat(QString file) in >> version; qDebug() << "Read " << version << " Hush contacts from disk..."; qDebug() << "Detected old addressbook format"; - QList> stuff; - in >> stuff; - for (int i=0; i < stuff.size(); i++) + if(in.status() == QDataStream::ReadCorruptData) { - ContactItem contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3],stuff[i][4]); - contacts.push_back(contact); + qDebug() << "Error reading contacts! ---> Your hush contacts from disk maybe corrupted"; + QFile::rename(file, file + QString(".corrupted")); + QMessageBox::critical( + nullptr, + QObject::tr("Error reading contacts!"), + QObject::tr("Your hush contacts from disk maybe corrupted"), + QMessageBox::Ok + ); + } + else + { + qDebug() << "Read " << version << " Hush contacts from disk..."; + QList> stuff; + in >> stuff; + for (int i=0; i < stuff.size(); i++) + { + ContactItem contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3],stuff[i][4]); + contacts.push_back(contact); + } + + qDebug() << "Hush contacts readed from disk..."; } _file.close(); From 47d11fc5c8b1b74dc0af115879466161e0aaca17 Mon Sep 17 00:00:00 2001 From: Strider <127.0.0.1@404.notfound> Date: Thu, 28 May 2020 19:57:22 +0200 Subject: [PATCH 176/256] update// added backwarts compat on addresses --- src/Model/ContactItem.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Model/ContactItem.h b/src/Model/ContactItem.h index 7eda17d..861ad26 100644 --- a/src/Model/ContactItem.h +++ b/src/Model/ContactItem.h @@ -11,11 +11,11 @@ using json = nlohmann::json; class ContactItem { private: - QString _myAddress; - QString _partnerAddress; - QString _name; - QString _cid; - QString _avatar; + QString _myAddress = ""; + QString _partnerAddress = ""; + QString _name = ""; + QString _cid = ""; + QString _avatar = ":/icons/res/sdlogo.png"; public: ContactItem(); From 54deb0cb2688528eb67a527de641bff23f1207f0 Mon Sep 17 00:00:00 2001 From: Strider <127.0.0.1@404.notfound> Date: Thu, 28 May 2020 20:09:23 +0200 Subject: [PATCH 177/256] update// added backwarts compat on addresses --- src/FileSystem/FileSystem.cpp | 19 ++++++++++++++++++- src/Model/ContactItem.cpp | 14 ++++++++++++++ src/Model/ContactItem.h | 2 ++ 3 files changed, 34 insertions(+), 1 deletion(-) diff --git a/src/FileSystem/FileSystem.cpp b/src/FileSystem/FileSystem.cpp index 07d476c..4d3f146 100644 --- a/src/FileSystem/FileSystem.cpp +++ b/src/FileSystem/FileSystem.cpp @@ -118,7 +118,24 @@ QList FileSystem::readContactsOldFormat(QString file) in >> stuff; for (int i=0; i < stuff.size(); i++) { - ContactItem contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3],stuff[i][4]); + qDebug() << stuff[i].size(); + ContactItem contact; + if(stuff[i].size() == 2) + { + contact = ContactItem(stuff[i][0],stuff[i][1]); + + } + else if(stuff[i].size() == 4) + { + contact = ContactItem(stuff[i][0],stuff[i][1]); + + } + else + { + contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3],stuff[i][4]); + } + + contacts.push_back(contact); } diff --git a/src/Model/ContactItem.cpp b/src/Model/ContactItem.cpp index d2321bd..589ca9f 100644 --- a/src/Model/ContactItem.cpp +++ b/src/Model/ContactItem.cpp @@ -7,6 +7,20 @@ ContactItem::ContactItem() {} +ContactItem::ContactItem(QString name, QString partnerAddress) +{ + _name = name; + _partnerAddress = partnerAddress; +} + +ContactItem::ContactItem(QString name, QString partnerAddress, QString myAddress, QString cid) +{ + _name = name; + _myAddress = myAddress; + _partnerAddress = partnerAddress; + _cid = cid; +} + ContactItem::ContactItem(QString name, QString partnerAddress, QString myAddress, QString cid, QString avatar) { _name = name; diff --git a/src/Model/ContactItem.h b/src/Model/ContactItem.h index 861ad26..edb512d 100644 --- a/src/Model/ContactItem.h +++ b/src/Model/ContactItem.h @@ -19,6 +19,8 @@ private: public: ContactItem(); + ContactItem(QString name, QString partnerAddress); + ContactItem(QString name, QString partnerAddress, QString myAddress, QString cid); ContactItem(QString name, QString partnerAddress, QString myAddress, QString cid, QString avatar); QString getName() const; QString getMyAddress() const; From 5e9c7fa5ee9118ae98d7ba0e187e8a3770d541ae Mon Sep 17 00:00:00 2001 From: Strider <127.0.0.1@404.notfound> Date: Thu, 28 May 2020 20:13:13 +0200 Subject: [PATCH 178/256] update// address improvement --- src/FileSystem/FileSystem.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/FileSystem/FileSystem.cpp b/src/FileSystem/FileSystem.cpp index 4d3f146..92f5bb8 100644 --- a/src/FileSystem/FileSystem.cpp +++ b/src/FileSystem/FileSystem.cpp @@ -127,7 +127,7 @@ QList FileSystem::readContactsOldFormat(QString file) } else if(stuff[i].size() == 4) { - contact = ContactItem(stuff[i][0],stuff[i][1]); + contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3]); } else From 4413d3de62a1504c27f94ba7a8462f5dd8faecd2 Mon Sep 17 00:00:00 2001 From: Strider <127.0.0.1@404.notfound> Date: Thu, 28 May 2020 20:45:30 +0200 Subject: [PATCH 179/256] update// address improvement --- .gdb_history | 5 ++ peda-session-SilentDragonLite.txt | 2 +- src/FileSystem/FileSystem.cpp | 80 ++++++++++++++++++------------- src/addressbook.cpp | 5 -- 4 files changed, 54 insertions(+), 38 deletions(-) diff --git a/.gdb_history b/.gdb_history index 06f6849..4846c14 100644 --- a/.gdb_history +++ b/.gdb_history @@ -54,3 +54,8 @@ r s n q +b FileSystem::readContactsOldFormat +r +n +c +q diff --git a/peda-session-SilentDragonLite.txt b/peda-session-SilentDragonLite.txt index 6f620bf..12c5dfb 100644 --- a/peda-session-SilentDragonLite.txt +++ b/peda-session-SilentDragonLite.txt @@ -1,2 +1,2 @@ -break FileEncryption::encrypt +break FileSystem::readContactsOldFormat diff --git a/src/FileSystem/FileSystem.cpp b/src/FileSystem/FileSystem.cpp index 92f5bb8..f7d37be 100644 --- a/src/FileSystem/FileSystem.cpp +++ b/src/FileSystem/FileSystem.cpp @@ -83,7 +83,7 @@ void FileSystem::writeContactsOldFormat(QString file, QList contact c.push_back(item.getAvatar()); _contacts.push_back(c); } - out << QString("v1") << _contacts; + out << QString("v2") << _contacts; _file.close(); } @@ -96,52 +96,68 @@ QList FileSystem::readContactsOldFormat(QString file) contacts.clear(); _file.open(QIODevice::ReadOnly); QDataStream in(&_file); // read the data serialized from the file - QString version; - in >> version; - qDebug() << "Read " << version << " Hush contacts from disk..."; - qDebug() << "Detected old addressbook format"; if(in.status() == QDataStream::ReadCorruptData) { - qDebug() << "Error reading contacts! ---> Your hush contacts from disk maybe corrupted"; - QFile::rename(file, file + QString(".corrupted")); - QMessageBox::critical( - nullptr, - QObject::tr("Error reading contacts!"), - QObject::tr("Your hush contacts from disk maybe corrupted"), - QMessageBox::Ok - ); + qDebug() << "Error reading contacts! ---> Your hush contacts from disk maybe corrupted"; + QFile::rename(file, file + QString(".corrupted")); + QMessageBox::critical( + nullptr, + QObject::tr("Error reading contacts!"), + QObject::tr("Your hush contacts from disk maybe corrupted"), + QMessageBox::Ok + ); } - else + else { - qDebug() << "Read " << version << " Hush contacts from disk..."; - QList> stuff; - in >> stuff; - for (int i=0; i < stuff.size(); i++) + QString version; + in >> version; + if(version == "v1") { - qDebug() << stuff[i].size(); - ContactItem contact; - if(stuff[i].size() == 2) + qDebug() << "Detected old addressbook format"; + // Convert old addressbook format v1 to v2 + QList> stuff; + in >> stuff; + qDebug() << "Stuff: " << stuff; + for (int i=0; i < stuff.size(); i++) { - contact = ContactItem(stuff[i][0],stuff[i][1]); - + ContactItem contact = ContactItem(stuff[i].first, stuff[i].second); + contacts.push_back(contact); + qDebug() << "contact=" << contact.toQTString(); } - else if(stuff[i].size() == 4) + + } + else + { + qDebug() << "Read " << version << " Hush contacts from disk..."; + QList> stuff; + in >> stuff; + qDebug() << "Dataarray size: " << stuff.size(); + if(stuff.size() == 0) + return contacts; + + for (int i= 0; i < stuff.size(); i++) { - contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3]); + qDebug() << stuff[i].size(); + ContactItem contact; + if(stuff[i].size() == 4) + { + contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3]); + } + else + { + contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3],stuff[i][4]); + } + qDebug() << contact.toQTString(); + contacts.push_back(contact); } - else - { - contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3],stuff[i][4]); - } - + - contacts.push_back(contact); } qDebug() << "Hush contacts readed from disk..."; } - + _file.close(); } else diff --git a/src/addressbook.cpp b/src/addressbook.cpp index 808ca40..6d7f913 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -417,12 +417,7 @@ void AddressBook::readFromStorage() allLabels = FileSystem::getInstance()->readContacts(AddressBook::writeableFile()); // test to see if the contact items in datastore are correctly dumped to json - for(ContactItem item: allLabels) - { - DataStore::getContactDataStore()->setData(item.getCid(), item); - } DataStore::getContactDataStore()->dump(); - AddressBook::writeToStorage(); } void AddressBook::writeToStorage() From e21a02a510e5a8274954030067cbbc3e3ab667df Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 28 May 2020 21:05:54 +0200 Subject: [PATCH 180/256] change error message if sdl has no connection --- src/controller.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/controller.cpp b/src/controller.cpp index 83ee2e4..17f80bc 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -563,7 +563,7 @@ void Controller::getInfoThenRefresh(bool force) QMessageBox::critical( main, QObject::tr("Connection Error"), - QObject::tr("There was an error connecting to hushd. The error was") + ": \n\n"+ err, + QObject::tr("There was an error connecting to the server. Please check your internet connection. The error was") + ": \n\n"+ err, QMessageBox::StandardButton::Ok ); shown = false; From c298b8a63cf62511569475dc8dcb21c841305abe Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 28 May 2020 21:08:52 +0200 Subject: [PATCH 181/256] change default theme to dark --- src/mainwindow.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 7db28cf..27c567e 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -59,7 +59,7 @@ MainWindow::MainWindow(QWidget *parent) : } catch (...) { - theme_name = "default"; + theme_name = "dark"; } this->slot_change_theme(theme_name); @@ -1823,7 +1823,7 @@ void MainWindow::slot_change_theme(const QString& theme_name) } catch (...) { - saved_theme_name = "default"; + saved_theme_name = "dark"; } QFile qFile(":/css/res/css/" + saved_theme_name +".css"); From 83dc3b5135251bee968ae5d262420f91c21ff4e4 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 28 May 2020 21:30:21 +0200 Subject: [PATCH 182/256] make sd-logo default for a new contact --- src/addressbook.ui | 28 +++++++++++------------ src/contactrequest.ui | 44 ++++++++++++++++++------------------- src/requestContactDialog.ui | 28 +++++++++++------------ 3 files changed, 50 insertions(+), 50 deletions(-) diff --git a/src/addressbook.ui b/src/addressbook.ui index f7877bf..1bcf214 100644 --- a/src/addressbook.ui +++ b/src/addressbook.ui @@ -65,21 +65,21 @@ - Stag + SDLogo - :/icons/res/Stag.png + :/icons/res/sdlogo.png - Elsa + Duke - :/icons/res/Elsa.png + :/icons/res/Duke.png @@ -95,41 +95,41 @@ - Duke + Berg - :/icons/res/Duke.png + :/icons/res/Berg.png - Yoda + Sharpee - :/icons/res/Yoda.png + :/icons/res/Sharpee.png - Berg + Elsa - :/icons/res/Berg.png + :/icons/res/Elsa.png - Sharpee + Yoda - :/icons/res/Sharpee.png + :/icons/res/Yoda.png @@ -185,11 +185,11 @@ - SDLogo + Stag - :/icons/res/sdlogo2.png + :/icons/res/Stag.png diff --git a/src/contactrequest.ui b/src/contactrequest.ui index 1e37ee9..cd4120b 100644 --- a/src/contactrequest.ui +++ b/src/contactrequest.ui @@ -38,21 +38,21 @@ - Stag + SDLogo - :/icons/res/Stag.png + :/icons/res/sdlogo.png - Elsa + Duke - :/icons/res/Elsa.png + :/icons/res/Duke.png @@ -68,41 +68,51 @@ - Duke + Berg - :/icons/res/Duke.png + :/icons/res/Berg.png - Yoda + Stag - :/icons/res/Yoda.png + :/icons/res/Stag.png - Berg + Sharpee - :/icons/res/Berg.png + :/icons/res/Sharpee.png - Sharpee + Elsa - :/icons/res/Sharpee.png + :/icons/res/Elsa.png + + + + + + Yoda + + + + :/icons/res/Yoda.png @@ -156,16 +166,6 @@ - - - SDLogo - - - - :/icons/res/sdlogo2.png - - - diff --git a/src/requestContactDialog.ui b/src/requestContactDialog.ui index d4420ea..f8cb244 100644 --- a/src/requestContactDialog.ui +++ b/src/requestContactDialog.ui @@ -205,21 +205,21 @@ - Stag + SDLogo - :/icons/res/Stag.png + :/icons/res/sdlogo.png - Elsa + Duke - :/icons/res/Elsa.png + :/icons/res/Duke.png @@ -235,41 +235,41 @@ - Duke + Berg - :/icons/res/Duke.png + :/icons/res/Berg.png - Yoda + Sharpee - :/icons/res/Yoda.png + :/icons/res/Sharpee.png - Berg + Elsa - :/icons/res/Berg.png + :/icons/res/Elsa.png - Sharpee + Yoda - :/icons/res/Sharpee.png + :/icons/res/Yoda.png @@ -325,11 +325,11 @@ - SDLogo + Stag - :/icons/res/sdlogo2.png + :/icons/res/Stag.png From 854b14df6a744733e6052d8582887f15226d0941 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 30 May 2020 14:12:17 +0200 Subject: [PATCH 183/256] unready code for mmessage encryption --- src/chatmodel.cpp | 231 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 230 insertions(+), 1 deletion(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index ee3fe6d..445a6f1 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -374,7 +374,236 @@ Tx MainWindow::createTxFromChatPage() { QString hmemo= createHeaderMemo(type,cid,myAddr); - QString memo = ui->memoTxtChat->toPlainText().trimmed(); + QString memounencrypt = ui->memoTxtChat->toPlainText().trimmed(); + + + int length = memounencrypt.length(); + + char *sequence = NULL; + sequence = new char[length+1]; + strncpy(sequence, memounencrypt.toLocal8Bit(), length +1); + +////////////////////////////////////////////////////Important: If we can decrypt the output of QString memo, after we encrypt it, Bobs code must be in Controller.cpp + + /////////////////Alice Pubkey + #define MESSAGEAP ((const unsigned char *) "Ioesd") + #define MESSAGEAP_LEN 5 + + unsigned char alice_publickey[crypto_secretstream_xchacha20poly1305_KEYBYTES]; + + crypto_generichash(alice_publickey, sizeof alice_publickey, + MESSAGEAP, MESSAGEAP_LEN, + NULL, 0); + QString alice = QString::fromLocal8Bit((char*)alice_publickey); + qDebug()<<"Alice Pubkey : "<(c1), CIPHERTEXT_LEN); + + qDebug()<<"Size Controller Memo :"<< encryptedMemo.length(); + + QString memo = QString::fromUtf8( encryptedMemo.data(), encryptedMemo.size()); + + + /////////////////Bob Pubkey + #define MESSAGEBAP1 ((const unsigned char *) "Hal12") + #define MESSAGEBAP1_LEN 5 + + unsigned char bob1_publickey[crypto_secretstream_xchacha20poly1305_KEYBYTES]; + + crypto_generichash(bob1_publickey, sizeof bob1_publickey, + MESSAGEBAP1, MESSAGEBAP1_LEN, + NULL, 0); + + qDebug()<<"Bobs Pubkey created"; + + /////////////////Bob Secretkey + #define MESSAGEBS ((const unsigned char *) "Hal11") + #define MESSAGEBS_LEN 5 + + unsigned char bob_secretkey[crypto_secretstream_xchacha20poly1305_HEADERBYTES]; + + crypto_generichash(bob_secretkey, sizeof bob_secretkey, + MESSAGEBS, MESSAGEBS_LEN, + NULL, 0); + + qDebug()<<"Bobs Pubkey created"; + + /////////////////Alice Pubkey bob creates + #define MESSAGEA121 ((const unsigned char *) "Ioesd") + #define MESSAGEAP121_LEN 5 + + unsigned char alice1_publickey[crypto_secretstream_xchacha20poly1305_KEYBYTES]; + + crypto_generichash(alice1_publickey, sizeof alice1_publickey, + MESSAGEA121, MESSAGEAP121_LEN, + NULL, 0); + + QString alice1 = QString::fromLocal8Bit((char*)alice1_publickey); + qDebug()<<"Alice Pubkey Bob create: "<(m2),MESSAGE_LEN); + qDebug()<<"7: "; + QString memodecrypt = QString::fromUtf8( decryptedMemo.data(), decryptedMemo.size()); + + + + qDebug()<<"OUT decrypt:" << memodecrypt; From b67d304b66a9db782a9d6e72b2f3017ef7e0a7d0 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 30 May 2020 21:43:04 +0200 Subject: [PATCH 184/256] undo addressbooklabels storage in filesystem --- src/FileSystem/FileSystem.cpp | 86 +++++++---------------------------- src/Model/ContactItem.h | 10 ++-- src/addressbook.cpp | 19 +++++--- 3 files changed, 34 insertions(+), 81 deletions(-) diff --git a/src/FileSystem/FileSystem.cpp b/src/FileSystem/FileSystem.cpp index f7d37be..d31d5f4 100644 --- a/src/FileSystem/FileSystem.cpp +++ b/src/FileSystem/FileSystem.cpp @@ -1,11 +1,7 @@ -// Copyright 2019-2020 The Hush developers -// GPLv3 - #include "FileSystem.h" + #include #include -#include "../Crypto/passwd.h" -#include "addressbook.h" FileSystem::FileSystem() { @@ -23,9 +19,9 @@ FileSystem* FileSystem::getInstance() return FileSystem::instance; } -QList FileSystem::readContacts(QString file) +/*QList FileSystem::readContacts(QString file) { - return this->readContactsOldFormat(file); //will be called if addresses are in the old dat-format + //return this->readContactsOldFormat(file); //will be called if addresses are in the old dat-format QFile _file(file); if (_file.exists()) @@ -83,7 +79,7 @@ void FileSystem::writeContactsOldFormat(QString file, QList contact c.push_back(item.getAvatar()); _contacts.push_back(c); } - out << QString("v2") << _contacts; + out << QString("v0") << _contacts; _file.close(); } @@ -96,68 +92,20 @@ QList FileSystem::readContactsOldFormat(QString file) contacts.clear(); _file.open(QIODevice::ReadOnly); QDataStream in(&_file); // read the data serialized from the file - if(in.status() == QDataStream::ReadCorruptData) + QString version; + in >> version; + qDebug() << "Read " << version << " Hush contacts from disk..."; + qDebug() << "Detected old addressbook format"; + QList> stuff; + in >> stuff; + //qDebug() << "Stuff: " << stuff; + for (int i=0; i < stuff.size(); i++) { - qDebug() << "Error reading contacts! ---> Your hush contacts from disk maybe corrupted"; - QFile::rename(file, file + QString(".corrupted")); - QMessageBox::critical( - nullptr, - QObject::tr("Error reading contacts!"), - QObject::tr("Your hush contacts from disk maybe corrupted"), - QMessageBox::Ok - ); - } - else - { - QString version; - in >> version; - if(version == "v1") - { - qDebug() << "Detected old addressbook format"; - // Convert old addressbook format v1 to v2 - QList> stuff; - in >> stuff; - qDebug() << "Stuff: " << stuff; - for (int i=0; i < stuff.size(); i++) - { - ContactItem contact = ContactItem(stuff[i].first, stuff[i].second); - contacts.push_back(contact); - qDebug() << "contact=" << contact.toQTString(); - } - - } - else - { - qDebug() << "Read " << version << " Hush contacts from disk..."; - QList> stuff; - in >> stuff; - qDebug() << "Dataarray size: " << stuff.size(); - if(stuff.size() == 0) - return contacts; - - for (int i= 0; i < stuff.size(); i++) - { - qDebug() << stuff[i].size(); - ContactItem contact; - if(stuff[i].size() == 4) - { - contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3]); - } - else - { - contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3],stuff[i][4]); - } - - qDebug() << contact.toQTString(); - contacts.push_back(contact); - } - - - } - - qDebug() << "Hush contacts readed from disk..."; + ContactItem contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3],stuff[i][4]); + contacts.push_back(contact); + i++; } - + _file.close(); } else @@ -173,7 +121,7 @@ FileSystem::~FileSystem() this->instance = nullptr; this->instanced = false; delete this->instance; -} +}*/ FileSystem *FileSystem::instance = nullptr; bool FileSystem::instanced = false; \ No newline at end of file diff --git a/src/Model/ContactItem.h b/src/Model/ContactItem.h index edb512d..63b4b39 100644 --- a/src/Model/ContactItem.h +++ b/src/Model/ContactItem.h @@ -11,11 +11,11 @@ using json = nlohmann::json; class ContactItem { private: - QString _myAddress = ""; - QString _partnerAddress = ""; - QString _name = ""; - QString _cid = ""; - QString _avatar = ":/icons/res/sdlogo.png"; + QString _myAddress; + QString _partnerAddress; + QString _name; + QString _cid; + QString _avatar; public: ContactItem(); diff --git a/src/addressbook.cpp b/src/addressbook.cpp index 6d7f913..28a0f9e 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -380,7 +380,7 @@ AddressBook::AddressBook() void AddressBook::readFromStorage() { - /*QFile file(AddressBook::writeableFile()); + QFile file(AddressBook::writeableFile()); if (file.exists()) { @@ -413,21 +413,26 @@ void AddressBook::readFromStorage() { qDebug() << "No Hush contacts found on disk!"; } - }*/ - allLabels = FileSystem::getInstance()->readContacts(AddressBook::writeableFile()); + } + // allLabels = FileSystem::getInstance()->readContacts(AddressBook::writeableFile()); // test to see if the contact items in datastore are correctly dumped to json - DataStore::getContactDataStore()->dump(); + for(ContactItem item: allLabels) + { + DataStore::getContactDataStore()->setData(item.getCid(), item); + } + + AddressBook::writeToStorage(); } void AddressBook::writeToStorage() { //FileSystem::getInstance()->writeContacts(AddressBook::writeableFile(), DataStore::getContactDataStore()->dump()); - FileSystem::getInstance()->writeContactsOldFormat(AddressBook::writeableFile(), allLabels); + // FileSystem::getInstance()->writeContactsOldFormat(AddressBook::writeableFile(), allLabels); - /*QFile file(AddressBook::writeableFile()); + QFile file(AddressBook::writeableFile()); file.open(QIODevice::ReadWrite | QIODevice::Truncate); QDataStream out(&file); // we will serialize the data into the file QList> contacts; @@ -442,7 +447,7 @@ void AddressBook::writeToStorage() contacts.push_back(c); } out << QString("v1") << contacts; - file.close();*/ + file.close(); } QString AddressBook::writeableFile() From 030443393f2ccf0d1e9ce28e6e6c50f23a2b1e14 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 30 May 2020 22:46:57 +0200 Subject: [PATCH 185/256] rename sdlogo, refresh at new contact --- application.qrc | 2 +- lib/Cargo.lock | 6 ++--- lib/Cargo.toml | 2 +- res/{sdlogo.png => SDLogo.png} | Bin src/FileSystem/FileSystem.cpp | 2 +- src/addressbook.cpp | 42 +++++++++++++++++---------------- src/chatmodel.cpp | 34 +++++++++++++++++--------- 7 files changed, 51 insertions(+), 37 deletions(-) rename res/{sdlogo.png => SDLogo.png} (100%) diff --git a/application.qrc b/application.qrc index bb3c02c..d62ea29 100644 --- a/application.qrc +++ b/application.qrc @@ -9,7 +9,7 @@ res/icon.ico res/mail.png res/darkwing.png - res/sdlogo.png + res/SDLogo.png res/sdlogo2.png res/Berg.png res/Denio.png diff --git a/lib/Cargo.lock b/lib/Cargo.lock index e0ea0c9..d1c7722 100644 --- a/lib/Cargo.lock +++ b/lib/Cargo.lock @@ -1177,7 +1177,7 @@ version = "0.1.0" dependencies = [ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", - "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=d196ad938a22810c0b6b4164e6bf8f1db0409763)", + "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=d2887d07879a93bdd9b2c8bd12504bb977e82fe0)", ] [[package]] @@ -1640,7 +1640,7 @@ dependencies = [ [[package]] name = "silentdragonlitelib" version = "0.1.0" -source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=d196ad938a22810c0b6b4164e6bf8f1db0409763#d196ad938a22810c0b6b4164e6bf8f1db0409763" +source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=d2887d07879a93bdd9b2c8bd12504bb977e82fe0#d2887d07879a93bdd9b2c8bd12504bb977e82fe0" dependencies = [ "base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "bellman 0.1.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", @@ -2631,7 +2631,7 @@ dependencies = [ "checksum serde_yaml 0.8.11 (registry+https://github.com/rust-lang/crates.io-index)" = "691b17f19fc1ec9d94ec0b5864859290dff279dbd7b03f017afda54eb36c3c35" "checksum sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "27044adfd2e1f077f649f59deb9490d3941d674002f7d062870a60ebe9bd47a0" "checksum signal-hook-registry 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94f478ede9f64724c5d173d7bb56099ec3e2d9fc2774aac65d34b8b890405f41" -"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=d196ad938a22810c0b6b4164e6bf8f1db0409763)" = "" +"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=d2887d07879a93bdd9b2c8bd12504bb977e82fe0)" = "" "checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" "checksum smallvec 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "f7b0758c52e15a8b5e3691eae6cc559f08eee9406e548a4477ba4e67770a82b6" "checksum socket2 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "e8b74de517221a2cb01a53349cf54182acdc31a074727d3079068448c0676d85" diff --git a/lib/Cargo.toml b/lib/Cargo.toml index dba0c30..d46b55f 100644 --- a/lib/Cargo.toml +++ b/lib/Cargo.toml @@ -11,4 +11,4 @@ crate-type = ["staticlib"] [dependencies] libc = "0.2.58" lazy_static = "1.4.0" -silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "d196ad938a22810c0b6b4164e6bf8f1db0409763" } +silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "d2887d07879a93bdd9b2c8bd12504bb977e82fe0" } diff --git a/res/sdlogo.png b/res/SDLogo.png similarity index 100% rename from res/sdlogo.png rename to res/SDLogo.png diff --git a/src/FileSystem/FileSystem.cpp b/src/FileSystem/FileSystem.cpp index d31d5f4..055ca88 100644 --- a/src/FileSystem/FileSystem.cpp +++ b/src/FileSystem/FileSystem.cpp @@ -103,7 +103,7 @@ QList FileSystem::readContactsOldFormat(QString file) { ContactItem contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3],stuff[i][4]); contacts.push_back(contact); - i++; + } _file.close(); diff --git a/src/addressbook.cpp b/src/addressbook.cpp index 28a0f9e..591a9c0 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -39,9 +39,7 @@ void AddressBookModel::loadData() parent->horizontalHeader()->restoreState( QSettings().value( "addresstablegeometry" - ).toByteArray() - - + ).toByteArray() ); } @@ -241,9 +239,14 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) return; - rpc->refresh(true); + // rpc->refresh(true); model.updateUi(); + rpc->refreshContacts( + parent->ui->listContactWidget + + ); + }); // AddressBook::getInstance()->addAddressLabel(newLabel, ab.addr->text(), cid); @@ -394,37 +397,36 @@ void AddressBook::readFromStorage() QList> stuff; in >> stuff; //qDebug() << "Stuff: " << stuff; + for (int i=0; i < stuff.size(); i++) { - //qDebug() << "0:" << stuff[i][0]; + //qDebug() << "0:" << stuff[i][0]; //qDebug() << "1:" << stuff[i][1]; //qDebug() << "2:" << stuff[i][2]; ContactItem contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3],stuff[i][4]); //qDebug() << "contact=" << contact.toQTString(); allLabels.push_back(contact); } - - { - qDebug() << "Read " << version << " Hush contacts from disk..."; - + + qDebug() << "Read " << version << " Hush contacts from disk..."; file.close(); } - }else{ - { - qDebug() << "No Hush contacts found on disk!"; - } - } - // allLabels = FileSystem::getInstance()->readContacts(AddressBook::writeableFile()); - - // test to see if the contact items in datastore are correctly dumped to json - for(ContactItem item: allLabels) + else { - DataStore::getContactDataStore()->setData(item.getCid(), item); + qDebug() << "No Hush contacts found on disk!"; } - AddressBook::writeToStorage(); + // Special. + // Add the default silentdragon donation address if it isn't already present + // QList allAddresses; + // std::transform(allLabels.begin(), allLabels.end(), + // std::back_inserter(allAddresses), [=] (auto i) { return i.getPartnerAddress(); }); + // if (!allAddresses.contains(Settings::getDonationAddr(true))) { + // allLabels.append(QPair("silentdragon donation", Settings::getDonationAddr(true))); + // } } + void AddressBook::writeToStorage() { //FileSystem::getInstance()->writeContacts(AddressBook::writeableFile(), DataStore::getContactDataStore()->dump()); diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index ee3fe6d..3e15300 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -240,16 +240,18 @@ void MainWindow::renderContactRequest(){ qDebug()<<"Beginn kopiert" <addAddressLabel(newLabel, addr, myAddr, cid, avatar); - QMessageBox::information(this, "Added Contact","successfully added your new contact. You can now Chat with this contact"); + QMessageBox::information(this, "Added Contact","successfully added your new contact. You can now Chat with this contact"); + rpc->refreshContacts( + ui->listContactWidget + + ); + }); dialog.exec(); - rpc->refreshContacts( - ui->listContactWidget - - ); + } void ChatModel::addCid(QString tx, QString cid) @@ -374,10 +376,7 @@ Tx MainWindow::createTxFromChatPage() { QString hmemo= createHeaderMemo(type,cid,myAddr); - QString memo = ui->memoTxtChat->toPlainText().trimmed(); - - - + QString memo = ui->memoTxtChat->toPlainText().trimmed(); tx.toAddrs.push_back(ToFields{addr, amt, hmemo}); tx.toAddrs.push_back(ToFields{addr, amt, memo}); @@ -547,7 +546,8 @@ void::MainWindow::addContact() request.setupUi(&dialog); Settings::saveRestore(&dialog); - + try + { bool sapling = true; rpc->createNewZaddr(sapling, [=] (json reply) { QString myAddr = QString::fromStdString(reply.get()[0]); @@ -557,8 +557,20 @@ void::MainWindow::addContact() ui->listReceiveAddresses->setCurrentIndex(0); qDebug() << "new generated myAddr add Contact" << myAddr; }); + + }catch(...) + { + + + qDebug() << QString("Caught something nasty with myZaddr Contact"); + } + + QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); + + + - QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); + From 715317087f4878ec83bd8c41e28f9f51b205dd38 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 30 May 2020 23:09:35 +0200 Subject: [PATCH 186/256] refresh when a new contact get add --- src/chatmodel.cpp | 28 ++++++++++++---------------- src/controller.cpp | 8 +------- 2 files changed, 13 insertions(+), 23 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 3e15300..770e93c 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -239,19 +239,15 @@ void MainWindow::renderContactRequest(){ qDebug()<<"Beginn kopiert" <addAddressLabel(newLabel, addr, myAddr, cid, avatar); + rpc->refreshContacts( + ui->listContactWidget); QMessageBox::information(this, "Added Contact","successfully added your new contact. You can now Chat with this contact"); - rpc->refreshContacts( - ui->listContactWidget - - ); - }); dialog.exec(); - } void ChatModel::addCid(QString tx, QString cid) @@ -565,15 +561,7 @@ void::MainWindow::addContact() qDebug() << QString("Caught something nasty with myZaddr Contact"); } - QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); - - - - - - - - + QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); QObject::connect(request.sendRequestButton, &QPushButton::clicked, [&] () { @@ -723,7 +711,10 @@ void MainWindow::ContactRequest() { delete d; }); - QString addr = contactRequest.getReceiverAddress(); + + /////Add this contact after we sent the request + + QString addr = contactRequest.getReceiverAddress(); QString newLabel = contactRequest.getLabel(); QString myAddr = contactRequest.getSenderAddress(); QString cid = contactRequest.getCid(); @@ -756,17 +747,22 @@ void MainWindow::ContactRequest() { ////// Success, so show it AddressBook::getInstance()->addAddressLabel(newLabel, addr, myAddr, cid, avatar); + rpc->refreshContacts( + ui->listContactWidget); QMessageBox::information( this, QObject::tr("Added Contact"), QObject::tr("successfully added your new contact").arg(newLabel), QMessageBox::Ok + ); return; // Force a UI update so we get the unconfirmed Tx // rpc->refresh(true); ui->memoTxtChat->clear(); rpc->refresh(true); + rpc->refreshContacts( + ui->listContactWidget); }, // Errored out diff --git a/src/controller.cpp b/src/controller.cpp index 17f80bc..0c79240 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -922,8 +922,6 @@ void Controller::refreshTransactions() { isNotarized = false; } - qDebug()<<"Conf : " << confirmations; - ChatItem item = ChatItem( datetime, address, @@ -1078,7 +1076,6 @@ void Controller::refreshTransactions() { } } } - qDebug()<<"get Lag" << getLag(); // Calculate the total unspent amount that's pending. This will need to be // shown in the UI so the user can keep track of pending funds @@ -1098,10 +1095,7 @@ void Controller::refreshTransactions() { // Update model data, which updates the table view transactionsTableModel->replaceData(txdata); chat->renderChatBox(ui, ui->listChat,ui->memoSizeChat); - // refreshContacts( - // ui->listContactWidget - - // ); + }); } From d32d7cf11ada3e8c3e2796ba9b7856fac89630df Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 30 May 2020 23:11:21 +0200 Subject: [PATCH 187/256] add SDLogo icon to combo box --- src/addressbook.ui | 2 +- src/contactrequest.ui | 2 +- src/requestContactDialog.ui | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/addressbook.ui b/src/addressbook.ui index 1bcf214..dd0d06d 100644 --- a/src/addressbook.ui +++ b/src/addressbook.ui @@ -69,7 +69,7 @@ - :/icons/res/sdlogo.png + :/icons/res/SDLogo.png diff --git a/src/contactrequest.ui b/src/contactrequest.ui index cd4120b..9b28dca 100644 --- a/src/contactrequest.ui +++ b/src/contactrequest.ui @@ -42,7 +42,7 @@ - :/icons/res/sdlogo.png + :/icons/res/SDLogo.png diff --git a/src/requestContactDialog.ui b/src/requestContactDialog.ui index f8cb244..4beeced 100644 --- a/src/requestContactDialog.ui +++ b/src/requestContactDialog.ui @@ -209,7 +209,7 @@ - :/icons/res/sdlogo.png + :/icons/res/SDLogo.png From 55b11480478ac77bf099d1692bee88e7723c5116 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 31 May 2020 00:29:03 +0200 Subject: [PATCH 188/256] comments for debug issues --- src/chatmodel.cpp | 201 ++++++++++++++++++++++------------------------ 1 file changed, 96 insertions(+), 105 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index f25fe79..6d6a216 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -370,21 +370,23 @@ Tx MainWindow::createTxFromChatPage() { QString type = "Memo"; QString addr = c.getPartnerAddress(); - + QString hmemo= createHeaderMemo(type,cid,myAddr); - QString memounencrypt = ui->memoTxtChat->toPlainText().trimmed(); + /////////User input for chatmemos + QString memounencrypt = ui->memoTxtChat->toPlainText().trimmed(); + /////////We convert the user input from QString to unsigned char*, so we can encrypt it later int length = memounencrypt.length(); char *sequence = NULL; sequence = new char[length+1]; strncpy(sequence, memounencrypt.toLocal8Bit(), length +1); -////////////////////////////////////////////////////Important: If we can decrypt the output of QString memo, after we encrypt it, Bobs code must be in Controller.cpp +//////////////////////////////////////////////////Lets create Alice keys for the conversation/////////////////////////////////// /////////////////Alice Pubkey - #define MESSAGEAP ((const unsigned char *) "Ioesd") + #define MESSAGEAP ((const unsigned char *) "Ioesd")///////////static atm, in future we will use the CID here #define MESSAGEAP_LEN 5 unsigned char alice_publickey[crypto_secretstream_xchacha20poly1305_KEYBYTES]; @@ -398,7 +400,7 @@ Tx MainWindow::createTxFromChatPage() { /////////////////Alice Secretkey - #define MESSAGEAS ((const unsigned char *) "Hallo") + #define MESSAGEAS ((const unsigned char *) "Hallo")///////////static atm, in future we will use the Passphrase here #define MESSAGEAS_LEN 5 unsigned char alice_secretkey[crypto_secretstream_xchacha20poly1305_KEYBYTES]; @@ -408,7 +410,7 @@ Tx MainWindow::createTxFromChatPage() { NULL, 0); /////////////////Bob Pubkey that Alice creates - #define MESSAGEBAP ((const unsigned char *) "Hal11") + #define MESSAGEBAP ((const unsigned char *) "Hal11")///////////static atm, in future we will use the CID here #define MESSAGEBAP_LEN 5 unsigned char bob_publickey[crypto_secretstream_xchacha20poly1305_KEYBYTES]; @@ -420,55 +422,67 @@ Tx MainWindow::createTxFromChatPage() { qDebug()<<"Alice version of Bobs Pubkey created"; - ////////////Alice creates the Shared key - unsigned char server_rx[crypto_kx_SESSIONKEYBYTES], server_tx[crypto_kx_SESSIONKEYBYTES]; -/* Generate the server's key pair */ -crypto_kx_keypair(alice_publickey, alice_secretkey); + ////////////Now we create shared keys for the conversation////////////////////////////// + + unsigned char server_rx[crypto_kx_SESSIONKEYBYTES], server_tx[crypto_kx_SESSIONKEYBYTES]; + /* Generate the server's key pair */ + crypto_kx_keypair(alice_publickey, alice_secretkey); -/* Prerequisite after this point: the client's public key must be known by the server */ + /* Prerequisite after this point: the client's public key must be known by the server */ -/* Compute two shared keys using the client's public key and the server's secret key. - server_rx will be used by the server to receive data from the client, - server_tx will by used by the server to send data to the client. */ -if (crypto_kx_server_session_keys(server_rx, server_tx, - alice_publickey, alice_secretkey, bob_publickey) != 0) { + /* Compute two shared keys using the client's public key and the server's secret key. + server_rx will be used by the server to receive data from the client, + server_tx will by used by the server to send data to the client. */ + if (crypto_kx_server_session_keys(server_rx, server_tx, + alice_publickey, alice_secretkey, bob_publickey) != 0) { /* Suspicious client public key, bail out */ } - + ////////////Now lets encrypt the message Alice send to Bob////////////////////////////// #define MESSAGE (const unsigned char *) sequence #define MESSAGE_LEN length #define CIPHERTEXT_LEN (MESSAGE_LEN + crypto_secretstream_xchacha20poly1305_ABYTES) -crypto_secretstream_xchacha20poly1305_state state; -//unsigned char header[crypto_secretstream_xchacha20poly1305_HEADERBYTES]; -unsigned char c1[CIPHERTEXT_LEN]; + + crypto_secretstream_xchacha20poly1305_state state; + /////The Header must be known by both, so we can use alice or bobs pubkey here + //unsigned char header[crypto_secretstream_xchacha20poly1305_HEADERBYTES]; -/* Shared secret key required to encrypt/decrypt the stream */ -crypto_secretstream_xchacha20poly1305_keygen(alice_publickey); + unsigned char c1[CIPHERTEXT_LEN]; -/* Set up a new stream: initialize the state and create the header */ -crypto_secretstream_xchacha20poly1305_init_push(&state, bob_publickey, alice_publickey); + /* Shared secret key required to encrypt/decrypt the stream */ + crypto_secretstream_xchacha20poly1305_keygen(alice_publickey); -/* Now, encrypt the first chunk. `c1` will contain an encrypted, - * authenticated representation of `MESSAGE_PART1`. */ -crypto_secretstream_xchacha20poly1305_push - (&state, c1, NULL, MESSAGE, MESSAGE_LEN, NULL, 0, 0); + /* Set up a new stream: initialize the state and create the header */ + ////////////Bobs pubkey will be use as header here, and alice_publickey as Key. Just for testing, we will switch to server_tx here ////////////////////////////// + crypto_secretstream_xchacha20poly1305_init_push(&state, bob_publickey, alice_publickey); + ////Now encrypt the Message/////////////////////////////////// + crypto_secretstream_xchacha20poly1305_push + (&state, c1, NULL, MESSAGE, MESSAGE_LEN, NULL, 0, 0); -///////////get a std:string....QString will give us not good results + ///////////Ciphertext is now in c1 as unsigned char*, we need it as QString, to send it as memo to Bob////////////////////// - std::string encryptedMemo(reinterpret_cast(c1), CIPHERTEXT_LEN); + /////This is not working. It seems the QString has not exact the ciphertext in it. It will not decrypt with it//////////////// + QString memo( reinterpret_cast< char* >( c1 ) ); - qDebug()<<"Size Controller Memo :"<< encryptedMemo.length(); + qDebug()<<"Size QString with encrypted data :"<< memo.length(); ////We check the length here, to compare it with the length our QString - QString memo = QString::fromUtf8( encryptedMemo.data(), encryptedMemo.size()); + ///////Just for testing we convert the unsigned char* to std::string, to see if we can decrypt,and that works.//////////// - - /////////////////Bob Pubkey - #define MESSAGEBAP1 ((const unsigned char *) "Hal12") + std::string encryptedMemo(reinterpret_cast(c1), CIPHERTEXT_LEN); + + + qDebug()<<"Size std::string with encrypted data :"<< encryptedMemo.length(); ////We check the length here, to compare it with the length our QString + + + + /////////////////////////////////Now we create Bobs keys, just for testing at this place. If the encryption/decryption works we put it in Controller.cpp (RefreshTransactions) + + /////////////////Bob Pubkey///////////////////////////////// + #define MESSAGEBAP1 ((const unsigned char *) "Hal12")///////////static atm, in future we will use the CID here #define MESSAGEBAP1_LEN 5 unsigned char bob1_publickey[crypto_secretstream_xchacha20poly1305_KEYBYTES]; @@ -480,7 +494,7 @@ crypto_secretstream_xchacha20poly1305_push qDebug()<<"Bobs Pubkey created"; /////////////////Bob Secretkey - #define MESSAGEBS ((const unsigned char *) "Hal11") + #define MESSAGEBS ((const unsigned char *) "Hal11")///////////static atm, in future we will use the Passphrase here #define MESSAGEBS_LEN 5 unsigned char bob_secretkey[crypto_secretstream_xchacha20poly1305_HEADERBYTES]; @@ -492,7 +506,7 @@ crypto_secretstream_xchacha20poly1305_push qDebug()<<"Bobs Pubkey created"; /////////////////Alice Pubkey bob creates - #define MESSAGEA121 ((const unsigned char *) "Ioesd") + #define MESSAGEA121 ((const unsigned char *) "Ioesd")///////////static atm, in future we will use the CID here #define MESSAGEAP121_LEN 5 unsigned char alice1_publickey[crypto_secretstream_xchacha20poly1305_KEYBYTES]; @@ -507,104 +521,81 @@ crypto_secretstream_xchacha20poly1305_push -////////////BOB creates the Shared key -//unsigned char bob_publickey[crypto_kx_PUBLICKEYBYTES], bob_secretkey[crypto_kx_SECRETKEYBYTES]; -unsigned char client_rx[crypto_kx_SESSIONKEYBYTES], client_tx[crypto_kx_SESSIONKEYBYTES]; - -/* Generate the client's key pair */ -crypto_kx_keypair(bob1_publickey, bob_secretkey); +////////////Now we create the shared keys for Bob/////////////////////////////////////////////// -/* Prerequisite after this point: the server's public key must be known by the client */ + unsigned char client_rx[crypto_kx_SESSIONKEYBYTES], client_tx[crypto_kx_SESSIONKEYBYTES]; -/* Compute two shared keys using the server's public key and the client's secret key. - client_rx will be used by the client to receive data from the server, - client_tx will by used by the client to send data to the server. */ -if (crypto_kx_client_session_keys(client_rx, client_tx, - bob1_publickey, bob_secretkey, alice1_publickey) != 0) { - /* Suspicious server public key, bail out */ -} + /* Generate the client's key pair */ + crypto_kx_keypair(bob1_publickey, bob_secretkey); -qDebug()<<"1 : "; + /* Prerequisite after this point: the server's public key must be known by the client */ + /* Compute two shared keys using the server's public key and the client's secret key. + client_rx will be used by the client to receive data from the server, + client_tx will by used by the client to send data to the server. */ + if (crypto_kx_client_session_keys(client_rx, client_tx, + bob1_publickey, bob_secretkey, alice1_publickey) != 0) { + /* Suspicious server public key, bail out */ + } -qDebug()<<"Size of QString memo send as Transaction:" << memo.length(); - -QString memo1 = QString::fromUtf8( encryptedMemo.data(), encryptedMemo.size()); - -int lenght1 = encryptedMemo.length(); -qDebug()<<"std::string Memo size : "<(m2),MESSAGE_LEN); - qDebug()<<"7: "; - QString memodecrypt = QString::fromUtf8( decryptedMemo.data(), decryptedMemo.size()); - + /////Our decrypted message is now in m. We need it as QString to render it + /////Only the QString gives weird data, so convert first to std::string + std::string decryptedMemo(reinterpret_cast(m),MESSAGE1_LEN); + /////Now we can convert it to QString + QString memodecrypt = QString::fromUtf8( decryptedMemo.data(), decryptedMemo.size()); - - qDebug()<<"OUT decrypt:" << memodecrypt; - - - + //////////////Give us the output of the decrypted message as debug to see if it was successfully + qDebug()<<"OUT decrypt:" << memodecrypt; tx.toAddrs.push_back(ToFields{addr, amt, hmemo}); tx.toAddrs.push_back(ToFields{addr, amt, memo}); From af4a555fb031915e97a751b5fdd0d05e763c36f0 Mon Sep 17 00:00:00 2001 From: Denio <41270280+DenioD@users.noreply.github.com> Date: Sun, 31 May 2020 11:13:56 +0200 Subject: [PATCH 189/256] Update chatmodel.cpp --- src/chatmodel.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 6d6a216..8b5f97d 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -545,8 +545,8 @@ Tx MainWindow::createTxFromChatPage() { ////QString to char+ (not working, it will not decrypt) /*char *memoIncoming = NULL; - memoIncoming = new char[lenght1+1]; - strncpy(memoIncoming, memo.toLocal8Bit(), lenght1+1);*/ + memoIncoming = new char[memo.length()+1]; + strncpy(memoIncoming, memo.toLocal8Bit(), [memo.length()+1);*/ ///////////////////////////if we take the std::string (of the encryption output) instead of QString memo, it will decrypt//////// From 4d74555c171011d52f7912a7fa4c672293f42299 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Mon, 1 Jun 2020 00:03:11 +0200 Subject: [PATCH 190/256] first message encryption with static keys - work in progress --- src/chatmodel.cpp | 198 ++++----------------------------------------- src/controller.cpp | 110 +++++++++++++++++++++++-- 2 files changed, 121 insertions(+), 187 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 8b5f97d..9a2e5f5 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -386,217 +386,53 @@ Tx MainWindow::createTxFromChatPage() { //////////////////////////////////////////////////Lets create Alice keys for the conversation/////////////////////////////////// /////////////////Alice Pubkey - #define MESSAGEAP ((const unsigned char *) "Ioesd")///////////static atm, in future we will use the CID here + #define MESSAGEAP ((const unsigned char *) "Hallo")///////////static atm, in future we will use the CID here #define MESSAGEAP_LEN 5 - unsigned char alice_publickey[crypto_secretstream_xchacha20poly1305_KEYBYTES]; + unsigned char alice_publickey[crypto_box_PUBLICKEYBYTES]; crypto_generichash(alice_publickey, sizeof alice_publickey, MESSAGEAP, MESSAGEAP_LEN, NULL, 0); QString alice = QString::fromLocal8Bit((char*)alice_publickey); - qDebug()<<"Alice Pubkey : "<( c1 ) ); - - qDebug()<<"Size QString with encrypted data :"<< memo.length(); ////We check the length here, to compare it with the length our QString - - ///////Just for testing we convert the unsigned char* to std::string, to see if we can decrypt,and that works.//////////// - - std::string encryptedMemo(reinterpret_cast(c1), CIPHERTEXT_LEN); - - - qDebug()<<"Size std::string with encrypted data :"<< encryptedMemo.length(); ////We check the length here, to compare it with the length our QString - - - - /////////////////////////////////Now we create Bobs keys, just for testing at this place. If the encryption/decryption works we put it in Controller.cpp (RefreshTransactions) + #define CIPHERTEXT_LEN (crypto_box_MACBYTES + MESSAGE_LEN) + unsigned char ciphertext[CIPHERTEXT_LEN]; + + //////Encrypt the message. ATM static keys, this will change! + if (crypto_box_easy(ciphertext, MESSAGE, MESSAGE_LEN, alice_publickey, + alice_publickey, alice_publickey) != 0) { + /* error */ + } - /////////////////Bob Pubkey///////////////////////////////// - #define MESSAGEBAP1 ((const unsigned char *) "Hal12")///////////static atm, in future we will use the CID here - #define MESSAGEBAP1_LEN 5 - - unsigned char bob1_publickey[crypto_secretstream_xchacha20poly1305_KEYBYTES]; - - crypto_generichash(bob1_publickey, sizeof bob1_publickey, - MESSAGEBAP1, MESSAGEBAP1_LEN, - NULL, 0); - - qDebug()<<"Bobs Pubkey created"; - - /////////////////Bob Secretkey - #define MESSAGEBS ((const unsigned char *) "Hal11")///////////static atm, in future we will use the Passphrase here - #define MESSAGEBS_LEN 5 - - unsigned char bob_secretkey[crypto_secretstream_xchacha20poly1305_HEADERBYTES]; - - crypto_generichash(bob_secretkey, sizeof bob_secretkey, - MESSAGEBS, MESSAGEBS_LEN, - NULL, 0); - - qDebug()<<"Bobs Pubkey created"; - - /////////////////Alice Pubkey bob creates - #define MESSAGEA121 ((const unsigned char *) "Ioesd")///////////static atm, in future we will use the CID here - #define MESSAGEAP121_LEN 5 - - unsigned char alice1_publickey[crypto_secretstream_xchacha20poly1305_KEYBYTES]; - - crypto_generichash(alice1_publickey, sizeof alice1_publickey, - MESSAGEA121, MESSAGEAP121_LEN, - NULL, 0); - - QString alice1 = QString::fromLocal8Bit((char*)alice1_publickey); - qDebug()<<"Alice Pubkey Bob create: "<(m),MESSAGE1_LEN); - /////Now we can convert it to QString - QString memodecrypt = QString::fromUtf8( decryptedMemo.data(), decryptedMemo.size()); - - //////////////Give us the output of the decrypted message as debug to see if it was successfully - qDebug()<<"OUT decrypt:" << memodecrypt; - + /////CIphertext Memo + QString memo = QByteArray(reinterpret_cast(ciphertext), CIPHERTEXT_LEN).toHex(); + + tx.toAddrs.push_back(ToFields{addr, amt, hmemo}); tx.toAddrs.push_back(ToFields{addr, amt, memo}); diff --git a/src/controller.cpp b/src/controller.cpp index 0c79240..39efa6a 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -907,10 +907,12 @@ void Controller::refreshTransactions() { this->refresh(true); } + // QString memo1; + QString memo; if (!o["memo"].is_null()) { - memo = QString::fromStdString(o["memo"]); - + QString memo = QString::fromStdString(o["memo"].get()); + QString cid; bool isNotarized; @@ -921,12 +923,89 @@ void Controller::refreshTransactions() { isNotarized = false; } +/////////////////////////////////Now we create Bobs keys, just for testing at this place. If the encryption/decryption works we put it in Controller.cpp (RefreshTransactions) + + /////////////////Alice Pubkey bob create + #define MESSAGEAP ((const unsigned char *) "Hallo")///////////static atm, in future we will use the CID here + #define MESSAGEAP_LEN 5 + + unsigned char alice_publickey[crypto_box_PUBLICKEYBYTES]; + + crypto_generichash(alice_publickey, sizeof alice_publickey, + MESSAGEAP, MESSAGEAP_LEN, + NULL, 0); + + + /////////////////Bob Secretkey + + #define MESSAGEAS ((const unsigned char *) "Hallo")///////////static atm, in future we will use the Passphrase here + #define MESSAGEAS_LEN 5 + + unsigned char bob_secretkey[crypto_box_SECRETKEYBYTES]; + + crypto_generichash(bob_secretkey, sizeof bob_secretkey, + MESSAGEAS, MESSAGEAS_LEN, + NULL, 0); + + /////////////////Bob Pubkey + #define MESSAGEBAP ((const unsigned char *) "Hallo")///////////static atm, in future we will use the CID here + #define MESSAGEBAP_LEN 5 + + unsigned char bob_publickey[crypto_box_PUBLICKEYBYTES]; + + crypto_generichash(bob_publickey, sizeof bob_publickey, + MESSAGEBAP, MESSAGEBAP_LEN, + NULL, 0); + + + + /////We need to filter out Memos smaller then the ciphertext size, or it will dump + + if ((memo.length() > 120) && (memo.startsWith("{") == false)) + { + + + const QByteArray ba = QByteArray::fromHex(memo.toLatin1()); + const unsigned char *encryptedMemo = reinterpret_cast(ba.constData()); + + int encryptedMemoSize1 = ba.length(); + + //////unsigned char* as message from QString + #define MESSAGE2 (const unsigned char *) encryptedMemo + + ///////// length of the encrypted message + #define CIPHERTEXT1_LEN encryptedMemoSize1 + + ///////Message length is smaller then the encrypted message + #define MESSAGE1_LEN encryptedMemoSize1 - crypto_box_MACBYTES + + //////Set the length of the decrypted message + + unsigned char decrypted[MESSAGE1_LEN]; + + ///////Decrypt the message + if (crypto_box_open_easy(decrypted, MESSAGE2, CIPHERTEXT1_LEN, alice_publickey, + alice_publickey, alice_publickey) != 0) { + /* message for Bob pretending to be from Alice has been forged! */ + } + + /////Our decrypted message is now in decrypted. We need it as QString to render it + /////Only the QString gives weird data, so convert first to std::string + + std::string decryptedMemo(reinterpret_cast(decrypted),MESSAGE1_LEN); + + /////Now we can convert it to QString + QString memodecrypt = QString::fromUtf8( decryptedMemo.data(), decryptedMemo.size()); - ChatItem item = ChatItem( + //////////////Give us the output of the decrypted message as debug to see if it was successfully + qDebug()<<"OUT decrypt:" << memodecrypt; + + + ChatItem item = ChatItem( datetime, address, QString(""), - memo, + memodecrypt, QString(""), QString(""), cid, @@ -940,9 +1019,28 @@ void Controller::refreshTransactions() { - } + }else{ + + + ChatItem item = ChatItem( + datetime, + address, + QString(""), + memo, + QString(""), + QString(""), + cid, + txid, + confirmations, + true, + isNotarized, + false + ); + DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); + + } - + } items.push_back(TransactionItemDetail{address, amount, memo}); total_amount = total_amount + amount; } From e1863058da78d90f67ce166d650d385c0f253616 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Mon, 1 Jun 2020 00:17:47 +0200 Subject: [PATCH 191/256] use cid as key for the moment --- src/chatmodel.cpp | 23 +++++++++++++++-------- src/controller.cpp | 33 +++++++++++++++++++++++++++++++-- 2 files changed, 46 insertions(+), 10 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 9a2e5f5..1ac2acc 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -374,19 +374,26 @@ Tx MainWindow::createTxFromChatPage() { QString hmemo= createHeaderMemo(type,cid,myAddr); /////////User input for chatmemos - QString memounencrypt = ui->memoTxtChat->toPlainText().trimmed(); + QString memoplain = ui->memoTxtChat->toPlainText().trimmed(); /////////We convert the user input from QString to unsigned char*, so we can encrypt it later - int length = memounencrypt.length(); + int lengthmemo = memoplain.length(); - char *sequence = NULL; - sequence = new char[length+1]; - strncpy(sequence, memounencrypt.toLocal8Bit(), length +1); + char *memoplainchar = NULL; + memoplainchar = new char[lengthmemo+1]; + strncpy(memoplainchar, memoplain.toLocal8Bit(), lengthmemo +1); + + /////////We convert the CID from QString to unsigned char*, so we can encrypt it later + int lengthcid = cid.length(); + + char *cidchar = NULL; + cidchar = new char[lengthcid+1]; + strncpy(cidchar, cid.toLocal8Bit(), lengthcid +1); //////////////////////////////////////////////////Lets create Alice keys for the conversation/////////////////////////////////// /////////////////Alice Pubkey - #define MESSAGEAP ((const unsigned char *) "Hallo")///////////static atm, in future we will use the CID here + #define MESSAGEAP ((const unsigned char *) cidchar)///////////static atm, in future we will use the CID here #define MESSAGEAP_LEN 5 unsigned char alice_publickey[crypto_box_PUBLICKEYBYTES]; @@ -418,8 +425,8 @@ Tx MainWindow::createTxFromChatPage() { NULL, 0); ////////////Now lets encrypt the message Alice send to Bob////////////////////////////// - #define MESSAGE (const unsigned char *) sequence - #define MESSAGE_LEN length + #define MESSAGE (const unsigned char *) memoplainchar + #define MESSAGE_LEN lengthmemo #define CIPHERTEXT_LEN (crypto_box_MACBYTES + MESSAGE_LEN) unsigned char ciphertext[CIPHERTEXT_LEN]; diff --git a/src/controller.cpp b/src/controller.cpp index 39efa6a..4069022 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -910,10 +910,24 @@ void Controller::refreshTransactions() { // QString memo1; QString memo; + QString cid; if (!o["memo"].is_null()) { QString memo = QString::fromStdString(o["memo"].get()); + + if (memo.startsWith("{")) { + + QJsonDocument headermemo = QJsonDocument::fromJson(memo.toUtf8()); + + cid = headermemo["cid"].toString(); + + + + chatModel->addCid(txid, cid); + + + } + - QString cid; bool isNotarized; if (confirmations > getLag()) @@ -923,10 +937,25 @@ void Controller::refreshTransactions() { isNotarized = false; } + + if (chatModel->getCidByTx(txid) != QString("0xdeadbeef")){ + + cid = chatModel->getCidByTx(txid); + + }else{ + cid = ""; + } + + int lengthcid = cid.length(); + + char *cidchar = NULL; + cidchar = new char[lengthcid+1]; + strncpy(cidchar, cid.toLocal8Bit(), lengthcid +1); + /////////////////////////////////Now we create Bobs keys, just for testing at this place. If the encryption/decryption works we put it in Controller.cpp (RefreshTransactions) /////////////////Alice Pubkey bob create - #define MESSAGEAP ((const unsigned char *) "Hallo")///////////static atm, in future we will use the CID here + #define MESSAGEAP ((const unsigned char *) cidchar)///////////static atm, in future we will use the CID here #define MESSAGEAP_LEN 5 unsigned char alice_publickey[crypto_box_PUBLICKEYBYTES]; From a8c9a8e2efea81db8b263342e70f231790f19bf6 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Mon, 1 Jun 2020 00:47:46 +0200 Subject: [PATCH 192/256] use length of cid --- src/chatmodel.cpp | 2 +- src/controller.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 1ac2acc..b033d7e 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -394,7 +394,7 @@ Tx MainWindow::createTxFromChatPage() { /////////////////Alice Pubkey #define MESSAGEAP ((const unsigned char *) cidchar)///////////static atm, in future we will use the CID here - #define MESSAGEAP_LEN 5 + #define MESSAGEAP_LEN lengthcid unsigned char alice_publickey[crypto_box_PUBLICKEYBYTES]; diff --git a/src/controller.cpp b/src/controller.cpp index 4069022..342a24a 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -956,7 +956,7 @@ void Controller::refreshTransactions() { /////////////////Alice Pubkey bob create #define MESSAGEAP ((const unsigned char *) cidchar)///////////static atm, in future we will use the CID here - #define MESSAGEAP_LEN 5 + #define MESSAGEAP_LEN lengthcid unsigned char alice_publickey[crypto_box_PUBLICKEYBYTES]; From 21c727efb006ecc5b215a3c831f734a2524fb5a5 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Mon, 1 Jun 2020 21:24:39 +0200 Subject: [PATCH 193/256] switch to secretstream for encryption - work in progress --- src/Model/ContactItem.cpp | 2 + src/Model/ContactItem.h | 1 + src/chatmodel.cpp | 156 ++++++++++++++++++------- src/chatmodel.h | 3 + src/controller.cpp | 234 ++++++++++++++++++++++++++++---------- src/mainwindow.h | 2 +- 6 files changed, 298 insertions(+), 100 deletions(-) diff --git a/src/Model/ContactItem.cpp b/src/Model/ContactItem.cpp index 589ca9f..b542270 100644 --- a/src/Model/ContactItem.cpp +++ b/src/Model/ContactItem.cpp @@ -19,6 +19,7 @@ ContactItem::ContactItem(QString name, QString partnerAddress, QString myAddress _myAddress = myAddress; _partnerAddress = partnerAddress; _cid = cid; + } ContactItem::ContactItem(QString name, QString partnerAddress, QString myAddress, QString cid, QString avatar) @@ -28,6 +29,7 @@ ContactItem::ContactItem(QString name, QString partnerAddress, QString myAddress _partnerAddress = partnerAddress; _cid = cid; _avatar = avatar; + } QString ContactItem::getName() const diff --git a/src/Model/ContactItem.h b/src/Model/ContactItem.h index 63b4b39..e5e313d 100644 --- a/src/Model/ContactItem.h +++ b/src/Model/ContactItem.h @@ -16,6 +16,7 @@ private: QString _name; QString _cid; QString _avatar; + QString _pubkey; public: ContactItem(); diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index b033d7e..bc45d8b 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -255,6 +255,11 @@ void ChatModel::addCid(QString tx, QString cid) this->cidMap[tx] = cid; } +void ChatModel::addHeader(QString tx, QString headerbytes) +{ + this->headerMap[tx] = headerbytes; +} + void ChatModel::addrequestZaddr(QString tx, QString requestZaddr) { this->requestZaddrMap[tx] = requestZaddr; @@ -280,6 +285,21 @@ QString ChatModel::getCidByTx(QString tx) return QString("0xdeadbeef"); } +QString ChatModel::getHeaderByTx(QString tx) +{ + for(auto& pair : this->headerMap) + { + + } + + if(this->headerMap.count(tx) > 0) + { + return this->headerMap[tx]; + } + + return QString("0xdeadbeef"); +} + QString ChatModel::getConfirmationByTx(QString tx) { for(auto& pair : this->confirmationsMap) @@ -325,7 +345,7 @@ void ChatModel::killConfirmationCache() this->confirmationsMap.clear(); } -QString MainWindow::createHeaderMemo(QString type, QString cid, QString zaddr, int version=0, int headerNumber=1) +QString MainWindow::createHeaderMemo(QString type, QString cid, QString zaddr, QString headerbytes, QString publickey, int version=0, int headerNumber=1) { QString header=""; @@ -338,6 +358,9 @@ QString MainWindow::createHeaderMemo(QString type, QString cid, QString zaddr, h["z"] = zaddr; // zaddr to respond to h["cid"] = cid; // conversation id h["t"] = type; // Memo or incoming contact request + h["e"] = headerbytes; // Memo or incoming contact request + h["p"] = publickey; // Memo or incoming contact request + j.setObject(h); header = j.toJson(); @@ -346,6 +369,7 @@ QString MainWindow::createHeaderMemo(QString type, QString cid, QString zaddr, } + // Create a Tx from the current state of the Chat page. Tx MainWindow::createTxFromChatPage() { Tx tx; @@ -370,8 +394,7 @@ Tx MainWindow::createTxFromChatPage() { QString type = "Memo"; QString addr = c.getPartnerAddress(); - - QString hmemo= createHeaderMemo(type,cid,myAddr); + /////////User input for chatmemos QString memoplain = ui->memoTxtChat->toPlainText().trimmed(); @@ -390,58 +413,76 @@ Tx MainWindow::createTxFromChatPage() { cidchar = new char[lengthcid+1]; strncpy(cidchar, cid.toLocal8Bit(), lengthcid +1); -//////////////////////////////////////////////////Lets create Alice keys for the conversation/////////////////////////////////// - - /////////////////Alice Pubkey - #define MESSAGEAP ((const unsigned char *) cidchar)///////////static atm, in future we will use the CID here - #define MESSAGEAP_LEN lengthcid + - unsigned char alice_publickey[crypto_box_PUBLICKEYBYTES]; + QString pubkey = "test"; + QString passphrase = this->getPassword(); + QString hashEncryptionKey = passphrase; + int length = hashEncryptionKey.length(); - crypto_generichash(alice_publickey, sizeof alice_publickey, - MESSAGEAP, MESSAGEAP_LEN, - NULL, 0); - QString alice = QString::fromLocal8Bit((char*)alice_publickey); + qDebug()<<"Encryption String :"<(ba2.constData()); - unsigned char alice_secretkey[crypto_box_SECRETKEYBYTES]; + #define MESSAGEAS1 ((const unsigned char *) hashEncryptionKeyraw) + #define MESSAGEAS1_LEN length + unsigned char hash[crypto_kx_SEEDBYTES]; - crypto_generichash(alice_secretkey, sizeof alice_secretkey, - MESSAGEAS, MESSAGEAS_LEN, - NULL, 0); + crypto_hash_sha256(hash,MESSAGEAS1, MESSAGEAS1_LEN); - /////////////////Bob Pubkey that Alice creates - #define MESSAGEBAP ((const unsigned char *) "Hallo")///////////static atm, in future we will use the CID here - #define MESSAGEBAP_LEN 5 - unsigned char bob_publickey[crypto_box_PUBLICKEYBYTES]; + unsigned char sk[crypto_kx_SECRETKEYBYTES]; + unsigned char pk[crypto_kx_PUBLICKEYBYTES]; + unsigned char server_rx[crypto_kx_SESSIONKEYBYTES], server_tx[crypto_kx_SESSIONKEYBYTES]; + + if (crypto_kx_seed_keypair(pk,sk, + hash) !=0) { + } + ////////////////Get the pubkey from Bob, so we can create the share key - crypto_generichash(bob_publickey, sizeof bob_publickey, - MESSAGEBAP, MESSAGEBAP_LEN, - NULL, 0); + const QByteArray pubkeyBobArray = QByteArray::fromHex(pubkey.toLatin1()); + const unsigned char *pubkeyBob = reinterpret_cast(pubkeyBobArray.constData()); + /////Create the shared key for sending the message - ////////////Now lets encrypt the message Alice send to Bob////////////////////////////// - #define MESSAGE (const unsigned char *) memoplainchar - #define MESSAGE_LEN lengthmemo - #define CIPHERTEXT_LEN (crypto_box_MACBYTES + MESSAGE_LEN) - unsigned char ciphertext[CIPHERTEXT_LEN]; + if (crypto_kx_server_session_keys(server_rx, server_tx, + pk, sk, pubkeyBob) != 0) { + /* Suspicious client public key, bail out */ + } - //////Encrypt the message. ATM static keys, this will change! - if (crypto_box_easy(ciphertext, MESSAGE, MESSAGE_LEN, alice_publickey, - alice_publickey, alice_publickey) != 0) { - /* error */ - } - /////CIphertext Memo - QString memo = QByteArray(reinterpret_cast(ciphertext), CIPHERTEXT_LEN).toHex(); + + ////////////Now lets encrypt the message Alice send to Bob////////////////////////////// + #define MESSAGE (const unsigned char *) memoplainchar + #define MESSAGE_LEN lengthmemo + #define CIPHERTEXT_LEN (crypto_secretstream_xchacha20poly1305_ABYTES + MESSAGE_LEN) + unsigned char ciphertext[CIPHERTEXT_LEN]; + unsigned char header[crypto_secretstream_xchacha20poly1305_HEADERBYTES]; + + crypto_secretstream_xchacha20poly1305_state state; + + /* Set up a new stream: initialize the state and create the header */ + crypto_secretstream_xchacha20poly1305_init_push(&state, header, server_tx); + + + /* Now, encrypt the first chunk. `c1` will contain an encrypted, + * authenticated representation of `MESSAGE_PART1`. */ + crypto_secretstream_xchacha20poly1305_push + (&state, ciphertext, NULL, MESSAGE, MESSAGE_LEN, NULL, 0, crypto_secretstream_xchacha20poly1305_TAG_FINAL); + + ////Create the HM for this message + QString headerbytes = QByteArray(reinterpret_cast(header), crypto_secretstream_xchacha20poly1305_HEADERBYTES).toHex(); + + QString hmemo= createHeaderMemo(type,cid,myAddr,"",headerbytes); + + /////Ciphertext Memo + QString memo = QByteArray(reinterpret_cast(ciphertext), CIPHERTEXT_LEN).toHex(); - tx.toAddrs.push_back(ToFields{addr, amt, hmemo}); - tx.toAddrs.push_back(ToFields{addr, amt, memo}); + tx.toAddrs.push_back(ToFields{addr, amt, hmemo}); + tx.toAddrs.push_back(ToFields{addr, amt, memo}); @@ -670,6 +711,7 @@ Tx MainWindow::createTxForSafeContactRequest() CAmount totalAmt; QString amtStr = "0"; CAmount amt; + QString headerbytes = ""; amt = CAmount::fromDecimalString("0"); totalAmt = totalAmt + amt; @@ -678,8 +720,38 @@ Tx MainWindow::createTxForSafeContactRequest() QString type = "Cont"; QString addr = contactRequest.getReceiverAddress(); - QString hmemo= createHeaderMemo(type,cid,myAddr); + QString memo = contactRequest.getMemo(); + // QString privkey = rpc->fetchPrivKey(myAddr); + QString passphrase = this->getPassword(); + QString hashEncryptionKey = passphrase; + int length = hashEncryptionKey.length(); + + qDebug()<<"Encryption String :"<(ba2.constData()); + #define MESSAGEAS1 ((const unsigned char *) hashEncryptionKeyraw) + #define MESSAGEAS1_LEN length + + + unsigned char hash[crypto_kx_SEEDBYTES]; + + crypto_hash_sha256(hash,MESSAGEAS1, MESSAGEAS1_LEN); + + + unsigned char sk[crypto_kx_SECRETKEYBYTES]; + unsigned char pk[crypto_kx_PUBLICKEYBYTES]; + + if (crypto_kx_seed_keypair(pk,sk, + hash) !=0) { + } + + QString publicKey = QByteArray(reinterpret_cast(pk), crypto_kx_PUBLICKEYBYTES).toHex(); + + QString hmemo= createHeaderMemo(type,cid,myAddr,"", publicKey); tx.toAddrs.push_back(ToFields{addr, amt, hmemo}); diff --git a/src/chatmodel.h b/src/chatmodel.h index 1768b9f..b7203ad 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -35,6 +35,7 @@ class ChatModel std::map requestZaddrMap; std::map confirmationsMap; std::map> sendrequestMap; + std::map headerMap; std::map AddressbyLabelMap; public: @@ -52,10 +53,12 @@ class ChatModel void addMessage(ChatItem item); void addMessage(QString timestamp, ChatItem item); void addCid(QString tx, QString cid); + void addHeader(QString tx, QString headerbytes); void addrequestZaddr(QString tx, QString requestZaddr); void addconfirmations(QString tx, int confirmation); void addSendRequest(int i, QString myAddr, QString cid, QString addr ); QString getCidByTx(QString tx); + QString getHeaderByTx(QString tx); QString getrequestZaddrByTx(QString tx); QString getConfirmationByTx(QString tx); QString Addressbylabel(QString addr); diff --git a/src/controller.cpp b/src/controller.cpp index 342a24a..50bcdd6 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -907,27 +907,25 @@ void Controller::refreshTransactions() { this->refresh(true); } - // QString memo1; - QString memo; - QString cid; + QString cid; + QString headerbytes; + QString pubkey; if (!o["memo"].is_null()) { - QString memo = QString::fromStdString(o["memo"].get()); - + memo = QString::fromStdString(o["memo"].get()); + if (memo.startsWith("{")) { QJsonDocument headermemo = QJsonDocument::fromJson(memo.toUtf8()); cid = headermemo["cid"].toString(); - - + headerbytes = headermemo["e"].toString(); - chatModel->addCid(txid, cid); - + chatModel->addCid(txid, cid); + chatModel->addHeader(txid, headerbytes); } - - + bool isNotarized; if (confirmations > getLag()) @@ -942,62 +940,81 @@ void Controller::refreshTransactions() { cid = chatModel->getCidByTx(txid); + }else{ + cid = ""; + } + + + if (chatModel->getHeaderByTx(txid) != QString("0xdeadbeef")){ + + headerbytes = chatModel->getHeaderByTx(txid); + }else{ - cid = ""; + headerbytes = ""; } + qDebug()<<"Headerbytes :"< 0)) + { + /*for (auto &p : AddressBook::getInstance()->getAllAddressLabels()) + { - /////////////////Bob Secretkey + if (p.getPartnerAddress() == address) + { pubkey = p.getPubkey(); + }else {pubkey = ""; + }*/ + + //QString myAddr = p.getMyAddress(); + QString passphrase = main->getPassword(); + QString hashEncryptionKey = passphrase; + int length = hashEncryptionKey.length(); - #define MESSAGEAS ((const unsigned char *) "Hallo")///////////static atm, in future we will use the Passphrase here - #define MESSAGEAS_LEN 5 + qDebug()<<"Encryption String :"<(ba2.constData()); + #define MESSAGEAS1 ((const unsigned char *) hashEncryptionKeyraw) + #define MESSAGEAS1_LEN length - /////////////////Bob Pubkey - #define MESSAGEBAP ((const unsigned char *) "Hallo")///////////static atm, in future we will use the CID here - #define MESSAGEBAP_LEN 5 - unsigned char bob_publickey[crypto_box_PUBLICKEYBYTES]; + #define MESSAGEAS1 ((const unsigned char *) hashEncryptionKeyraw)///////////static atm, in future we will use the Passphrase here + #define MESSAGEAS1_LEN 12 - crypto_generichash(bob_publickey, sizeof bob_publickey, - MESSAGEBAP, MESSAGEBAP_LEN, - NULL, 0); + + unsigned char hash1[crypto_kx_SECRETKEYBYTES]; + crypto_hash_sha256(hash1,MESSAGEAS1, MESSAGEAS1_LEN); + unsigned char sk[crypto_kx_SECRETKEYBYTES]; + unsigned char pk[crypto_kx_PUBLICKEYBYTES]; + + if (crypto_kx_seed_keypair(pk,sk, + hash1) !=0) { - /////We need to filter out Memos smaller then the ciphertext size, or it will dump + } - if ((memo.length() > 120) && (memo.startsWith("{") == false)) - { + unsigned char client_rx[crypto_kx_SESSIONKEYBYTES], client_tx[crypto_kx_SESSIONKEYBYTES]; + - const QByteArray ba = QByteArray::fromHex(memo.toLatin1()); const unsigned char *encryptedMemo = reinterpret_cast(ba.constData()); + const QByteArray ba1 = QByteArray::fromHex(headerbytes.toLatin1()); + const unsigned char *header = reinterpret_cast(ba1.constData()); + int encryptedMemoSize1 = ba.length(); + int headersize = ba1.length(); //////unsigned char* as message from QString #define MESSAGE2 (const unsigned char *) encryptedMemo @@ -1006,20 +1023,25 @@ void Controller::refreshTransactions() { #define CIPHERTEXT1_LEN encryptedMemoSize1 ///////Message length is smaller then the encrypted message - #define MESSAGE1_LEN encryptedMemoSize1 - crypto_box_MACBYTES + #define MESSAGE1_LEN encryptedMemoSize1 - crypto_secretstream_xchacha20poly1305_ABYTES //////Set the length of the decrypted message unsigned char decrypted[MESSAGE1_LEN]; + unsigned char tag[crypto_secretstream_xchacha20poly1305_TAG_FINAL]; + crypto_secretstream_xchacha20poly1305_state state; - ///////Decrypt the message - if (crypto_box_open_easy(decrypted, MESSAGE2, CIPHERTEXT1_LEN, alice_publickey, - alice_publickey, alice_publickey) != 0) { - /* message for Bob pretending to be from Alice has been forged! */ - } - /////Our decrypted message is now in decrypted. We need it as QString to render it /////Only the QString gives weird data, so convert first to std::string + // crypto_secretstream_xchacha20poly1305_keygen(client_rx); + if (crypto_secretstream_xchacha20poly1305_init_pull(&state, header, client_rx) != 0) { + /* Invalid header, no need to go any further */ + } + + if (crypto_secretstream_xchacha20poly1305_pull + (&state, decrypted, NULL, tag, MESSAGE2, CIPHERTEXT1_LEN, NULL, 0) != 0) { + /* Invalid/incomplete/corrupted ciphertext - abort */ + } std::string decryptedMemo(reinterpret_cast(decrypted),MESSAGE1_LEN); @@ -1047,7 +1069,7 @@ void Controller::refreshTransactions() { DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); - + // } }else{ @@ -1068,8 +1090,8 @@ void Controller::refreshTransactions() { DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); } + } - } items.push_back(TransactionItemDetail{address, amount, memo}); total_amount = total_amount + amount; } @@ -1114,6 +1136,8 @@ void Controller::refreshTransactions() { txdata.push_back(tx); QString type; + QString publickey; + QString headerbytes; QString cid; int position; QString requestZaddr; @@ -1149,9 +1173,12 @@ void Controller::refreshTransactions() { cid = headermemo["cid"].toString(); type = headermemo["t"].toString(); requestZaddr = headermemo["z"].toString(); + headerbytes = headermemo["e"].toString(); + publickey = headermemo["p"].toString(); chatModel->addCid(txid, cid); chatModel->addrequestZaddr(txid, requestZaddr); + chatModel->addHeader(txid, headerbytes); } @@ -1169,9 +1196,18 @@ void Controller::refreshTransactions() { requestZaddr = chatModel->getrequestZaddrByTx(txid); }else{ requestZaddr = ""; - } + } + + + if (chatModel->getHeaderByTx(txid) != QString("0xdeadbeef")){ - position = it["position"].get(); + headerbytes = chatModel->getHeaderByTx(txid); + + }else{ + headerbytes = ""; + } + + //position = it["position"].get(); bool isNotarized; @@ -1183,7 +1219,90 @@ void Controller::refreshTransactions() { isNotarized = false; } - ChatItem item = ChatItem( + + int lengthcid = cid.length(); + + char *cidchar = NULL; + cidchar = new char[lengthcid+1]; + strncpy(cidchar, cid.toLocal8Bit(), lengthcid +1); + + if ((memo.startsWith("{") == false) && (headerbytes > 0)) + { + + #define MESSAGEAS ((const unsigned char *) cidchar) + #define MESSAGEAS_LEN lengthcid + + unsigned char hash[crypto_secretstream_xchacha20poly1305_KEYBYTES]; + + crypto_hash_sha256(hash,MESSAGEAS, MESSAGEAS_LEN); + + const QByteArray ba = QByteArray::fromHex(memo.toLatin1()); + const unsigned char *encryptedMemo = reinterpret_cast(ba.constData()); + + const QByteArray ba1 = QByteArray::fromHex(headerbytes.toLatin1()); + const unsigned char *header = reinterpret_cast(ba1.constData()); + + int encryptedMemoSize1 = ba.length(); + int headersize = ba1.length(); + + //////unsigned char* as message from QString + #define MESSAGE2 (const unsigned char *) encryptedMemo + + ///////// length of the encrypted message + #define CIPHERTEXT1_LEN encryptedMemoSize1 + + ///////Message length is smaller then the encrypted message + #define MESSAGE1_LEN encryptedMemoSize1 - crypto_secretstream_xchacha20poly1305_ABYTES + + //////Set the length of the decrypted message + + unsigned char decrypted[MESSAGE1_LEN]; + unsigned char tag[crypto_secretstream_xchacha20poly1305_TAG_FINAL]; + crypto_secretstream_xchacha20poly1305_state state; + + /////Our decrypted message is now in decrypted. We need it as QString to render it + /////Only the QString gives weird data, so convert first to std::string + + if (crypto_secretstream_xchacha20poly1305_init_pull(&state, header, hash) != 0) { + /* Invalid header, no need to go any further */ + } + + if (crypto_secretstream_xchacha20poly1305_pull + (&state, decrypted, NULL, tag, MESSAGE2, CIPHERTEXT1_LEN, NULL, 0) != 0) { + /* Invalid/incomplete/corrupted ciphertext - abort */ + } + + std::string decryptedMemo(reinterpret_cast(decrypted),MESSAGE1_LEN); + + /////Now we can convert it to QString + QString memodecrypt = QString::fromUtf8( decryptedMemo.data(), decryptedMemo.size()); + + //////////////Give us the output of the decrypted message as debug to see if it was successfully + qDebug()<<"OUT decrypt:" << memodecrypt; + + + ChatItem item = ChatItem( + datetime, + address, + QString(""), + memodecrypt, + requestZaddr, + type, + cid, + txid, + confirmations, + false, + isNotarized, + isContact + ); + DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); + + + + }else{ + + + ChatItem item = ChatItem( datetime, address, QString(""), @@ -1197,9 +1316,10 @@ void Controller::refreshTransactions() { isNotarized, isContact ); - - DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); - } + DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); + + } + } } } } diff --git a/src/mainwindow.h b/src/mainwindow.h index 56bfbc6..815fd84 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -90,7 +90,7 @@ public: void doClose(); void doClosePw(); - QString createHeaderMemo(QString type, QString cid, QString zaddr, int version, int headerNumber); + QString createHeaderMemo(QString type, QString cid, QString zaddr,QString headerbytes,QString publickey, int version, int headerNumber); public slots: void slot_change_theme(const QString& themeName); From 74de61d265caa7e6c21e2b739b25d8350e15c309 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Mon, 1 Jun 2020 22:21:17 +0200 Subject: [PATCH 194/256] add pubkey cache --- src/chatmodel.cpp | 12 ++++++++++-- src/chatmodel.h | 1 + src/controller.cpp | 28 +++++++++++++++++++++++----- src/mainwindow.cpp | 20 ++++++++++++++++++++ src/mainwindow.h | 5 +++++ 5 files changed, 59 insertions(+), 7 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index bc45d8b..f29be0f 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -260,6 +260,8 @@ void ChatModel::addHeader(QString tx, QString headerbytes) this->headerMap[tx] = headerbytes; } + + void ChatModel::addrequestZaddr(QString tx, QString requestZaddr) { this->requestZaddrMap[tx] = requestZaddr; @@ -285,6 +287,9 @@ QString ChatModel::getCidByTx(QString tx) return QString("0xdeadbeef"); } + + + QString ChatModel::getHeaderByTx(QString tx) { for(auto& pair : this->headerMap) @@ -415,7 +420,7 @@ Tx MainWindow::createTxFromChatPage() { - QString pubkey = "test"; + QString pubkey = this->getPubkeyByAddress(addr); QString passphrase = this->getPassword(); QString hashEncryptionKey = passphrase; int length = hashEncryptionKey.length(); @@ -474,8 +479,9 @@ Tx MainWindow::createTxFromChatPage() { ////Create the HM for this message QString headerbytes = QByteArray(reinterpret_cast(header), crypto_secretstream_xchacha20poly1305_HEADERBYTES).toHex(); + QString publickeyAlice = QByteArray(reinterpret_cast(pk), crypto_kx_PUBLICKEYBYTES).toHex(); - QString hmemo= createHeaderMemo(type,cid,myAddr,"",headerbytes); + QString hmemo= createHeaderMemo(type,cid,myAddr,publickeyAlice,headerbytes); /////Ciphertext Memo QString memo = QByteArray(reinterpret_cast(ciphertext), CIPHERTEXT_LEN).toHex(); @@ -751,6 +757,8 @@ Tx MainWindow::createTxForSafeContactRequest() QString publicKey = QByteArray(reinterpret_cast(pk), crypto_kx_PUBLICKEYBYTES).toHex(); + qDebug()<<"Publickey created Request: "<> sendrequestMap; std::map headerMap; std::map AddressbyLabelMap; + public: ChatModel() {}; diff --git a/src/controller.cpp b/src/controller.cpp index 50bcdd6..0f5b4f3 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -910,7 +910,7 @@ void Controller::refreshTransactions() { QString memo; QString cid; QString headerbytes; - QString pubkey; + QString publickey; if (!o["memo"].is_null()) { memo = QString::fromStdString(o["memo"].get()); @@ -953,7 +953,15 @@ void Controller::refreshTransactions() { headerbytes = ""; } - qDebug()<<"Headerbytes :"<getPubkeyByAddress(address) != QString("0xdeadbeef")){ + + publickey = main->getPubkeyByAddress(address); + + }else{ + publickey = ""; + } + + qDebug()<<"Pubkey :"<addCid(txid, cid); chatModel->addrequestZaddr(txid, requestZaddr); chatModel->addHeader(txid, headerbytes); + main->addPubkey(requestZaddr, publickey); - } + } if (chatModel->getCidByTx(txid) != QString("0xdeadbeef")){ @@ -1207,6 +1216,14 @@ void Controller::refreshTransactions() { headerbytes = ""; } + if (main->getPubkeyByAddress(requestZaddr) != QString("0xdeadbeef")){ + + publickey = main->getPubkeyByAddress(requestZaddr); + + }else{ + publickey = ""; + } + //position = it["position"].get(); bool isNotarized; @@ -1226,7 +1243,7 @@ void Controller::refreshTransactions() { cidchar = new char[lengthcid+1]; strncpy(cidchar, cid.toLocal8Bit(), lengthcid +1); - if ((memo.startsWith("{") == false) && (headerbytes > 0)) + if ((memo.startsWith("{") == false) && (headerbytes > 0)) { #define MESSAGEAS ((const unsigned char *) cidchar) @@ -1298,7 +1315,7 @@ void Controller::refreshTransactions() { DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); - + }else{ @@ -1320,6 +1337,7 @@ void Controller::refreshTransactions() { } } + } } } } diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 27c567e..bd12d90 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1062,6 +1062,26 @@ void MainWindow::exportSeed() { }); } +void MainWindow::addPubkey(QString requestZaddr, QString pubkey) +{ + this->pubkeyMap[requestZaddr] = pubkey; +} + +QString MainWindow::getPubkeyByAddress(QString requestZaddr) +{ + for(auto& pair : this->pubkeyMap) + { + + } + + if(this->pubkeyMap.count(requestZaddr) > 0) + { + return this->pubkeyMap[requestZaddr]; + } + + return QString("0xdeadbeef"); +} + void MainWindow::exportAllKeys() { exportKeys(""); } diff --git a/src/mainwindow.h b/src/mainwindow.h index 815fd84..8c63540 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -12,6 +12,7 @@ class Controller; class Settings; class WSServer; class WormholeClient; +class ChatModel; using json = nlohmann::json; @@ -52,7 +53,11 @@ public: QString doSendRequestTxValidations(Tx tx); QString getCid(); QString getPassword(); + std::map pubkeyMap; + QString getPubkeyByAddress(QString requestZaddr); void setPassword(QString Password); + void addPubkey(QString requestZaddr, QString pubkey); + void replaceWormholeClient(WormholeClient* newClient); bool isWebsocketListening(); From 875d1a16a13bf3c744f30154f3e9191107263bea Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Mon, 1 Jun 2020 22:32:38 +0200 Subject: [PATCH 195/256] add pubkey cache --- src/controller.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/controller.cpp b/src/controller.cpp index 0f5b4f3..f4475cd 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -957,6 +957,8 @@ void Controller::refreshTransactions() { publickey = main->getPubkeyByAddress(address); + qDebug()<<"Pubkey outgoing found"<addCid(txid, cid); chatModel->addrequestZaddr(txid, requestZaddr); chatModel->addHeader(txid, headerbytes); + + if (publickey.length() > 0){ main->addPubkey(requestZaddr, publickey); + } } @@ -1336,7 +1341,7 @@ void Controller::refreshTransactions() { DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); } - } + } } } From 173ec6ccdc7bb9f2f075a0ec3a605e6fcd1a6b21 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Mon, 1 Jun 2020 22:47:13 +0200 Subject: [PATCH 196/256] fix for incoming memos --- src/controller.cpp | 69 ++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 60 insertions(+), 9 deletions(-) diff --git a/src/controller.cpp b/src/controller.cpp index f4475cd..a4f315d 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -995,10 +995,13 @@ void Controller::refreshTransactions() { const QByteArray ba2 = QByteArray::fromHex(hashEncryptionKey.toLatin1()); const unsigned char *hashEncryptionKeyraw = reinterpret_cast(ba2.constData()); #define MESSAGEAS1 ((const unsigned char *) hashEncryptionKeyraw) - #define MESSAGEAS1_LEN length + #define MESSAGEAS1_LEN length + const QByteArray pubkeyBobArray = QByteArray::fromHex(publickey.toLatin1()); + const unsigned char *pubkeyBob = reinterpret_cast(pubkeyBobArray.constData()); - #define MESSAGEAS1 ((const unsigned char *) hashEncryptionKeyraw)///////////static atm, in future we will use the Passphrase here + + #define MESSAGEAS1 ((const unsigned char *) hashEncryptionKeyraw)/////////// #define MESSAGEAS1_LEN 12 @@ -1015,6 +1018,17 @@ void Controller::refreshTransactions() { } unsigned char client_rx[crypto_kx_SESSIONKEYBYTES], client_tx[crypto_kx_SESSIONKEYBYTES]; + + + ////////////////Get the pubkey from Bob, so we can create the share key + + + /////Create the shared key for sending the message + + if (crypto_kx_server_session_keys(client_rx, client_tx, + pk, sk, pubkeyBob) != 0) { + /* Suspicious client public key, bail out */ + } const QByteArray ba = QByteArray::fromHex(memo.toLatin1()); @@ -1243,6 +1257,11 @@ void Controller::refreshTransactions() { int lengthcid = cid.length(); + QString passphrase = main->getPassword(); + QString hashEncryptionKey = passphrase; + int length = hashEncryptionKey.length(); + + qDebug()<<"Encryption String :"< 0)) { - #define MESSAGEAS ((const unsigned char *) cidchar) - #define MESSAGEAS_LEN lengthcid + const QByteArray ba2 = QByteArray::fromHex(hashEncryptionKey.toLatin1()); + const unsigned char *hashEncryptionKeyraw = reinterpret_cast(ba2.constData()); + #define MESSAGEAS1 ((const unsigned char *) hashEncryptionKeyraw) + #define MESSAGEAS1_LEN length + + const QByteArray pubkeyBobArray = QByteArray::fromHex(publickey.toLatin1()); + const unsigned char *pubkeyBob = reinterpret_cast(pubkeyBobArray.constData()); + + + #define MESSAGEAS1 ((const unsigned char *) hashEncryptionKeyraw)/////////// + #define MESSAGEAS1_LEN 12 + + + unsigned char hash1[crypto_kx_SECRETKEYBYTES]; + + crypto_hash_sha256(hash1,MESSAGEAS1, MESSAGEAS1_LEN); + unsigned char sk[crypto_kx_SECRETKEYBYTES]; + unsigned char pk[crypto_kx_PUBLICKEYBYTES]; + + if (crypto_kx_seed_keypair(pk,sk, + hash1) !=0) { - unsigned char hash[crypto_secretstream_xchacha20poly1305_KEYBYTES]; - crypto_hash_sha256(hash,MESSAGEAS, MESSAGEAS_LEN); + } + + unsigned char client_rx[crypto_kx_SESSIONKEYBYTES], client_tx[crypto_kx_SESSIONKEYBYTES]; + + + ////////////////Get the pubkey from Bob, so we can create the share key + + + /////Create the shared key for sending the message + + if (crypto_kx_server_session_keys(client_rx, client_tx, + pk, sk, pubkeyBob) != 0) { + /* Suspicious client public key, bail out */ + } + const QByteArray ba = QByteArray::fromHex(memo.toLatin1()); const unsigned char *encryptedMemo = reinterpret_cast(ba.constData()); @@ -1284,8 +1335,8 @@ void Controller::refreshTransactions() { /////Our decrypted message is now in decrypted. We need it as QString to render it /////Only the QString gives weird data, so convert first to std::string - - if (crypto_secretstream_xchacha20poly1305_init_pull(&state, header, hash) != 0) { + // crypto_secretstream_xchacha20poly1305_keygen(client_rx); + if (crypto_secretstream_xchacha20poly1305_init_pull(&state, header, client_rx) != 0) { /* Invalid header, no need to go any further */ } @@ -1300,7 +1351,7 @@ void Controller::refreshTransactions() { QString memodecrypt = QString::fromUtf8( decryptedMemo.data(), decryptedMemo.size()); //////////////Give us the output of the decrypted message as debug to see if it was successfully - qDebug()<<"OUT decrypt:" << memodecrypt; + qDebug()<<"OUT decrypt:" << memodecrypt; ChatItem item = ChatItem( From 1aed6e9ed004d11e2d8669ee462651541035ce57 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Tue, 2 Jun 2020 00:26:06 +0200 Subject: [PATCH 197/256] change server to client --- src/chatmodel.cpp | 8 +++++--- src/controller.cpp | 49 +++++++++++++++++++++++----------------------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index f29be0f..69751ad 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -422,10 +422,10 @@ Tx MainWindow::createTxFromChatPage() { QString pubkey = this->getPubkeyByAddress(addr); QString passphrase = this->getPassword(); - QString hashEncryptionKey = passphrase; + QString hashEncryptionKey = "Test"; int length = hashEncryptionKey.length(); - qDebug()<<"Encryption String :"<(header), crypto_secretstream_xchacha20poly1305_HEADERBYTES).toHex(); QString publickeyAlice = QByteArray(reinterpret_cast(pk), crypto_kx_PUBLICKEYBYTES).toHex(); - QString hmemo= createHeaderMemo(type,cid,myAddr,publickeyAlice,headerbytes); + qDebug()<<"Headerbyte erstellung : "<(ciphertext), CIPHERTEXT_LEN).toHex(); diff --git a/src/controller.cpp b/src/controller.cpp index a4f315d..cd1c3e4 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -948,6 +948,7 @@ void Controller::refreshTransactions() { if (chatModel->getHeaderByTx(txid) != QString("0xdeadbeef")){ headerbytes = chatModel->getHeaderByTx(txid); + qDebug()<<"headerbytes outgoing found"<getPassword(); - QString hashEncryptionKey = passphrase; + QString hashEncryptionKey = "Test"; int length = hashEncryptionKey.length(); qDebug()<<"Encryption String :"<(ba2.constData()); - #define MESSAGEAS1 ((const unsigned char *) hashEncryptionKeyraw) - #define MESSAGEAS1_LEN length - const QByteArray pubkeyBobArray = QByteArray::fromHex(publickey.toLatin1()); - const unsigned char *pubkeyBob = reinterpret_cast(pubkeyBobArray.constData()); + const QByteArray pubkeyBobArray = QByteArray::fromHex(publickey.toLatin1()); + const unsigned char *pubkeyBob = reinterpret_cast(pubkeyBobArray.constData()); + + qDebug()<<"Pubkey benutzt incoming transaction:"<(ba1.constData()); + qDebug()<<"Header benutzt incoming transaction:"<getHeaderByTx(txid) != QString("0xdeadbeef")){ headerbytes = chatModel->getHeaderByTx(txid); + qDebug()<<"HEADERBYTE INCOMING"<getPassword(); - QString hashEncryptionKey = passphrase; + int lengthcid = cid.length(); + QString passphrase = main->getPassword(); + QString hashEncryptionKey = "Test"; int length = hashEncryptionKey.length(); qDebug()<<"Encryption String :"<(ba2.constData()); - #define MESSAGEAS1 ((const unsigned char *) hashEncryptionKeyraw) - #define MESSAGEAS1_LEN length - - const QByteArray pubkeyBobArray = QByteArray::fromHex(publickey.toLatin1()); + + const QByteArray pubkeyBobArray = QByteArray::fromHex(publickey.toLatin1()); const unsigned char *pubkeyBob = reinterpret_cast(pubkeyBobArray.constData()); #define MESSAGEAS1 ((const unsigned char *) hashEncryptionKeyraw)/////////// - #define MESSAGEAS1_LEN 12 + #define MESSAGEAS1_LEN length unsigned char hash1[crypto_kx_SECRETKEYBYTES]; @@ -1303,7 +1302,7 @@ void Controller::refreshTransactions() { /////Create the shared key for sending the message - if (crypto_kx_server_session_keys(client_rx, client_tx, + if (crypto_kx_client_session_keys(client_rx, client_tx, pk, sk, pubkeyBob) != 0) { /* Suspicious client public key, bail out */ } From 04575afd5a1eb64036595c22832129ac6c5aa5d3 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Tue, 2 Jun 2020 01:24:12 +0200 Subject: [PATCH 198/256] change decrypt key to shared --- src/controller.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/controller.cpp b/src/controller.cpp index cd1c3e4..66b7823 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -1239,6 +1239,8 @@ void Controller::refreshTransactions() { if (main->getPubkeyByAddress(requestZaddr) != QString("0xdeadbeef")){ publickey = main->getPubkeyByAddress(requestZaddr); + qDebug()<<"Incoming Pubkey :"<(ba.constData()); @@ -1335,7 +1337,7 @@ void Controller::refreshTransactions() { /////Our decrypted message is now in decrypted. We need it as QString to render it /////Only the QString gives weird data, so convert first to std::string // crypto_secretstream_xchacha20poly1305_keygen(client_rx); - if (crypto_secretstream_xchacha20poly1305_init_pull(&state, header, client_rx) != 0) { + if (crypto_secretstream_xchacha20poly1305_init_pull(&state, header, server_tx) != 0) { /* Invalid header, no need to go any further */ } From ce3120dcd1a60ef584f8f62d1274a064bbe6bf38 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Tue, 2 Jun 2020 01:56:28 +0200 Subject: [PATCH 199/256] we use seedbytes --- src/chatmodel.cpp | 13 +++++++------ src/controller.cpp | 19 ++++++++++--------- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 69751ad..5df7693 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -429,8 +429,9 @@ Tx MainWindow::createTxFromChatPage() { ////////////////Generate the secretkey for our message encryption - const QByteArray ba2 = QByteArray::fromHex(hashEncryptionKey.toLatin1()); - const unsigned char *hashEncryptionKeyraw = reinterpret_cast(ba2.constData()); + char *hashEncryptionKeyraw = NULL; + hashEncryptionKeyraw = new char[length+1]; + strncpy(hashEncryptionKeyraw, hashEncryptionKey.toLocal8Bit(), length +1); #define MESSAGEAS1 ((const unsigned char *) hashEncryptionKeyraw) #define MESSAGEAS1_LEN length @@ -732,15 +733,15 @@ Tx MainWindow::createTxForSafeContactRequest() QString memo = contactRequest.getMemo(); // QString privkey = rpc->fetchPrivKey(myAddr); QString passphrase = this->getPassword(); - QString hashEncryptionKey = passphrase; + QString hashEncryptionKey = "Test"; int length = hashEncryptionKey.length(); qDebug()<<"Encryption String :"<(ba2.constData()); + char *hashEncryptionKeyraw = NULL; + hashEncryptionKeyraw = new char[length+1]; + strncpy(hashEncryptionKeyraw, hashEncryptionKey.toLocal8Bit(), length +1); #define MESSAGEAS1 ((const unsigned char *) hashEncryptionKeyraw) #define MESSAGEAS1_LEN length diff --git a/src/controller.cpp b/src/controller.cpp index 66b7823..6ca80cd 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -993,8 +993,9 @@ void Controller::refreshTransactions() { ////////////////Generate the secretkey for our message encryption - const QByteArray ba2 = QByteArray::fromHex(hashEncryptionKey.toLatin1()); - const unsigned char *hashEncryptionKeyraw = reinterpret_cast(ba2.constData()); + char *hashEncryptionKeyraw = NULL; + hashEncryptionKeyraw = new char[length+1]; + strncpy(hashEncryptionKeyraw, hashEncryptionKey.toLocal8Bit(), length +1); const QByteArray pubkeyBobArray = QByteArray::fromHex(publickey.toLatin1()); const unsigned char *pubkeyBob = reinterpret_cast(pubkeyBobArray.constData()); @@ -1006,7 +1007,7 @@ void Controller::refreshTransactions() { #define MESSAGEAS1_LEN length - unsigned char hash1[crypto_kx_SECRETKEYBYTES]; + unsigned char hash1[crypto_kx_SEEDBYTES]; crypto_hash_sha256(hash1,MESSAGEAS1, MESSAGEAS1_LEN); unsigned char sk[crypto_kx_SECRETKEYBYTES]; @@ -1266,15 +1267,15 @@ void Controller::refreshTransactions() { qDebug()<<"Encryption String :"< 0)) { - const QByteArray ba2 = QByteArray::fromHex(hashEncryptionKey.toLatin1()); - const unsigned char *hashEncryptionKeyraw = reinterpret_cast(ba2.constData()); + //const QByteArray ba2 = QByteArray::fromHex(hashEncryptionKey.toLatin1()); + // const unsigned char *hashEncryptionKeyraw = reinterpret_cast(ba2.constData()); const QByteArray pubkeyBobArray = QByteArray::fromHex(publickey.toLatin1()); const unsigned char *pubkeyBob = reinterpret_cast(pubkeyBobArray.constData()); @@ -1284,7 +1285,7 @@ void Controller::refreshTransactions() { #define MESSAGEAS1_LEN length - unsigned char hash1[crypto_kx_SECRETKEYBYTES]; + unsigned char hash1[crypto_kx_SEEDBYTES]; crypto_hash_sha256(hash1,MESSAGEAS1, MESSAGEAS1_LEN); unsigned char sk[crypto_kx_SECRETKEYBYTES]; From 4b7af93e0d8a6a6b2c86aca1a96331672679f0b0 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Tue, 2 Jun 2020 18:10:19 +0200 Subject: [PATCH 200/256] on/off switch for rendering encrypted messages --- src/addressbook.cpp | 4 +- src/chatmodel.cpp | 6 +-- src/controller.cpp | 99 +++++++++++++++++++++++++++------------------ src/mainwindow.ui | 14 +++++++ 4 files changed, 79 insertions(+), 44 deletions(-) diff --git a/src/addressbook.cpp b/src/addressbook.cpp index 591a9c0..ae81ae2 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -392,7 +392,7 @@ void AddressBook::readFromStorage() QDataStream in(&file); // read the data serialized from the file QString version; in >> version; - qDebug() << "Detected old addressbook format"; + // qDebug() << "Detected old addressbook format"; // Convert old addressbook format v1 to v2 QList> stuff; in >> stuff; @@ -408,7 +408,7 @@ void AddressBook::readFromStorage() allLabels.push_back(contact); } - qDebug() << "Read " << version << " Hush contacts from disk..."; + // qDebug() << "Read " << version << " Hush contacts from disk..."; file.close(); } else diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 5df7693..8d5d32f 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -422,7 +422,7 @@ Tx MainWindow::createTxFromChatPage() { QString pubkey = this->getPubkeyByAddress(addr); QString passphrase = this->getPassword(); - QString hashEncryptionKey = "Test"; + QString hashEncryptionKey = passphrase; int length = hashEncryptionKey.length(); qDebug()<<"Pubkey Erstellung :"<refresh(true); + rpc->refresh(true); } QString MainWindow::doSendChatTxValidations(Tx tx) { @@ -733,7 +733,7 @@ Tx MainWindow::createTxForSafeContactRequest() QString memo = contactRequest.getMemo(); // QString privkey = rpc->fetchPrivKey(myAddr); QString passphrase = this->getPassword(); - QString hashEncryptionKey = "Test"; + QString hashEncryptionKey = passphrase; int length = hashEncryptionKey.length(); qDebug()<<"Encryption String :"<getHeaderByTx(txid) != QString("0xdeadbeef")){ headerbytes = chatModel->getHeaderByTx(txid); - qDebug()<<"headerbytes outgoing found"<getPubkeyByAddress(address); - qDebug()<<"Pubkey outgoing found"< 0)) { - /*for (auto &p : AddressBook::getInstance()->getAllAddressLabels()) - { - - if (p.getPartnerAddress() == address) - { pubkey = p.getPubkey(); - }else {pubkey = ""; - }*/ + //QString myAddr = p.getMyAddress(); QString passphrase = main->getPassword(); - QString hashEncryptionKey = "Test"; + QString hashEncryptionKey = passphrase; int length = hashEncryptionKey.length(); - qDebug()<<"Encryption String :"<(pubkeyBobArray.constData()); - qDebug()<<"Pubkey benutzt incoming transaction:"<(ba1.constData()); - qDebug()<<"Header benutzt incoming transaction:"<(decrypted),MESSAGE1_LEN); - + QString memodecrypt; /////Now we can convert it to QString - QString memodecrypt = QString::fromUtf8( decryptedMemo.data(), decryptedMemo.size()); + if (ui->decryptionMessage->isChecked()){ + memodecrypt = QString::fromUtf8( decryptedMemo.data(), decryptedMemo.size()); + DataStore::getChatDataStore()->clear(); + this->refresh(true); + chat->renderChatBox(ui, ui->listChat,ui->memoSizeChat); + }else{ memodecrypt = memo; + DataStore::getChatDataStore()->clear(); + this->refresh(true); + chat->renderChatBox(ui, ui->listChat,ui->memoSizeChat); + } + //////////////Give us the output of the decrypted message as debug to see if it was successfully qDebug()<<"OUT decrypt:" << memodecrypt; @@ -1094,7 +1098,7 @@ void Controller::refreshTransactions() { DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); - // } + }else{ @@ -1143,7 +1147,6 @@ void Controller::refreshTransactions() { model->markAddressUsed(address); QString memo; - QString test; if (!it["memo"].is_null()) { memo = QString::fromStdString(it["memo"]); } @@ -1205,10 +1208,11 @@ void Controller::refreshTransactions() { chatModel->addrequestZaddr(txid, requestZaddr); chatModel->addHeader(txid, headerbytes); - if (publickey.length() > 0){ + if (publickey.length() > 10){ main->addPubkey(requestZaddr, publickey); } - + qDebug()<<"Scane HM Incoming:"; + qDebug()<<"Scane HM Incoming:"<getHeaderByTx(txid) != QString("0xdeadbeef")){ headerbytes = chatModel->getHeaderByTx(txid); - qDebug()<<"HEADERBYTE INCOMING"<getPubkeyByAddress(requestZaddr) != QString("0xdeadbeef")){ publickey = main->getPubkeyByAddress(requestZaddr); - qDebug()<<"Incoming Pubkey :"< 20)) + { + + int lengthcid = cid.length(); QString passphrase = main->getPassword(); - QString hashEncryptionKey = "Test"; + QString hashEncryptionKey = passphrase; int length = hashEncryptionKey.length(); - qDebug()<<"Encryption String :"< 0)) - { - //const QByteArray ba2 = QByteArray::fromHex(hashEncryptionKey.toLatin1()); // const unsigned char *hashEncryptionKeyraw = reinterpret_cast(ba2.constData()); @@ -1296,7 +1301,7 @@ void Controller::refreshTransactions() { } - unsigned char server_rx[crypto_kx_SESSIONKEYBYTES], server_tx[crypto_kx_SESSIONKEYBYTES]; + unsigned char client_rx[crypto_kx_SESSIONKEYBYTES], client_tx[crypto_kx_SESSIONKEYBYTES]; ////////////////Get the pubkey from Bob, so we can create the share key @@ -1304,7 +1309,7 @@ void Controller::refreshTransactions() { /////Create the shared key for sending the message - if (crypto_kx_server_session_keys(server_rx, server_tx, + if (crypto_kx_client_session_keys(client_rx, client_tx, pk, sk, pubkeyBob) != 0) { /* Suspicious client public key, bail out */ } @@ -1338,7 +1343,7 @@ void Controller::refreshTransactions() { /////Our decrypted message is now in decrypted. We need it as QString to render it /////Only the QString gives weird data, so convert first to std::string // crypto_secretstream_xchacha20poly1305_keygen(client_rx); - if (crypto_secretstream_xchacha20poly1305_init_pull(&state, header, server_tx) != 0) { + if (crypto_secretstream_xchacha20poly1305_init_pull(&state, header, client_rx) != 0) { /* Invalid header, no need to go any further */ } @@ -1350,10 +1355,22 @@ void Controller::refreshTransactions() { std::string decryptedMemo(reinterpret_cast(decrypted),MESSAGE1_LEN); /////Now we can convert it to QString - QString memodecrypt = QString::fromUtf8( decryptedMemo.data(), decryptedMemo.size()); - + QString memodecrypt; + if (ui->decryptionMessage->isChecked()){ + memodecrypt = QString::fromUtf8( decryptedMemo.data(), decryptedMemo.size()); + DataStore::getChatDataStore()->clear(); + this->refresh(true); + chat->renderChatBox(ui, ui->listChat,ui->memoSizeChat); + }else{ memodecrypt = memo; + DataStore::getChatDataStore()->clear(); + this->refresh(true); + chat->renderChatBox(ui, ui->listChat,ui->memoSizeChat); + } + + + // } //////////////Give us the output of the decrypted message as debug to see if it was successfully - qDebug()<<"OUT decrypt:" << memodecrypt; + ChatItem item = ChatItem( @@ -1372,12 +1389,13 @@ void Controller::refreshTransactions() { ); DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); + qDebug()<<"Pushe decrypte Items:"; }else{ - - ChatItem item = ChatItem( + qDebug()<<"Pushe plain Items 1:"; + ChatItem item = ChatItem( datetime, address, QString(""), @@ -1392,13 +1410,15 @@ void Controller::refreshTransactions() { isContact ); DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); + + qDebug()<<"Pushe Plain items 2:"; } } } - } } + } // Calculate the total unspent amount that's pending. This will need to be // shown in the UI so the user can keep track of pending funds @@ -1410,7 +1430,8 @@ void Controller::refreshTransactions() { } } } - getModel()->setTotalPending(totalPending); + + getModel()->setTotalPending(totalPending); // Update UI Balance updateUIBalances(); diff --git a/src/mainwindow.ui b/src/mainwindow.ui index de58411..a715861 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1703,6 +1703,19 @@ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + 900 + 10 + 281 + 23 + + + + Message encryption/decryption ON + + listContactWidget label_39 contactNameMemo @@ -1714,6 +1727,7 @@ listChat memoTxtChat sendChatButton + decryptionMessage From 8ffed6683c012ca87e14d5aa030f4ac2ca95607c Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Tue, 2 Jun 2020 20:19:18 +0200 Subject: [PATCH 201/256] dont refresh to often --- src/DataStore/ChatDataStore.cpp | 3 ++- src/chatmodel.cpp | 2 +- src/controller.cpp | 35 +++++++++++++-------------------- src/controller.h | 1 + src/mainwindow.cpp | 4 +++- 5 files changed, 21 insertions(+), 24 deletions(-) diff --git a/src/DataStore/ChatDataStore.cpp b/src/DataStore/ChatDataStore.cpp index 7bb3840..7b03c0e 100644 --- a/src/DataStore/ChatDataStore.cpp +++ b/src/DataStore/ChatDataStore.cpp @@ -60,7 +60,8 @@ std::map ChatDataStore::getAllNewContactRequests() if ( (c.second.isOutgoing() == false) && (c.second.getType() == "Cont") && - (c.second.isContact() == false) + (c.second.isContact() == false) && + (c.second.getMemo().isEmpty()) ) { diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 8d5d32f..2358ae9 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -618,7 +618,7 @@ void MainWindow::sendChat() { } ); - rpc->refresh(true); + // rpc->refresh(true); } QString MainWindow::doSendChatTxValidations(Tx tx) { diff --git a/src/controller.cpp b/src/controller.cpp index 4c7edfe..66c00b8 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -963,22 +963,12 @@ void Controller::refreshTransactions() { }else{ publickey = ""; } - - - - int lengthcid = cid.length(); - - char *cidchar = NULL; - cidchar = new char[lengthcid+1]; - strncpy(cidchar, cid.toLocal8Bit(), lengthcid +1); /////We need to filter out Memos smaller then the ciphertext size, or it will dump if ((memo.startsWith("{") == false) && (headerbytes > 0)) { - - //QString myAddr = p.getMyAddress(); QString passphrase = main->getPassword(); QString hashEncryptionKey = passphrase; int length = hashEncryptionKey.length(); @@ -1068,11 +1058,11 @@ void Controller::refreshTransactions() { if (ui->decryptionMessage->isChecked()){ memodecrypt = QString::fromUtf8( decryptedMemo.data(), decryptedMemo.size()); DataStore::getChatDataStore()->clear(); - this->refresh(true); + // this->refresh(true); chat->renderChatBox(ui, ui->listChat,ui->memoSizeChat); }else{ memodecrypt = memo; DataStore::getChatDataStore()->clear(); - this->refresh(true); + // this->refresh(true); chat->renderChatBox(ui, ui->listChat,ui->memoSizeChat); } @@ -1097,7 +1087,7 @@ void Controller::refreshTransactions() { ); DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); - + updateUIBalances(); }else{ @@ -1117,7 +1107,7 @@ void Controller::refreshTransactions() { false ); DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); - + updateUIBalances(); } } @@ -1181,7 +1171,7 @@ void Controller::refreshTransactions() { chatModel->addAddressbylabel(address, requestZaddr); } else{} - + } if (chatModel->Addressbylabel(address) != QString("0xdeadbeef")){ isContact = true; @@ -1359,12 +1349,15 @@ void Controller::refreshTransactions() { if (ui->decryptionMessage->isChecked()){ memodecrypt = QString::fromUtf8( decryptedMemo.data(), decryptedMemo.size()); DataStore::getChatDataStore()->clear(); - this->refresh(true); - chat->renderChatBox(ui, ui->listChat,ui->memoSizeChat); - }else{ memodecrypt = memo; - DataStore::getChatDataStore()->clear(); - this->refresh(true); + // this->refresh(true); chat->renderChatBox(ui, ui->listChat,ui->memoSizeChat); + + }else{ + + memodecrypt = memo; + DataStore::getChatDataStore()->clear(); + //this->refresh(true); + chat->renderChatBox(ui, ui->listChat,ui->memoSizeChat); } @@ -1415,7 +1408,7 @@ void Controller::refreshTransactions() { } - } + // } } } } diff --git a/src/controller.h b/src/controller.h index 9fd445b..f66596f 100644 --- a/src/controller.h +++ b/src/controller.h @@ -80,6 +80,7 @@ public: void refreshGBPCAP(); void refreshAUDCAP(); + void refreshChat(QListView *listWidget, QLabel *label); void refreshContacts(QListView *listWidget); diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index bd12d90..4984811 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1357,7 +1357,9 @@ void MainWindow::setupchatTab() { ui->memoTxtChat->setTextColor("Black"); } - + + ui->decryptionMessage->setChecked(true); + QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::sendChat); QObject::connect(ui->safeContactRequest, &QPushButton::clicked, this, &MainWindow::addContact); QObject::connect(ui->pushContact, &QPushButton::clicked, this , &MainWindow::renderContactRequest); From e2caf2b3e87cd7bae13410d356d403f2bf03b60a Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Tue, 2 Jun 2020 21:01:18 +0200 Subject: [PATCH 202/256] only one passphrase at beginning --- src/DataStore/ChatDataStore.cpp | 3 +-- src/mainwindow.cpp | 29 ++++----------------- src/startupencryption.ui | 45 --------------------------------- 3 files changed, 6 insertions(+), 71 deletions(-) diff --git a/src/DataStore/ChatDataStore.cpp b/src/DataStore/ChatDataStore.cpp index 7b03c0e..dfa7d54 100644 --- a/src/DataStore/ChatDataStore.cpp +++ b/src/DataStore/ChatDataStore.cpp @@ -60,8 +60,7 @@ std::map ChatDataStore::getAllNewContactRequests() if ( (c.second.isOutgoing() == false) && (c.second.getType() == "Cont") && - (c.second.isContact() == false) && - (c.second.getMemo().isEmpty()) + (c.second.isContact() == false) ) { diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 4984811..fd1cdd6 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -538,34 +538,15 @@ void MainWindow::removeWalletEncryptionStartUp() { QDialog d(this); Ui_startup ed; ed.setupUi(&d); - - // Handle edits on the password box - auto fnPasswordEdited = [=](const QString&) { - QString password = ed.txtPassword->text(); - // Enable the OK button if the passwords match. - if (!ed.txtPassword->text().isEmpty() && - ed.txtPassword->text() == ed.txtConfirmPassword->text() && password.size() >= 16) { - ed.lblPasswordMatch->setText(""); - ed.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(true); - } else { - ed.lblPasswordMatch->setText(tr("Passwords don't match or under-lettered")); - ed.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false); - } - - }; - - QObject::connect(ed.txtConfirmPassword, &QLineEdit::textChanged, fnPasswordEdited); - QObject::connect(ed.txtPassword, &QLineEdit::textChanged, fnPasswordEdited); - if (d.exec() == QDialog::Accepted) { - QString str = ed.txtPassword->text(); // data comes from user inputs - int length = str.length(); - this->setPassword(str); + QString password = ed.txtPassword->text(); // data comes from user inputs + int length = password.length(); + this->setPassword(password); char *sequence = NULL; sequence = new char[length+1]; - strncpy(sequence, str.toLocal8Bit(), length +1); + strncpy(sequence, password.toLocal8Bit(), length +1); #define MESSAGE ((const unsigned char *) sequence) #define MESSAGE_LEN length @@ -614,7 +595,7 @@ void MainWindow::removeWalletEncryptionStartUp() { { - QMessageBox::warning(this, tr("You have still Plaintextdata on your disk!"), + QMessageBox::information(this, tr("You have still Plaintextdata on your disk!"), QString("WARNING: Delete it only if you have a backup of your Wallet Seed."), QMessageBox::Ok ); diff --git a/src/startupencryption.ui b/src/startupencryption.ui index 6abdad1..819a698 100644 --- a/src/startupencryption.ui +++ b/src/startupencryption.ui @@ -29,19 +29,6 @@ QDialogButtonBox::Cancel|QDialogButtonBox::Ok - - - - 10 - 229 - 127 - 25 - - - - Confirm Password: - - @@ -55,19 +42,6 @@ Qt::Horizontal - - - - 162 - 229 - 230 - 25 - - - - QLineEdit::Password - - @@ -113,25 +87,6 @@ Encryption Password: - - - - 10 - 175 - 382 - 17 - - - - color: red; - - - Passwords don't match - - - Qt::AlignCenter - - From 98431babb3463aee50c9d103ffdb81a2b010ff16 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Tue, 2 Jun 2020 21:26:34 +0200 Subject: [PATCH 203/256] set maximum chars to 235 --- src/chatmodel.cpp | 8 ++++---- src/mainwindow.h | 2 +- src/mainwindow.ui | 2 +- src/requestdialog.ui | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 2358ae9..09e54f3 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -526,14 +526,14 @@ void MainWindow::sendChat() { return; } - int max = 512; + int max = 235; QString chattext = ui->memoTxtChat->toPlainText(); int size = chattext.size(); if (size > max){ QMessageBox msg(QMessageBox::Critical, tr("Your Message is too long"), - tr("You can only write messages with 512 character maximum \n") + tr("\n Please reduce your message to 512 character."), + tr("You can only write messages with 235 character maximum \n") + tr("\n Please reduce your message to 235 character."), QMessageBox::Ok, this); msg.exec(); @@ -790,7 +790,7 @@ void MainWindow::ContactRequest() { return; } - int max = 512; + int max = 235; QString chattext = contactRequest.getMemo();; int size = chattext.size(); @@ -799,7 +799,7 @@ void MainWindow::ContactRequest() { // auto addr = ""; // if (! Settings::isZAddress(AddressBook::addressFromAddressLabel(addr->text()))) { QMessageBox msg(QMessageBox::Critical, tr("Your Message is too long"), - tr("You can only write messages with 512 character maximum \n") + tr("\n Please reduce your message to 512 character."), + tr("You can only write messages with 235 character maximum \n") + tr("\n Please reduce your message to 235 character."), QMessageBox::Ok, this); msg.exec(); diff --git a/src/mainwindow.h b/src/mainwindow.h index 8c63540..bb56d5b 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -211,7 +211,7 @@ public: void updateDisplayChat(); private: - int maxlenchat = 512; + int maxlenchat = 235; QLabel* lenDisplayLabelchat = nullptr; QPushButton* sendChatButton = nullptr; }; diff --git a/src/mainwindow.ui b/src/mainwindow.ui index a715861..33e2b16 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1697,7 +1697,7 @@ QFrame::Sunken - 0 / 512 + 0 / 235 Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter diff --git a/src/requestdialog.ui b/src/requestdialog.ui index e52c475..f12e3e6 100644 --- a/src/requestdialog.ui +++ b/src/requestdialog.ui @@ -101,7 +101,7 @@ - 0 / 512 + 0 / 235 Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter From 32a706339cd8f22147cd3c697c525c42868807de Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 3 Jun 2020 09:12:45 +0200 Subject: [PATCH 204/256] copy hushchat addr --- src/mainwindow.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index fd1cdd6..0e42cdd 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1861,8 +1861,11 @@ void MainWindow::on_givemeZaddr_clicked() bool sapling = true; rpc->createNewZaddr(sapling, [=] (json reply) { QString hushchataddr = QString::fromStdString(reply.get()[0]); - QMessageBox::information(this, "Your new Hushchataddress",hushchataddr); - // ui->listReceiveAddresses->insertItem(0, hushchataddr); - // ui->listReceiveAddresses->setCurrentIndex(0); + QClipboard *zaddr_Clipboard = QApplication::clipboard(); + zaddr_Clipboard ->setText(hushchataddr); + QMessageBox::information(this, "Your new Hushchataddress was copied in your clipboard",hushchataddr); + ui->listReceiveAddresses->insertItem(0, hushchataddr); + ui->listReceiveAddresses->setCurrentIndex(0); + }); } From e105cee439e6bf35be294e830ff94e95eb1cb63e Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 3 Jun 2020 09:52:55 +0200 Subject: [PATCH 205/256] rename password to passphrase --- src/chatmodel.cpp | 2 +- src/mainwindow.ui | 2 +- src/removeencryption.ui | 2 +- src/startupencryption.ui | 142 +++++++++++++++------------------------ 4 files changed, 57 insertions(+), 91 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 09e54f3..3d26cd1 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -516,7 +516,7 @@ void MainWindow::sendChat() { QString Name = ui->contactNameMemo->text(); int sizename = Name.size(); qDebug()<< sizename; - if (ui->contactNameMemo->text().trimmed().isEmpty() || ui->memoTxtChat->toPlainText().trimmed().isEmpty()) { + if ((sizename < 1) || (ui->memoTxtChat->toPlainText().trimmed().isEmpty())) { QMessageBox msg(QMessageBox::Critical, tr("You have to select a contact and insert a Memo"), tr("You have selected no Contact from Contactlist,\n") + tr("\nor your Memo is empty"), diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 33e2b16..10a2018 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1442,7 +1442,7 @@ 460 20 - 161 + 291 20 diff --git a/src/removeencryption.ui b/src/removeencryption.ui index 77d7239..c29db42 100644 --- a/src/removeencryption.ui +++ b/src/removeencryption.ui @@ -91,7 +91,7 @@ - <html><head/><body><p><span style=" font-size:14pt; color:#ef2929;">WARNING:</span> If yo remove your encryption, all your Data is Plaintext on your Disk!</p></body></html> + <html><head/><body><p><span style=" font-size:14pt; color:#ef2929;">WARNING:</span> If you remove your encryption, all your transactions and Contacts are plaintext on disk! Messages are still encrypt.</p></body></html> Qt::AlignCenter diff --git a/src/startupencryption.ui b/src/startupencryption.ui index 819a698..6b8d1ac 100644 --- a/src/startupencryption.ui +++ b/src/startupencryption.ui @@ -7,99 +7,65 @@ 0 0 400 - 300 + 177 SDL Startup Decryption - - - - 50 - 260 - 341 - 32 - - - - Qt::Horizontal - - - QDialogButtonBox::Cancel|QDialogButtonBox::Ok - - - - - - 10 - 166 - 382 - 3 - - - - Qt::Horizontal - - - - - - 10 - 58 - 382 - 56 - - - - <html><head/><body><p>If you have forgotten your password, restore your wallet with your seed!</p></body></html> - - - Qt::AlignCenter - - - true - - - - - - 10 - 260 - 382 - 3 - - - - Qt::Horizontal - - - - - - 10 - 198 - 146 - 25 - - - - Encryption Password: - - - - - - 162 - 198 - 230 - 25 - - - - QLineEdit::Password - - + + + + + <html><head/><body><p>If you have forgotten your passphrase restore your wallet with your seed!</p></body></html> + + + Qt::AlignCenter + + + true + + + + + + + Qt::Horizontal + + + + + + + Encryption Passphrase: + + + + + + + QLineEdit::Password + + + + + + + Qt::Horizontal + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + From f46068681cb25241a2f719abc2c41ffdc6416ca7 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 3 Jun 2020 10:00:37 +0200 Subject: [PATCH 206/256] remove recurring from ui Issue #77 --- src/mainwindow.ui | 31 ++-------------------- src/sendtab.cpp | 66 +++++++++++++++++++++++------------------------ 2 files changed, 35 insertions(+), 62 deletions(-) diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 10a2018..a978389 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -59,7 +59,7 @@ - 5 + 1 @@ -426,7 +426,7 @@ 0 0 1226 - 488 + 493 @@ -611,33 +611,6 @@ - - - - Recurring payment - - - - - - - Every month, starting 12-May-2012, for 6 payments - - - - - - - Edit Schedule - - - false - - - false - - - diff --git a/src/sendtab.cpp b/src/sendtab.cpp index ce04a54..6f3fc11 100644 --- a/src/sendtab.cpp +++ b/src/sendtab.cpp @@ -138,7 +138,7 @@ void MainWindow::setupSendTab() { ui->MemoTxt1->setFont(f); // Recurring button - QObject::connect(ui->chkRecurring, &QCheckBox::stateChanged, [=] (int checked) { + /*QObject::connect(ui->chkRecurring, &QCheckBox::stateChanged, [=] (int checked) { if (checked) { ui->btnRecurSchedule->setEnabled(true); @@ -150,23 +150,23 @@ void MainWindow::setupSendTab() { ui->btnRecurSchedule->setEnabled(false); ui->lblRecurDesc->setText(""); } - }); + });*/ // Recurring schedule button - QObject::connect(ui->btnRecurSchedule, &QPushButton::clicked, this, &MainWindow::editSchedule); + // QObject::connect(ui->btnRecurSchedule, &QPushButton::clicked, this, &MainWindow::editSchedule); // Set the default state for the whole page clearSendForm(); } void MainWindow::disableRecurring() { - if (!Settings::getInstance()->isTestnet()) { +/* if (!Settings::getInstance()->isTestnet()) { ui->chkRecurring->setVisible(false); ui->chkRecurring->setEnabled(false); ui->btnRecurSchedule->setVisible(false); ui->btnRecurSchedule->setEnabled(false); - ui->action_Recurring_Payments->setVisible(false); - } + ui->action_Recurring_Payments->setVisible(false);*/ + // } } void MainWindow::editSchedule() { @@ -185,21 +185,21 @@ void MainWindow::editSchedule() { } // Open the edit schedule dialog - auto recurringInfo = Recurring::getInstance()->getNewRecurringFromTx(this, this, - createTxFromSendPage(), this->sendTxRecurringInfo); - if (recurringInfo == nullptr) { + // auto recurringInfo = Recurring::getInstance()->getNewRecurringFromTx(this, this, + // createTxFromSendPage(), this->sendTxRecurringInfo); + // if (recurringInfo == nullptr) { // User pressed cancel. // If there is no existing recurring info, uncheck the recurring box - if (sendTxRecurringInfo == nullptr) { - ui->chkRecurring->setCheckState(Qt::Unchecked); - } - } - else { - delete this->sendTxRecurringInfo; + // if (sendTxRecurringInfo == nullptr) { + // ui->chkRecurring->setCheckState(Qt::Unchecked); + // } + // } + // else { + // delete this->sendTxRecurringInfo; - this->sendTxRecurringInfo = recurringInfo; - ui->lblRecurDesc->setText(recurringInfo->getScheduleDescription()); - } + // this->sendTxRecurringInfo = recurringInfo; + // ui->lblRecurDesc->setText(recurringInfo->getScheduleDescription()); + //} } void MainWindow::updateLabelsAutoComplete() { @@ -311,11 +311,11 @@ void MainWindow::addAddressSection() { // Disable recurring payments if a address section is added, since recurring payments // aren't supported for more than 1 address - delete sendTxRecurringInfo; - sendTxRecurringInfo = nullptr; - ui->lblRecurDesc->setText(""); - ui->chkRecurring->setChecked(false); - ui->chkRecurring->setEnabled(false); + // delete sendTxRecurringInfo; + // sendTxRecurringInfo = nullptr; + // ui->lblRecurDesc->setText(""); + // ui->chkRecurring->setChecked(false); + // ui->chkRecurring->setEnabled(false); // Set focus into the address Address1->setFocus(); @@ -358,10 +358,10 @@ void MainWindow::amountChanged(int item, const QString& text) { } // If there is a recurring payment, update the info there as well - if (sendTxRecurringInfo != nullptr) { - Recurring::getInstance()->updateInfoWithTx(sendTxRecurringInfo, createTxFromSendPage()); - ui->lblRecurDesc->setText(sendTxRecurringInfo->getScheduleDescription()); - } + //if (sendTxRecurringInfo != nullptr) { + // Recurring::getInstance()->updateInfoWithTx(sendTxRecurringInfo, createTxFromSendPage()); + // ui->lblRecurDesc->setText(sendTxRecurringInfo->getScheduleDescription()); + // } } void MainWindow::setMemoEnabled(int number, bool enabled) { @@ -457,14 +457,14 @@ void MainWindow::clearSendForm() { // Reset the recurring button if (Settings::getInstance()->isTestnet()) { - ui->chkRecurring->setEnabled(true); + // ui->chkRecurring->setEnabled(true); } - ui->chkRecurring->setCheckState(Qt::Unchecked); - ui->btnRecurSchedule->setEnabled(false); - ui->lblRecurDesc->setText(""); - delete sendTxRecurringInfo; - sendTxRecurringInfo = nullptr; + // ui->chkRecurring->setCheckState(Qt::Unchecked); + // ui->btnRecurSchedule->setEnabled(false); + // ui->lblRecurDesc->setText(""); + // delete sendTxRecurringInfo; + // sendTxRecurringInfo = nullptr; } void MainWindow::maxAmountChecked(int checked) { From a8402141913ea95a4386eeff0fb3a42f478634a5 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 3 Jun 2020 20:19:32 +0200 Subject: [PATCH 207/256] dont delete our chatitems --- src/controller.cpp | 44 +++++++++----------------------------------- 1 file changed, 9 insertions(+), 35 deletions(-) diff --git a/src/controller.cpp b/src/controller.cpp index 66c00b8..46f7342 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -1055,16 +1055,10 @@ void Controller::refreshTransactions() { std::string decryptedMemo(reinterpret_cast(decrypted),MESSAGE1_LEN); QString memodecrypt; /////Now we can convert it to QString - if (ui->decryptionMessage->isChecked()){ + memodecrypt = QString::fromUtf8( decryptedMemo.data(), decryptedMemo.size()); - DataStore::getChatDataStore()->clear(); - // this->refresh(true); - chat->renderChatBox(ui, ui->listChat,ui->memoSizeChat); - }else{ memodecrypt = memo; - DataStore::getChatDataStore()->clear(); - // this->refresh(true); - chat->renderChatBox(ui, ui->listChat,ui->memoSizeChat); - } + + //////////////Give us the output of the decrypted message as debug to see if it was successfully @@ -1240,7 +1234,7 @@ void Controller::refreshTransactions() { publickey = ""; } - //position = it["position"].get(); + bool isNotarized; @@ -1252,9 +1246,6 @@ void Controller::refreshTransactions() { isNotarized = false; } - - qDebug()<<"Kurz vor decryption:"; - if ((memo.startsWith("{") == false) && (headerbytes > 20)) { @@ -1263,8 +1254,6 @@ void Controller::refreshTransactions() { QString hashEncryptionKey = passphrase; int length = hashEncryptionKey.length(); - qDebug()<<"Encryption passphrase :"<decryptionMessage->isChecked()){ + memodecrypt = QString::fromUtf8( decryptedMemo.data(), decryptedMemo.size()); - DataStore::getChatDataStore()->clear(); - // this->refresh(true); - chat->renderChatBox(ui, ui->listChat,ui->memoSizeChat); - - }else{ - - memodecrypt = memo; - DataStore::getChatDataStore()->clear(); - //this->refresh(true); - chat->renderChatBox(ui, ui->listChat,ui->memoSizeChat); - } + // } @@ -1382,12 +1361,10 @@ void Controller::refreshTransactions() { ); DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); - qDebug()<<"Pushe decrypte Items:"; }else{ - qDebug()<<"Pushe plain Items 1:"; ChatItem item = ChatItem( datetime, address, @@ -1404,14 +1381,11 @@ void Controller::refreshTransactions() { ); DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); - qDebug()<<"Pushe Plain items 2:"; - } - - // } + } + } } - } - } + } // Calculate the total unspent amount that's pending. This will need to be // shown in the UI so the user can keep track of pending funds From e39c19f75ea0d9c36cd688e3d5d02fedfbeae205 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 3 Jun 2020 20:20:46 +0200 Subject: [PATCH 208/256] rename copy message --- src/mainwindow.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 0e42cdd..54ab804 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -284,9 +284,11 @@ void MainWindow::closeEvent(QCloseEvent* event) { // Let the RPC know to shut down any running service. rpc->shutdownhushd(); + int passphraselenght = this->getPassword().length(); + qDebug()<<"LÄNGE PW : "< 0) { // delete old file before @@ -392,13 +394,13 @@ void MainWindow::encryptWallet() { if (d.exec() == QDialog::Accepted) { - QString str = ed.txtPassword->text(); // data comes from user inputs - int length = str.length(); - this->setPassword(str); + QString passphrase = ed.txtPassword->text(); // data comes from user inputs + int length = passphrase.length(); + this->setPassword(passphrase); char *sequence = NULL; sequence = new char[length+1]; - strncpy(sequence, str.toLocal8Bit(), length +1); + strncpy(sequence, passphrase.toLocal8Bit(), length +1); #define MESSAGE ((const unsigned char *) sequence) #define MESSAGE_LEN length @@ -1863,7 +1865,7 @@ void MainWindow::on_givemeZaddr_clicked() QString hushchataddr = QString::fromStdString(reply.get()[0]); QClipboard *zaddr_Clipboard = QApplication::clipboard(); zaddr_Clipboard ->setText(hushchataddr); - QMessageBox::information(this, "Your new Hushchataddress was copied in your clipboard",hushchataddr); + QMessageBox::information(this, "Your new HushChat address was copied to your clipboard!",hushchataddr); ui->listReceiveAddresses->insertItem(0, hushchataddr); ui->listReceiveAddresses->setCurrentIndex(0); From b9a4aa8889eeb168013b3b4b83cbfdeab6767960 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 3 Jun 2020 22:15:46 +0200 Subject: [PATCH 209/256] fix for outgoing messages --- src/controller.cpp | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/src/controller.cpp b/src/controller.cpp index 46f7342..b5754a4 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -882,12 +882,13 @@ void Controller::refreshTransactions() { auto txid = QString::fromStdString(it["txid"]); auto datetime = it["datetime"].get(); - + // First, check if there's outgoing metadata if (!it["outgoing_metadata"].is_null()) { - for (auto o: it["outgoing_metadata"].get()) { - + for (auto o: it["outgoing_metadata"].get()) + { + // if (chatModel->getCidByTx(txid) == QString("0xdeadbeef")){ QString address; address = QString::fromStdString(o["address"]); @@ -966,7 +967,7 @@ void Controller::refreshTransactions() { /////We need to filter out Memos smaller then the ciphertext size, or it will dump - if ((memo.startsWith("{") == false) && (headerbytes > 0)) + if ((memo.startsWith("{") == false) && (headerbytes.length() > 20)) { QString passphrase = main->getPassword(); @@ -1053,13 +1054,11 @@ void Controller::refreshTransactions() { } std::string decryptedMemo(reinterpret_cast(decrypted),MESSAGE1_LEN); - QString memodecrypt; + /////Now we can convert it to QString - memodecrypt = QString::fromUtf8( decryptedMemo.data(), decryptedMemo.size()); - - - + QString memodecrypt = QString::fromUtf8( decryptedMemo.data(), decryptedMemo.size()); + //////////////Give us the output of the decrypted message as debug to see if it was successfully qDebug()<<"OUT decrypt:" << memodecrypt; @@ -1080,10 +1079,11 @@ void Controller::refreshTransactions() { false ); DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); - + updateUIBalances(); - }else{ + } + /*else{ ChatItem item = ChatItem( @@ -1102,12 +1102,17 @@ void Controller::refreshTransactions() { ); DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); updateUIBalances(); - } + }*/ } items.push_back(TransactionItemDetail{address, amount, memo}); total_amount = total_amount + amount; - } + // }else{ + + + // } + // } + } { QList addresses; From 789b4f5fb7f7545fefe815d2ef92829a036f3241 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 4 Jun 2020 01:39:54 +0200 Subject: [PATCH 210/256] use chatitems instead of decryption every time --- src/chatmodel.cpp | 24 ++++++++++++++++++++++++ src/chatmodel.h | 4 ++++ src/controller.cpp | 30 ++++++++++++++++++++++-------- src/mainwindow.ui | 17 ++++++++++++++++- src/settings.cpp | 2 +- 5 files changed, 67 insertions(+), 10 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 3d26cd1..caa704c 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -260,6 +260,11 @@ void ChatModel::addHeader(QString tx, QString headerbytes) this->headerMap[tx] = headerbytes; } +void ChatModel::addMemo(QString tx, QString memo) +{ + this->OldMemoByTx[tx] = memo; +} + void ChatModel::addrequestZaddr(QString tx, QString requestZaddr) @@ -287,6 +292,21 @@ QString ChatModel::getCidByTx(QString tx) return QString("0xdeadbeef"); } +QString ChatModel::getMemoByTx(QString tx) +{ + for(auto& pair : this->OldMemoByTx) + { + + } + + if(this->OldMemoByTx.count(tx) > 0) + { + return this->OldMemoByTx[tx]; + } + + return QString("0xdeadbeef"); +} + @@ -349,6 +369,10 @@ void ChatModel::killConfirmationCache() { this->confirmationsMap.clear(); } +void ChatModel::killMemoCache() +{ + this->OldMemoByTx.clear(); +} QString MainWindow::createHeaderMemo(QString type, QString cid, QString zaddr, QString headerbytes, QString publickey, int version=0, int headerNumber=1) { diff --git a/src/chatmodel.h b/src/chatmodel.h index 6e6008e..1676993 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -37,6 +37,7 @@ class ChatModel std::map> sendrequestMap; std::map headerMap; std::map AddressbyLabelMap; + std::map OldMemoByTx; public: @@ -55,6 +56,7 @@ class ChatModel void addMessage(QString timestamp, ChatItem item); void addCid(QString tx, QString cid); void addHeader(QString tx, QString headerbytes); + void addMemo(QString tx, QString memo); void addrequestZaddr(QString tx, QString requestZaddr); void addconfirmations(QString tx, int confirmation); void addSendRequest(int i, QString myAddr, QString cid, QString addr ); @@ -62,10 +64,12 @@ class ChatModel QString getHeaderByTx(QString tx); QString getrequestZaddrByTx(QString tx); QString getConfirmationByTx(QString tx); + QString getMemoByTx(QString tx); QString Addressbylabel(QString addr); void killCidCache(); void killConfirmationCache(); void killrequestZaddrCache(); + void killMemoCache(); }; diff --git a/src/controller.cpp b/src/controller.cpp index b5754a4..f47ca17 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -905,6 +905,7 @@ void Controller::refreshTransactions() { if ((confirmations == 1) && (chatModel->getConfirmationByTx(txid) != QString("0xdeadbeef"))){ DataStore::getChatDataStore()->clear(); chatModel->killConfirmationCache(); + chatModel->killMemoCache(); this->refresh(true); } @@ -1107,11 +1108,7 @@ void Controller::refreshTransactions() { items.push_back(TransactionItemDetail{address, amount, memo}); total_amount = total_amount + amount; - // }else{ - - - // } - // } + } { @@ -1200,8 +1197,7 @@ void Controller::refreshTransactions() { if (publickey.length() > 10){ main->addPubkey(requestZaddr, publickey); } - qDebug()<<"Scane HM Incoming:"; - qDebug()<<"Scane HM Incoming:"< 20)) + int position = it["position"].get(); + + if ((memo.startsWith("{") == false) && (headerbytes > 0)) { + if (chatModel->getMemoByTx(txid) == QString("0xdeadbeef")){ + + + if (position == 1) + { + + chatModel->addMemo(txid, headerbytes); + }else{} + + + qDebug()<<"Position message :"<getPassword(); QString hashEncryptionKey = passphrase; @@ -1369,6 +1379,10 @@ void Controller::refreshTransactions() { }else{ + + } + + }else{ ChatItem item = ChatItem( datetime, diff --git a/src/mainwindow.ui b/src/mainwindow.ui index a978389..4cc5012 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -59,7 +59,7 @@ - 1 + 5 @@ -1502,9 +1502,21 @@ QAbstractScrollArea::AdjustToContents + + true + QAbstractItemView::NoEditTriggers + + QAbstractItemView::ContiguousSelection + + + QAbstractItemView::ScrollPerItem + + + QListView::Snap + QListView::Adjust @@ -1517,6 +1529,9 @@ true + + true + diff --git a/src/settings.cpp b/src/settings.cpp index 2d99ff7..f4b3e41 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -302,7 +302,7 @@ QString Settings::getDonationAddr() { if (Settings::getInstance()->isTestnet()) return "ztestsaplingXXX"; else - return "zs1kwp3h4rwz76zfqzmwqqextq696kndtjskg4fzc80l9ygfal4hchcsst83ua8tjwzzy9nja7v5rr"; + return "zs1fq9f7vg797qaeac9lyx0njyjmjg4w7m60hwq6lhyhvdcqltl5hdkm8vwx9cxy60ehuuz2x49jxt"; } From e668a703d3ada7622537f762b102aa798c384004 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 4 Jun 2020 13:37:14 +0200 Subject: [PATCH 211/256] fix file for apple --- src/mainwindow.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 54ab804..96cc217 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -40,12 +40,19 @@ auto dirwallet = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLo auto dirwalletenc = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)).filePath("silentdragonlite/silentdragonlite-wallet-enc.dat"); auto dirwalletbackup = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)).filePath("silentdragonlite/silentdragonlite-wallet.datBackup"); #endif -#ifdef Q_OS_UNIX +#ifdef Q_OS_MACOS +auto dirwallet = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)).filePath("silentdragonlite/silentdragonlite-wallet.dat"); +auto dirwalletenc = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)).filePath("silentdragonlite/silentdragonlite-wallet-enc.dat"); +auto dirwalletbackup = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)).filePath("silentdragonlite/silentdragonlite-wallet.datBackup"); +#endif +#ifdef Q_OS_LINUX auto dirwallet = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)).filePath(".silentdragonlite/silentdragonlite-wallet.dat"); auto dirwalletenc = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)).filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat"); auto dirwalletbackup = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)).filePath(".silentdragonlite/silentdragonlite-wallet.datBackup"); #endif + + MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) From 4aa1eb33b86022466207b9c0dc212aebadc86c17 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 4 Jun 2020 23:07:11 +0200 Subject: [PATCH 212/256] dialog box for encryption issue #95 --- src/mainwindow.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 96cc217..77eafb0 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -446,6 +446,11 @@ void MainWindow::encryptWallet() { QFile address(dir.filePath("addresslabels.dat")); wallet.rename(dirwalletbackup); address.rename(dir.filePath("addresslabels.datBackup")); + + QMessageBox::information(this, tr("Wallet encryption Success"), + QString("Successfully encrypt your wallet"), + QMessageBox::Ok + ); } } From b1290454bd921f80d99efcd907bc1a42134ef87e Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 4 Jun 2020 23:08:05 +0200 Subject: [PATCH 213/256] fix typo --- src/mainwindow.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 77eafb0..57c193d 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -447,7 +447,7 @@ void MainWindow::encryptWallet() { wallet.rename(dirwalletbackup); address.rename(dir.filePath("addresslabels.datBackup")); - QMessageBox::information(this, tr("Wallet encryption Success"), + QMessageBox::information(this, tr("Wallet Encryption Success"), QString("Successfully encrypt your wallet"), QMessageBox::Ok ); From 4f9c31474239f06bb3eb24f822fc38d586b2fa9f Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 4 Jun 2020 23:12:45 +0200 Subject: [PATCH 214/256] dont allow to remove wallet encryption if wallet is not encrypt issue #91 --- src/mainwindow.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 57c193d..73f2af4 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -459,6 +459,14 @@ void MainWindow::removeWalletEncryption() { Ui_removeencryption ed; ed.setupUi(&d); + if (fileExists(dirwalletenc) == false) { + QMessageBox::information(this, tr("Wallet is not encrypted"), + tr("Your wallet is not encrypted with a passphrase."), + QMessageBox::Ok + ); + return; + } + auto fnPasswordEdited = [=](const QString&) { QString password = ed.txtPassword->text(); // Enable the OK button if the passwords match. From 6e4dc28badbedce95597294c6ee1560ad5b88f81 Mon Sep 17 00:00:00 2001 From: Charles <18726788+csharpee@users.noreply.github.com> Date: Thu, 4 Jun 2020 22:20:08 -0400 Subject: [PATCH 215/256] Midnight Theme fixes & English updates. --- res/css/dark.css | 2 +- src/contactrequest.ui | 18 ------------------ src/removeencryption.ui | 2 +- src/requestContactDialog.ui | 12 ------------ src/startupencryption.ui | 2 +- 5 files changed, 3 insertions(+), 33 deletions(-) diff --git a/res/css/dark.css b/res/css/dark.css index 6dc6cfe..29dc683 100644 --- a/res/css/dark.css +++ b/res/css/dark.css @@ -25,7 +25,7 @@ QTabWidget QTabBar::tab:hover { background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #747577, stop: 1 #3E4244); color:#fff; border: 1px ridge #fff; -min-height: 20px +min-height: 20px; } QHeaderView { /* Table Header */ diff --git a/src/contactrequest.ui b/src/contactrequest.ui index 9b28dca..d46676f 100644 --- a/src/contactrequest.ui +++ b/src/contactrequest.ui @@ -282,12 +282,6 @@ - - - 80 - 25 - - 100 @@ -320,18 +314,6 @@ - - - 300 - 25 - - - - - 100 - 0 - - Add Contact and send request diff --git a/src/removeencryption.ui b/src/removeencryption.ui index c29db42..11bee22 100644 --- a/src/removeencryption.ui +++ b/src/removeencryption.ui @@ -91,7 +91,7 @@ - <html><head/><body><p><span style=" font-size:14pt; color:#ef2929;">WARNING:</span> If you remove your encryption, all your transactions and Contacts are plaintext on disk! Messages are still encrypt.</p></body></html> + <html><head/><body><p><span style=" font-size:14pt; color:#ef2929;">WARNING:</span> If you remove your encryption, all your transactions and contacts are plaintext on disk! Messages are still encrypt.</p></body></html> Qt::AlignCenter diff --git a/src/requestContactDialog.ui b/src/requestContactDialog.ui index 4beeced..bc312dd 100644 --- a/src/requestContactDialog.ui +++ b/src/requestContactDialog.ui @@ -337,12 +337,6 @@ - - - 80 - 25 - - 100 @@ -362,12 +356,6 @@ - - - 153 - 25 - - Add this new Contact diff --git a/src/startupencryption.ui b/src/startupencryption.ui index 6b8d1ac..56fc02c 100644 --- a/src/startupencryption.ui +++ b/src/startupencryption.ui @@ -17,7 +17,7 @@ - <html><head/><body><p>If you have forgotten your passphrase restore your wallet with your seed!</p></body></html> + <html><head/><body><p>If you have forgotten your passphrase, restore your wallet with your seed!</p></body></html> Qt::AlignCenter From 47c9b765975ca6767e815b6db404ac5c8dc39181 Mon Sep 17 00:00:00 2001 From: Charles <18726788+csharpee@users.noreply.github.com> Date: Fri, 5 Jun 2020 15:22:28 -0400 Subject: [PATCH 216/256] Responsiveness for Chat Tab --- src/mainwindow.ui | 810 ++++++++++++++++++++++++---------------------- 1 file changed, 431 insertions(+), 379 deletions(-) diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 4cc5012..82b43ab 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -426,7 +426,7 @@ 0 0 1226 - 493 + 509 @@ -1338,384 +1338,436 @@ HushChat - - - - 0 - 120 - 341 - 521 - - - - true - - - QAbstractItemView::NoEditTriggers - - - false - - - false - - - QAbstractItemView::SingleSelection - - - QAbstractItemView::SelectItems - - - - - - 0 - 100 - 341 - 20 - - - - <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Contactlist</span></p></body></html> - - - - - - 340 - 560 - 921 - 81 - - - - false - - - font: 11pt "Noto Color Emoji"; - - - QTextEdit::AutoNone - - - QTextEdit::FixedPixelWidth - - - 600 - - - false - - - Qt::TextEditorInteraction - - - - - - 460 - 20 - 291 - 20 - - - - - 75 - true - - - - <html><head/><body><p align="center"><br/></p></body></html> - - - - - - 1160 - 560 - 91 - 81 - - - - - 100 - 0 - - - - false - - - - - - - :/icons/res/sendBlack.png - - - - - 50 - 49 - - - - false - - - true - - - - - - 340 - 20 - 111 - 20 - - - - <html><head/><body><p align="center"><span style=" font-weight:600;">Contact Name :</span></p></body></html> - - - - - - 340 - 40 - 921 - 521 - - - - The locks shows you the status of the message. Red lock = unconfirmed, green lock = min. 1 confirmations, orange lock = message is notarized - - - Qt::ScrollBarAsNeeded - - - Qt::ScrollBarAsNeeded - - - QAbstractScrollArea::AdjustToContents - - - true - - - QAbstractItemView::NoEditTriggers - - - QAbstractItemView::ContiguousSelection - - - QAbstractItemView::ScrollPerItem - - - QListView::Snap - - - QListView::Adjust - - - 0 - - - false - - - true - - - true - - - - - - 10 - 20 - 51 - 51 - - - - - 51 - 51 - - - - - 51 - 51 - - - - - 100 - 0 - - - - Add a new contact - - - - - - - :/icons/res/addContactBlack.png - - - - - 50 - 45 - - - - true - - - - - - 80 - 20 - 51 - 51 - - - - - 51 - 51 - - - - - 51 - 51 - - - - - 100 - 0 - - - - Incoming contact request - - - false - - - - - - - :/icons/res/requestBlack.png:/icons/res/requestBlack.png - - - - 50 - 45 - - - - true - - - - - - 150 - 20 - 51 - 51 - - - - - 51 - 51 - - - - - 51 - 51 - - - - Get a new Address - - - - - - - :/icons/res/getAddrBlack.png:/icons/res/getAddrBlack.png - - - - 50 - 45 - - - - true - - - - - - 1140 - 640 - 91 - 17 - - - - QFrame::Sunken - - - 0 / 235 - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - 900 - 10 - 281 - 23 - - - - Message encryption/decryption ON - - - listContactWidget - label_39 - contactNameMemo - contactNameMemo_3 - safeContactRequest - pushContact - givemeZaddr - memoSizeChat - listChat - memoTxtChat - sendChatButton - decryptionMessage + + + + + + + QLayout::SetDefaultConstraint + + + 0 + + + 0 + + + 15 + + + + + + 51 + 51 + + + + + 51 + 51 + + + + + 100 + 0 + + + + Incoming contact request + + + false + + + + + + + :/icons/res/requestBlack.png:/icons/res/requestBlack.png + + + + 50 + 45 + + + + true + + + + + + + + 51 + 51 + + + + + 51 + 51 + + + + + 100 + 0 + + + + Add a new contact + + + + + + + :/icons/res/addContactBlack.png + + + + + 50 + 45 + + + + true + + + + + + + + 51 + 51 + + + + + 51 + 51 + + + + Get a new Address + + + + + + + :/icons/res/getAddrBlack.png:/icons/res/getAddrBlack.png + + + + 50 + 45 + + + + true + + + + + + + Qt::Horizontal + + + QSizePolicy::Preferred + + + + 100 + 20 + + + + + + + + + + + 0 + 0 + + + + + 300 + 0 + + + + <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Contactlist</span></p></body></html> + + + + + + + + 0 + 0 + + + + true + + + QAbstractItemView::NoEditTriggers + + + false + + + false + + + QAbstractItemView::SingleSelection + + + QAbstractItemView::SelectItems + + + + + + + + + QLayout::SetDefaultConstraint + + + + + QLayout::SetDefaultConstraint + + + + + + 0 + 0 + + + + <html><head/><body><p align="center"><span style=" font-weight:600;">Contact Name :</span></p></body></html> + + + + + + + + 75 + true + + + + <html><head/><body><p align="center"><br/></p></body></html> + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 0 + 0 + + + + Qt::LeftToRight + + + Message encryption/decryption ON + + + + + + + + + + 0 + 0 + + + + The locks shows you the status of the message. Red lock = unconfirmed, green lock = min. 1 confirmations, orange lock = message is notarized + + + Qt::ScrollBarAsNeeded + + + Qt::ScrollBarAsNeeded + + + QAbstractScrollArea::AdjustToContents + + + true + + + QAbstractItemView::NoEditTriggers + + + QAbstractItemView::ContiguousSelection + + + QAbstractItemView::ScrollPerItem + + + QListView::Snap + + + QListView::Adjust + + + 0 + + + false + + + true + + + true + + + + + + + QLayout::SetDefaultConstraint + + + 0 + + + + + + 0 + 0 + + + + false + + + font: 11pt "Noto Color Emoji"; + + + QTextEdit::AutoNone + + + QTextEdit::WidgetWidth + + + 600 + + + false + + + Qt::TextEditorInteraction + + + + + + + + + + 0 + 0 + + + + + 100 + 0 + + + + false + + + + + + + :/icons/res/sendBlack.png + + + + + 50 + 49 + + + + false + + + true + + + + + + + + 0 + 0 + + + + QFrame::Sunken + + + 0 / 235 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + + From c69abfc7f9c5fe84cfc9301244183cccd088ba6d Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 5 Jun 2020 22:26:58 +0200 Subject: [PATCH 217/256] change animation for sending messages #84 --- application.qrc | 2 + res/loaderblack.gif | Bin 0 -> 5627 bytes res/loaderwhite.gif | Bin 0 -> 5586 bytes src/chatmodel.cpp | 94 +++++++++++++++++++++++++------------------- src/mainwindow.ui | 2 +- 5 files changed, 56 insertions(+), 42 deletions(-) create mode 100644 res/loaderblack.gif create mode 100644 res/loaderwhite.gif diff --git a/application.qrc b/application.qrc index d62ea29..345aac4 100644 --- a/application.qrc +++ b/application.qrc @@ -55,6 +55,8 @@ res/silentdragonlite-animated-dark.gif res/silentdragonlite-animated-startup.gif res/silentdragonlite-animated-startup-dark.gif + res/loaderblack.gif + res/loaderwhite.gif res/silentdragonlite_de.qm diff --git a/res/loaderblack.gif b/res/loaderblack.gif new file mode 100644 index 0000000000000000000000000000000000000000..764a3f87be851954989c67de2ce51051cef211ec GIT binary patch literal 5627 zcmajjX;f3^qQ>!^WQU9-0RjXFkcmKmgd~JfY(o;l6h@IEQg0Y!5(E?l6g6QCqo|0Y zr~y$aY7Z(ZRgNN)pwv20N+~Khw^DCy(c0m*=f$*KPjAn41|ND90z+k1f zPofwSLq{M8M#5z!WeS;Muz!%l;-n;{JbLh`y{(;UN{xw*8NWR)5liyd<s2i}^btJRoM7+&?lv zED)j);D^kgU>p&84{}}jg@r#8GWtz=C^yK}dizNGx+0iKVI0kmhdJCO^{xp0rak8; z*7mM3zm(3trr_?6%y57=R9QQ;c&;$bY2sRNQM?ZoyiF;*EddP2qHN|y8DV=iouG6h z+WPtCMmy|Ip%=>`fljbfMj>aj53LjHk_F{5OTTQCrP51>P+59(FX5h-xzR`@9wiW? zL#doBhKxp*E!Fv{80;at44jS_P3z_(GZE5o^flA7*-XO{>3WX=Ktw%*Qsv7J|iSr7z@vX|*EsRO2mRKf;rz_GEL?xwF z&`t{-ZzGHK42jB)Bl^T-Rn~4JB|qCC>V8&_3$k&}9>~8P9{+&BQp=Sc6pC&2(0Gsj zD7r;qL2<7V*M~IOn8zV`J4Y2X3(>^g>jfidJSXYZQt`twtp%T0+$EX}sy5QOo>=3m z7?>KVwLxK5&dcdAZ|!`N47n}}RdS3`*vx!oViJBPQYz1{{lLLAY5iX9QK^lsDmCHA z>ZEQ%BR3OC!hP@KQh-Ld+m1cNrYdky1ByD#Xvv`%`0SAW<4rHftEW;4z ze0o+e@M&V8V0K*t{(T3 zYfG!Y0umWJy=;yPRvhNn+xb7qRe#h!E%Tzjx;3e}rIUHF=>F|AnA)glg*WrC_)i9dG+VKZ z=3w;42$H*%^f{V7*p$6`hc==jJu{or5X$r~5c&VvD)0Z}buq|*EWm0AvZ2Nxn}!+# zPlg~b))+7~L>Mpyl?Hr)RKORI0(^n3MX&D$*-&FciUDij6~G0`4MAS4F<@$lFklMo zzH9W|&%kTTyIya0P%$s{rgkIwp|B)Ny%N>;_~6>auj-O-9?_nUNnqGmTB1GLv6c-)gV1JS1&G}$`MR!<|%uGt&IZY<0%ykEJcO;xO4e*T|d zjPyf&xF5c`i_*c!ngq#%(SgIzfeX8Z$=7;OvjOipK~kv42R%4ff^mv07DD|vtT}4! z^c$%3=`J&JY%r}ER#YZ<3c7Qz!HV&%Y#EcMH6KIMqGA~E9oc9NjQub-4B0mnZ{zd? z-+bjC_N8qBl(?Y0>X90Jffe;VnSQqOvcjpWCogfRj+9kK5AU5ENv-nY^&Q#8aMzFv zG9cvx{e85#yo5Oo#SPr8+ckIl>#hr;e!`DPX8Vp6xH1d#*b_l|?bDKrUFDR9u1+M| z(JggM=UFyz_d_|wJE%|NUk)9(-rlpn9}B_Q`L$Z_#!n7|##IOr|d2*58$v|&&H=AfdWx4^z(O)LzMOT8er05b3ko*ToO z0M89T4IqQ3%CIJY{r{)8H#=gmJ9yGNCrs9T-zA`&+uGUv#{Ggfd&r!nV zC6prgyYskuX{AxoWWyIvjP0QxzdLnPSf(KnB+>a;Ph|zVm{^h+dNok?^t@_jpH)#) z-(a1!aXQ`{3HkRNi9DpHFt1eH<}l!~y{#q3Vr(^I3AFLS;qoq5Z()s$QQ?J3+0B?g zI`G`o_D#HBz->mB&6X(P8{47iV7Pc*ACw!HI6Ax0rQ&06eKNX&C8Xboi`Lr`6bd*c zeZ3qqL6X9*Z`l8}))P4=Zf1yJsd2H{1b4@ksjak_P9LBWHyy=oCUV}a3o)N>w_{$as!hv4HQ~+XuULYLImA|C--=@ONj{K198+eD14KDDA z-$A1p?1+OAyB0g>QIa`heGyyj-8U0E`?#S zR+w`WhO-Q@XAe3ISFvQ7d0T~9n6QHW(eXld7!{*7wp>O&qo#$!-(Qaf?*+mr~#?K1n4QiYFG=PqyX!pRKp$s>;O~niZ`qU z!%+@I8K?zC2Ay4$YA7s_3Z^ZP3eX#N0x-G=6c7hG7wFs3!NxF*1W++qtvhVDHvn^O!?{!pP z@mBHOvs}jjtg*4rJ&I2>?IVLt6dIpPonD~CB20%w_KY_ z*Zmj5h0IaHwFTy|43caUS*Wq(6_^f%K$IgQ$Q@g()ULw^Mis`S2{Or9ajWjW+6+Sz zfFN6Wz^5rQ zVTEHXb1Z+=hD`ONK_c4pp1&(Y9E#7vN>WxtsaYE8wg<$#DCNMU!fN84Q{==CX_4;o zN=BFH%+bO9J~eSYn&`&^$bx8i9*b6th$TVmb|ay~bqM;^tqAB!=hXS!hu4uJ2_>V<1}V_Te|1)?dRnkBT+6_d){1PbPxTv2>bVg;4f7* zY+7J-F{y?@3&a|#x;SVTlKSWMg5kIY-~p&$VJw7oY8rS0Ru|W-0jlBjwV2e!K?}q# zuGvMgi!lZ4fmpCD0N{7U{&@f^*G$*k8A&1B3* zHB%w7%XC0SLa3wOXqmvM(MTW{2n!t!gtJ{vUzS-Gtg&`dST^z_m?MqWhy5U~d8Rve zt=zYf5P`g{bNO5*A#*t7%>ndAafC$Qvmyc4*c4%P+9rpRbn?r*e*{-&>4-Or{Lqi3cUYE*2bzGuVb_-r>K91Lry(vMW9-ZtyYz`7+tGn>LS^!%w(pB4wt++s3Z8;KYt!U z|MRZkZ_Zxevg+++7;p-DX*hcUO@^Q@p1nX*7c{-S2Kxi)s)WVkmjNk=F$k~$DYym$ zt_{~O54$)lpM;Wx}jts!G(jTrr$D=p67e{vHic>PI%_# z+L#&4yn-)}L$6)gy5;%M9&$Ue``%z+k0~D8#DEY?UsJr7P_1J;5Yea+f0i^ws|Y$e4!2cF$8oGm2)J0e~*|hXDM}lKreci;(36Zbp#J4A2{_|yGLSpWQTx(nF z${m&Cm&er+YBrbMdA#%Kv!^5vQq%sX$@`Om3j+Jj^}YW6^_Fd0-n@AOK@jDQRYXW^ zOmL7UM9Afvo6UXn3W>!+3m`Ul4}PQ&g3!Oq4&++FV!nQgu^xP*2{%t16ioF z5tvKO2r)zhM7CCtXa?F&ImaQ}r)e=qdw^CXM@zG%t3xD)Pt<740m%7;+{Vkp!^>t- zWuB{=!5kR++|wXclY9njGn@>9=#tui4AQMs+PFH9SCdL+4JUELo}Lm;EXmrz*^h*g z?ZVjD6`~xx6GwAGi(Ks@6qTxE&QjAi*6pUn7Yl3lHIDY=5Mq8Sv@=whHtCx!r6okyBvt`P*+jE-(+^VlzR-2;qbGip^Q zN;b{0L$S59nio*tjD$@rK6~Z-`7gYK-v8f$|NXy9VAMbya0gHWZU7yi4NwEcbLfO3 zpbu~Z?tpF>H4q2f0n|Y596DDL@H>a@EovYU7zFNsJ{UEa05Astb#`Vp7y>{WpazP; z901f{AixlSQ2@GO)UnaAV4eVKFh*dW0BSI2VA^2RFy}e4Z@un+?{zF&dO-fYS&{$k zX6>O6$pMRO#m>&e%NZ?$HLZ zQ_iM4m#BGdWQSDybW~48>B@;zTY)2;^IZf(NM43REzPu@(s0e$Y=;|P{QUBlfBx%d zE`jj)*YE%;PTy>z)}5!bxx268o=(}LEdQc=?nfIaSTFa+6;;jLwj|@?XZh6=HKlit{;XU0lsz`@S%AXS43x(25!;0k`HS z>Trb|M(P#acUr8Lc(EQY zxQ*cNIf`C|`>ti;2?mjmX_D@38Tb^!cqe)~Am2rki(<7T^d5V1X211ULm| zfl#1zE`LEjT3Q2ifE#cMpaEYnPY}w$FNkA+7miDS7ij&Ezd$P(0yu&JSTF>@K5z=m z0--=FkPE;9s$d8Jf8Z3@2iX6}6GjTZf@p2}n5wD6vB6T!I53gBxN{$*Gaep!R6|IH zDr1#5={0nYP5a61;t?dWr)&py{)+k7jS4n@g_U3tA_KDW3uQ6TYa+yjxh^U^gCPvX z`sz>(YC1U=BDKUgui!-BkK~d{zFy%TNjS<)WZCL`d&8+abtK2-EQH^1gn&jOahZlh ztm*dTz55TQ9!^Wd_C#LuOzpgr5bBF3O5Rb@hN(0qzWk`&11E}AY$6SjgPGC-p+p9YzSECNeX& zLmw0N6lLQQR!20+7uQ;%vyFOzKB$C6S9V5|g`p+pKSFwpsWudK7`?=(xMn0{&{66@ zq=PK9xzzkjf_oQ1hCMCEq$Q$eR@h^yiY9zbvtk*sXuD~254!L(3fljUFFci?c)mRQ}=4*{lTaQ zH}2hbLmS$5`>Cr&kZ-Qi&CNZLMx!0Iq@e4}L*E`QZ0Mc>s|LD+Yw;%E^cF5T=F+e`pRsH?R!K z1F-+UqSn+A+gmXlcfE7XNeCinkKLa7-=@Yi|JeuK`bPl3wHFoe%g)DY%wNBN-#Vx#;p`fOmkAe4*J$C z`}02De@h}$<=kdW?<)F+mr&w!laacwDDePv*Hw#~pnrlji!fR|K`j)~$;>TNmzKHY zofeI^e!hD2OY4VWMCMms=rg(Q?bT!)Lu<9NJ|{OuSsZ`2+(FDx&Fof~m+Vv2E}(R` zgz%WIxkeSaV0rCo@&&eLs@PcE3CX4!1&`1+8UnEGj{tYVAK1jeak z)iR3>0{_|ei#gthZNIFSA(!rqr?PXV;@f0c~L|`A@Y1N&qapeBr=_ zS2Mhqfm47NBroW{?~1|OMGtRzkg)KIhnG9h3Y>y028v;-aO-$iIojLczVWVUe0u`O zg}VVv6|Nj`-vH|2z5#a(KoyJ>Na6pjH8*S}gWI53?=u9l#{F4`%cz7@7&a)*Ow>7l z*C^j=oVv37DmQ(Br^_N{UJ2yPiV!$j62n{t*ma6|I76PNceq16_Tv%cs z!)VR3Z7<;+>C~~q=lST|=`rMQAX6zJC7S%$8N_`Y6v3AeH(VUbltp6`F7B_X$Ey3QZ-fyP$5`3@n9(iqxsWj)h z$GDImJZf!ckY&3GtPn#k*q<_*MyhvNl?7%>Ch%)gLMU{)o|VUMqXa3Uheo5+lQ#-J zFOl?RFP+_IrhZw*@V_N@4>+W0tr?{Jh}~iN+qbtz$uhllU3dyc`_Rm+gXPViUZLw6 zLrbz!)!i*OTPD4dxS@H!(an!WFV2RBzo8y=AR)Btp+@9jhtntJ<0@S0W1NlDalZ24 z!w!o3mQ5KM5AVpfANfkzkJ;Kbq;tMlq3ErvP*tMG)`|p{qXo~X7+w(f+Q8jXNF&m9 z_3yE;i4#>0@w;2iD<6!ryL$BW;ld*;@z$3IqrGi+88Y=t6U>4rNW-BD4~RMdt$Z04=ZzpaQq>O$G-l*ySKc=jv-hBJer4)Ge*& z%E9ruasXdZ|BY3p0=~&WGXQ8o&j5i6l!9&n=z>@UT!CKrCWA8-)L;;$AXx!dpcHWZ znCOREuy3vw`1D@Zne1aLO&z&M7Eg-wY$$iJ=KNH0MGME=_ez&EOt?4n?~?9+u4!1f z;#I=Io~$MK5WGO(CElz-ZQTZ0qJptJLcHa?f-(gQT?zTJTkjo7~ZyDiqSD+zE4rB5Mn};bMWeqOZH& z^4G|655pdoG%fwoUi*8m9^TNQf#_Kef@oDx-54kkQ*95stBp5_rJ*`}gFyIAi9 zm$K_?@7SXFUfY%nt~RI&aWr%>x$@#=EuXk;cQ0o&#KpOxtS@IUCA=KX!O2}#{ZLZ< zH7%a`MekT;0n;kOH1+Q;Lng;pdtrIdmSeq@{6^3=3>0=&x^2trB60d;>VOB6qi<3nmgBIyQVt z7eiAyMMIp0^BcNcbH*A^o|@F_hV(a+aXLrjy#^X+_g^Ust|Z(5;`I!ZtdABah=#ISom2Mb6@y|9zt5+yp37pc?yd< zv&cg|sJCusDv6vr$nJnx#pm1?a>sD3G_edwAZ++re&!LMA z{P{y2#zGG@hfXCP?Kc1ZYPFN^XIyOuTG2)|?;vW|)DjQc-YrfuS)@;guPS>SZj6orF~7Cd~v_W$h20yzqt0-?asT#mkd!Ud25o4_fEx(^K%#2Z-bz$uIr z2nDMiBrA{w5X~j)$LCdq8YJl4V}|xN;2I<-{A>&G1epqi!nYNiqhLe;aDWsR3P&=? z)Q@5Q*^#v(F*~gEQeo&ZJW8Y|$Z*>87ZNrcJvm`~e6UEpp{@GVcB>5!3`*cQUFC&$DVRCpNVE|dz0;-c_#BS0P;?*7HjoV|=134L!vu#-nN zSB=}7(CufD&-YWX1o@m}D*S24y`L+x^AK^r3_e_u6gGPLVxCxRRNlxZFSZ`D(Xp8M zjO!{fW3TAPB_z8v54TwKiEIvOHJN`RL(nqd2fo8f%JY9jR=7G>M#akx4wj;S{yk%| zF})bFnfzK?F|Za~dtEY)L1LmwoS=)AyIsV*M|e<}VpFC5Egx-gPSEaFxB< zFUVA06dY;qUU@c_Ud!{w7AeDT^RMTGoB80&a@D7M9$jpFFsUWCuGxjcU)NNbrh_o8 zpAj3I1;MF?>;$xW0kz2UOH&-7ms;$8Ny*;B`(_l6hp*vi8>$I7of-{V+6nqeX{ zYY^rctml`OqR|{;r)Ow2xgc+!_bB^HHu6^e*{9o^B<1@2EmU4uUEZ4W=ij_p1g@%p z%;>BYslH)3{I%lH)!I;1iemYCr6i6QlM|eh!;j3}6z7}1FQJAc7-i`4{{W6{%*Ox# literal 0 HcmV?d00001 diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index caa704c..d88e95f 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -580,44 +580,51 @@ void MainWindow::sendChat() { qDebug() << "Tx aborted"; } - // Create a new Dialog to show that we are computing/sending the Tx - auto d = new QDialog(this); - auto connD = new Ui_ConnectionDialog(); - connD->setupUi(d); - QMovie *movie1 = new QMovie(":/img/res/silentdragonlite-animated.gif");; - QMovie *movie2 = new QMovie(":/img/res/silentdragonlite-animated-dark.gif");; + auto movie = new QMovie(this); + auto movie1 = new QMovie(this); + movie->setFileName(":/img/res/loaderblack.gif"); + movie1->setFileName(":/img/res/loaderwhite.gif"); + auto theme = Settings::getInstance()->get_theme_name(); if (theme == "dark" || theme == "midnight") { - movie2->setScaledSize(QSize(512,512)); - connD->topIcon->setMovie(movie2); - movie2->start(); + + connect(movie, &QMovie::frameChanged, [=]{ + ui->sendChatButton->setIcon(movie->currentPixmap()); + }); + movie->start(); + ui->sendChatButton->show(); + } else { - movie1->setScaledSize(QSize(512,512)); - connD->topIcon->setMovie(movie1); - movie1->start(); - } - connD->status->setText(tr("Please wait...")); - connD->statusDetail->setText(tr("Your Message will be sent")); + connect(movie1, &QMovie::frameChanged, [=]{ + ui->sendChatButton->setIcon(movie1->currentPixmap()); + }); + movie1->start(); + ui->sendChatButton->show(); + } - d->show(); ui->memoTxtChat->clear(); - // And send the Tx rpc->executeTransaction(tx, [=] (QString txid) { ui->statusBar->showMessage(Settings::txidStatusMessage + " " + txid); - - connD->status->setText(tr("Done!")); - connD->statusDetail->setText(txid); - QTimer::singleShot(1000, [=]() { - d->accept(); - d->close(); - delete connD; - delete d; + QTimer::singleShot(1000, [=]() { + + if (theme == "dark" || theme == "midnight") { + QPixmap send(":/icons/res/send-white.png"); + QIcon sendIcon(send); + ui->sendChatButton->setIcon(sendIcon); + movie->stop(); + }else{ + + QPixmap send(":/icons/res/sendBlack.png"); + QIcon sendIcon(send); + ui->sendChatButton->setIcon(sendIcon); + movie1->stop(); + } }); @@ -630,19 +637,31 @@ void MainWindow::sendChat() { [=] (QString opid, QString errStr) { ui->statusBar->showMessage(QObject::tr(" Tx ") % opid % QObject::tr(" failed"), 15 * 1000); - d->accept(); - d->close(); - delete connD; - delete d; - if (!opid.isEmpty()) errStr = QObject::tr("The transaction with id ") % opid % QObject::tr(" failed. The error was") + ":\n\n" + errStr; - QMessageBox::critical(this, QObject::tr("Transaction Error"), errStr, QMessageBox::Ok); + QMessageBox::critical(this, QObject::tr("Transaction Error"), errStr, QMessageBox::Ok); + movie->stop(); + + + if (theme == "dark" || theme == "midnight") { + QPixmap send(":/icons/res/send-white.png"); + QIcon sendIcon(send); + ui->sendChatButton->setIcon(sendIcon); + movie->stop(); + }else{ + + QPixmap send(":/icons/res/sendBlack.png"); + QIcon sendIcon(send); + ui->sendChatButton->setIcon(sendIcon); + movie1->stop(); + } + + + } ); - // rpc->refresh(true); } QString MainWindow::doSendChatTxValidations(Tx tx) { @@ -760,8 +779,6 @@ Tx MainWindow::createTxForSafeContactRequest() QString hashEncryptionKey = passphrase; int length = hashEncryptionKey.length(); - qDebug()<<"Encryption String :"<(pk), crypto_kx_PUBLICKEYBYTES).toHex(); - qDebug()<<"Publickey created Request: "<setupUi(d); - QMovie *movie1 = new QMovie(":/img/res/silentdragonlite-animated.gif");; - QMovie *movie2 = new QMovie(":/img/res/silentdragonlite-animated-dark.gif");; + QMovie *movie1 = new QMovie(":/img/res/silentdragonlite-animated.gif"); + QMovie *movie2 = new QMovie(":/img/res/silentdragonlite-animated-dark.gif"); auto theme = Settings::getInstance()->get_theme_name(); if (theme == "dark" || theme == "midnight") { movie2->setScaledSize(QSize(512,512)); diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 82b43ab..c6a5fc1 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -426,7 +426,7 @@ 0 0 1226 - 509 + 493 From 495d588b307cd105dab67163e7614cc611d5b561 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 5 Jun 2020 22:36:36 +0200 Subject: [PATCH 218/256] set default theme to dark --- src/settings.cpp | 2 +- src/settings.ui | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/settings.cpp b/src/settings.cpp index f4b3e41..dfe1e11 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -230,7 +230,7 @@ void Settings::set_currency_name(QString currency_name) { QString Settings::get_theme_name() { // Load from the QT Settings. - return QSettings().value("options/theme_name", false).toString(); + return QSettings().value("options/theme_name", "dark").toString(); } void Settings::set_theme_name(QString theme_name) { diff --git a/src/settings.ui b/src/settings.ui index 6871c7b..ac730fb 100644 --- a/src/settings.ui +++ b/src/settings.ui @@ -97,22 +97,22 @@ - default + dark - blue + default - light + blue - dark + light From 70dbc1f13151910a08b7dcc24a957506a1570df1 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 5 Jun 2020 23:13:03 +0200 Subject: [PATCH 219/256] dont write message over the border of chatbubble --- src/Chat/Helper/ChatDelegator.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Chat/Helper/ChatDelegator.h b/src/Chat/Helper/ChatDelegator.h index 10b45e5..72f3c1e 100644 --- a/src/Chat/Helper/ChatDelegator.h +++ b/src/Chat/Helper/ChatDelegator.h @@ -37,7 +37,7 @@ class ListViewDelegate : public QAbstractItemDelegate inline QSize sizeHint(QStyleOptionViewItem const &option, QModelIndex const &index) const; }; -inline ListViewDelegate::ListViewDelegate(QObject *parent): QAbstractItemDelegate(parent), d_radius(5), d_toppadding(5), d_bottompadding(3), d_leftpadding(5), d_rightpadding(7), d_verticalmargin(5), d_horizontalmargin(10), d_pointerwidth(10), d_pointerheight(17), d_widthfraction(.7) +inline ListViewDelegate::ListViewDelegate(QObject *parent): QAbstractItemDelegate(parent), d_radius(5), d_toppadding(5), d_bottompadding(3), d_leftpadding(5), d_rightpadding(5), d_verticalmargin(5), d_horizontalmargin(10), d_pointerwidth(4), d_pointerheight(17), d_widthfraction(.6) { } From 65dd00919e96b747fed8f084d07cd9d15deea775 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 5 Jun 2020 23:28:15 +0200 Subject: [PATCH 220/256] change date format to yyyy-MM-dd #82 --- src/Chat/Chat.cpp | 2 +- src/Chat/Chat.h | 14 -------------- src/Model/ChatItem.cpp | 2 +- 3 files changed, 2 insertions(+), 16 deletions(-) diff --git a/src/Chat/Chat.cpp b/src/Chat/Chat.cpp index cdc3814..672808c 100644 --- a/src/Chat/Chat.cpp +++ b/src/Chat/Chat.cpp @@ -66,7 +66,7 @@ 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); } diff --git a/src/Chat/Chat.h b/src/Chat/Chat.h index efe5b56..6d8b01a 100644 --- a/src/Chat/Chat.h +++ b/src/Chat/Chat.h @@ -27,21 +27,7 @@ class Chat // Chat Controller std::map requestZaddrMap; public: Chat(); - //QString zaddr(); void renderChatBox(Ui::MainWindow* ui, QListView *view, QLabel *label); // action - // 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); - void addrequestZaddr(QString tx, QString requestZaddr); - QString getCidByTx(QString tx); - QString getrequestZaddrByTx(QString tx); - void killCidCache(); - void killrequestZaddrCache();*/ }; diff --git a/src/Model/ChatItem.cpp b/src/Model/ChatItem.cpp index 6a30f56..722d2f6 100644 --- a/src/Model/ChatItem.cpp +++ b/src/Model/ChatItem.cpp @@ -179,7 +179,7 @@ QString ChatItem::toChatLine() qDebug()<<_notarize; - QString line = QString("") + myDateTime.toString("dd.MM.yyyy hh:mm"); + QString line = QString("") + myDateTime.toString("yyyy-MM-dd hh:mm"); line += QString(lock) + QString(""); line += QString("

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

"); return line; From e65cc54e799bd1300b0d727e8f1b00929c167f44 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 5 Jun 2020 23:54:35 +0200 Subject: [PATCH 221/256] prevent to send message without contact #81 --- src/fundhushchat.ui | 72 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 src/fundhushchat.ui diff --git a/src/fundhushchat.ui b/src/fundhushchat.ui new file mode 100644 index 0000000..fb923db --- /dev/null +++ b/src/fundhushchat.ui @@ -0,0 +1,72 @@ + + + + + Dialog + + + + 0 + 0 + 400 + 300 + + + + Dialog + + + + + 30 + 240 + 341 + 32 + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + + buttonBox + accepted() + Dialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + Dialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + + From ec3afa57ce5cc640296929153d375ad11e0530be Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 5 Jun 2020 23:55:31 +0200 Subject: [PATCH 222/256] prevent to send message without contact #81 --- src/chatmodel.cpp | 2 +- src/mainwindow.cpp | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index d88e95f..4bc12f5 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -540,7 +540,7 @@ void MainWindow::sendChat() { QString Name = ui->contactNameMemo->text(); int sizename = Name.size(); qDebug()<< sizename; - if ((sizename < 1) || (ui->memoTxtChat->toPlainText().trimmed().isEmpty())) { + if ((ui->contactNameMemo->text().isEmpty()) || (ui->memoTxtChat->toPlainText().trimmed().isEmpty())) { QMessageBox msg(QMessageBox::Critical, tr("You have to select a contact and insert a Memo"), tr("You have selected no Contact from Contactlist,\n") + tr("\nor your Memo is empty"), diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 73f2af4..c79dee4 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1368,6 +1368,7 @@ void MainWindow::setupchatTab() { QObject::connect(ui->pushContact, &QPushButton::clicked, this , &MainWindow::renderContactRequest); ///////// Set selected Zaddr for Chat with Klick + ui->contactNameMemo->setText(""); QObject::connect(ui->listContactWidget, &QTableView::clicked, [=] () { @@ -1401,6 +1402,7 @@ void MainWindow::setupchatTab() { ui->listContactWidget->addAction(HushAction); ui->listContactWidget->addAction(requestHushAction); ui->listContactWidget->addAction(subatomicAction); + QObject::connect(requestHushAction, &QAction::triggered, [=]() { QModelIndex index = ui->listContactWidget->currentIndex(); QString label_contact = index.data(Qt::DisplayRole).toString(); @@ -1411,8 +1413,8 @@ void MainWindow::setupchatTab() { rpc->refresh(true); } - - MainWindow::showRequesthush(); + MainWindow::showRequesthush(); + }); QObject::connect(editAction, &QAction::triggered, [=]() { From 56fb612452b7e1ab55b1771263932f913558a64a Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 6 Jun 2020 00:05:51 +0200 Subject: [PATCH 223/256] disable sendbutton while loading --- src/chatmodel.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 4bc12f5..53203de 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -593,6 +593,7 @@ void MainWindow::sendChat() { }); movie->start(); ui->sendChatButton->show(); + ui->sendChatButton->setEnabled(false); } else { @@ -601,6 +602,7 @@ void MainWindow::sendChat() { }); movie1->start(); ui->sendChatButton->show(); + ui->sendChatButton->setEnabled(false); } ui->memoTxtChat->clear(); @@ -618,12 +620,14 @@ void MainWindow::sendChat() { QIcon sendIcon(send); ui->sendChatButton->setIcon(sendIcon); movie->stop(); + ui->sendChatButton->setEnabled(true); }else{ QPixmap send(":/icons/res/sendBlack.png"); QIcon sendIcon(send); ui->sendChatButton->setIcon(sendIcon); movie1->stop(); + ui->sendChatButton->setEnabled(true); } }); @@ -649,12 +653,14 @@ void MainWindow::sendChat() { QIcon sendIcon(send); ui->sendChatButton->setIcon(sendIcon); movie->stop(); + ui->sendChatButton->setEnabled(true); }else{ QPixmap send(":/icons/res/sendBlack.png"); QIcon sendIcon(send); ui->sendChatButton->setIcon(sendIcon); movie1->stop(); + ui->sendChatButton->setEnabled(true); } From 79ef0000069cf96a06a74ef52826a653492131a7 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 6 Jun 2020 07:17:19 +0200 Subject: [PATCH 224/256] disbale drag and drop for chattab --- src/mainwindow.ui | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/mainwindow.ui b/src/mainwindow.ui index c6a5fc1..5426af5 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1636,8 +1636,17 @@ QAbstractItemView::NoEditTriggers + + false + + + QAbstractItemView::NoDragDrop + + + Qt::IgnoreAction + - QAbstractItemView::ContiguousSelection + QAbstractItemView::NoSelection QAbstractItemView::ScrollPerItem From 3254d99c6fef0a8b3521fe1060999cebdbeba1f2 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 6 Jun 2020 07:34:28 +0200 Subject: [PATCH 225/256] set max username size to 25 --- src/addressbook.ui | 2 +- src/contactrequest.ui | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/addressbook.ui b/src/addressbook.ui index dd0d06d..cd98ad9 100644 --- a/src/addressbook.ui +++ b/src/addressbook.ui @@ -40,7 +40,7 @@ - 40 + 25 diff --git a/src/contactrequest.ui b/src/contactrequest.ui index d46676f..43900d9 100644 --- a/src/contactrequest.ui +++ b/src/contactrequest.ui @@ -169,7 +169,11 @@
- + + + 25 + + From 38e404def5064426ce6465fef22416bc53b1ced8 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 6 Jun 2020 07:34:39 +0200 Subject: [PATCH 226/256] set max username size to 25 --- src/requestContactDialog.ui | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/requestContactDialog.ui b/src/requestContactDialog.ui index bc312dd..27e6650 100644 --- a/src/requestContactDialog.ui +++ b/src/requestContactDialog.ui @@ -180,7 +180,11 @@ - + + + 25 + + From 9b89ed5f2ed32cd420133a8cacb9e0899d598ae4 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 6 Jun 2020 07:43:00 +0200 Subject: [PATCH 227/256] delete checkbox for message encryption --- src/mainwindow.cpp | 2 -- src/mainwindow.ui | 16 ---------------- 2 files changed, 18 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index c79dee4..cf6b039 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1360,8 +1360,6 @@ void MainWindow::setupchatTab() { ui->memoTxtChat->setTextColor("Black"); } - - ui->decryptionMessage->setChecked(true); QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::sendChat); QObject::connect(ui->safeContactRequest, &QPushButton::clicked, this, &MainWindow::addContact); diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 5426af5..505be91 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1592,22 +1592,6 @@ - - - - - 0 - 0 - - - - Qt::LeftToRight - - - Message encryption/decryption ON - - -
From cdb1277b91a6c77ec79d3ca7dd1f76f6c0a5b5c0 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 6 Jun 2020 11:26:49 +0200 Subject: [PATCH 228/256] dont show context menu without contact #94 --- src/Chat/Helper/ChatDelegator.h | 1 - src/Model/ChatItem.cpp | 1 - src/chatmodel.cpp | 14 ++------- src/controller.cpp | 29 +------------------ src/mainwindow.cpp | 51 +++++++++++++++------------------ 5 files changed, 26 insertions(+), 70 deletions(-) diff --git a/src/Chat/Helper/ChatDelegator.h b/src/Chat/Helper/ChatDelegator.h index 72f3c1e..e4474a8 100644 --- a/src/Chat/Helper/ChatDelegator.h +++ b/src/Chat/Helper/ChatDelegator.h @@ -56,7 +56,6 @@ inline void ListViewDelegate::paint(QPainter *painter, QStyleOptionViewItem cons qreal bodyheight = bodydoc.size().height(); int outgoing = index.data(Qt::UserRole + 1).toInt(); int outdate = index.data(Qt::UserRole + 1).toInt(); - int indate = index.data(Qt::UserRole + 1).toInt(); painter->save(); painter->setRenderHint(QPainter::Antialiasing); diff --git a/src/Model/ChatItem.cpp b/src/Model/ChatItem.cpp index 722d2f6..9d8ede4 100644 --- a/src/Model/ChatItem.cpp +++ b/src/Model/ChatItem.cpp @@ -178,7 +178,6 @@ QString ChatItem::toChatLine() } -qDebug()<<_notarize; QString line = QString("") + myDateTime.toString("yyyy-MM-dd hh:mm"); line += QString(lock) + QString(""); line += QString("

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

"); diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 53203de..32ecb78 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -237,7 +237,7 @@ void MainWindow::renderContactRequest(){ return; } - qDebug()<<"Beginn kopiert" <addAddressLabel(newLabel, addr, myAddr, cid, avatar); rpc->refreshContacts( ui->listContactWidget); @@ -393,7 +393,6 @@ QString MainWindow::createHeaderMemo(QString type, QString cid, QString zaddr, Q j.setObject(h); header = j.toJson(); - qDebug() << "made header=" << header; return header; } @@ -449,7 +448,6 @@ Tx MainWindow::createTxFromChatPage() { QString hashEncryptionKey = passphrase; int length = hashEncryptionKey.length(); - qDebug()<<"Pubkey Erstellung :"<(header), crypto_secretstream_xchacha20poly1305_HEADERBYTES).toHex(); QString publickeyAlice = QByteArray(reinterpret_cast(pk), crypto_kx_PUBLICKEYBYTES).toHex(); - qDebug()<<"Headerbyte erstellung : "<contactNameMemo->text(); - int sizename = Name.size(); - qDebug()<< sizename; + if ((ui->contactNameMemo->text().isEmpty()) || (ui->memoTxtChat->toPlainText().trimmed().isEmpty())) { QMessageBox msg(QMessageBox::Critical, tr("You have to select a contact and insert a Memo"), @@ -577,7 +569,6 @@ void MainWindow::sendChat() { // abort the Tx return; - qDebug() << "Tx aborted"; } auto movie = new QMovie(this); @@ -716,7 +707,6 @@ void::MainWindow::addContact() request.myzaddr->setText(myAddr); ui->listReceiveAddresses->insertItem(0, myAddr); ui->listReceiveAddresses->setCurrentIndex(0); - qDebug() << "new generated myAddr add Contact" << myAddr; }); }catch(...) diff --git a/src/controller.cpp b/src/controller.cpp index f47ca17..5b1c979 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -1025,7 +1025,6 @@ void Controller::refreshTransactions() { int encryptedMemoSize1 = ba.length(); - int headersize = ba1.length(); //////unsigned char* as message from QString #define MESSAGE2 (const unsigned char *) encryptedMemo @@ -1062,8 +1061,6 @@ void Controller::refreshTransactions() { //////////////Give us the output of the decrypted message as debug to see if it was successfully - qDebug()<<"OUT decrypt:" << memodecrypt; - ChatItem item = ChatItem( datetime, @@ -1084,26 +1081,7 @@ void Controller::refreshTransactions() { updateUIBalances(); } - /*else{ - - - ChatItem item = ChatItem( - datetime, - address, - QString(""), - memo, - QString(""), - QString(""), - cid, - txid, - confirmations, - true, - isNotarized, - false - ); - DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); - updateUIBalances(); - }*/ + } items.push_back(TransactionItemDetail{address, amount, memo}); @@ -1153,7 +1131,6 @@ void Controller::refreshTransactions() { QString publickey; QString headerbytes; QString cid; - int position; QString requestZaddr; bool isContact; @@ -1261,10 +1238,6 @@ void Controller::refreshTransactions() { chatModel->addMemo(txid, headerbytes); }else{} - - qDebug()<<"Position message :"<getPassword(); QString hashEncryptionKey = passphrase; int length = hashEncryptionKey.length(); diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index cf6b039..6e9af7e 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -292,7 +292,6 @@ void MainWindow::closeEvent(QCloseEvent* event) { // Let the RPC know to shut down any running service. rpc->shutdownhushd(); int passphraselenght = this->getPassword().length(); - qDebug()<<"LÄNGE PW : "< 0) @@ -542,9 +541,7 @@ void MainWindow::removeWalletEncryption() { filencrypted.remove(); }else{ - - qDebug()<<"verschlüsselung gescheitert "; - + QMessageBox::critical(this, tr("Wallet Encryption Failed"), QString("False password, please try again"), QMessageBox::Ok @@ -632,8 +629,6 @@ void MainWindow::removeWalletEncryptionStartUp() { }else{ - - qDebug()<<"verschlüsselung gescheitert "; QMessageBox::critical(this, tr("Wallet Encryption Failed"), QString("false password please try again"), @@ -1365,24 +1360,10 @@ void MainWindow::setupchatTab() { QObject::connect(ui->safeContactRequest, &QPushButton::clicked, this, &MainWindow::addContact); QObject::connect(ui->pushContact, &QPushButton::clicked, this , &MainWindow::renderContactRequest); -///////// Set selected Zaddr for Chat with Klick ui->contactNameMemo->setText(""); - QObject::connect(ui->listContactWidget, &QTableView::clicked, [=] () { - - - 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->contactNameMemo->setText(p.getName()); - rpc->refresh(true); - - } - }); - - QMenu* contextMenu; +///////// Add contextmenu + QMenu* contextMenu; QAction* requestAction; QAction* editAction; QAction* HushAction; @@ -1394,16 +1375,22 @@ void MainWindow::setupchatTab() { HushAction = new QAction("Send a friend some Hush - coming soon",contextMenu); requestHushAction = new QAction("Request some Hush - coming soon",contextMenu); subatomicAction = new QAction("Make a subatomic swap with a friend- coming soon",contextMenu); + + +///////// Set selected Zaddr for Chat with click + + QObject::connect(ui->listContactWidget, &QTableView::clicked, [=] () { + ui->listContactWidget->setContextMenuPolicy(Qt::ActionsContextMenu); ui->listContactWidget->addAction(requestAction); ui->listContactWidget->addAction(editAction); ui->listContactWidget->addAction(HushAction); ui->listContactWidget->addAction(requestHushAction); ui->listContactWidget->addAction(subatomicAction); - - QObject::connect(requestHushAction, &QAction::triggered, [=]() { + + QObject::connect(requestHushAction, &QAction::triggered, [=]() { QModelIndex index = ui->listContactWidget->currentIndex(); - QString label_contact = index.data(Qt::DisplayRole).toString(); + QString label_contact = index.data(Qt::DisplayRole).toString(); for(auto &p : AddressBook::getInstance()->getAllAddressLabels()) if (label_contact == p.getName()) { @@ -1415,7 +1402,7 @@ void MainWindow::setupchatTab() { }); - QObject::connect(editAction, &QAction::triggered, [=]() { + QObject::connect(editAction, &QAction::triggered, [=]() { QModelIndex index = ui->listContactWidget->currentIndex(); QString label_contact = index.data(Qt::DisplayRole).toString(); @@ -1436,12 +1423,20 @@ void MainWindow::setupchatTab() { } }); + 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->contactNameMemo->setText(p.getName()); + rpc->refresh(true); + } + }); + ui->memoTxtChat->setLenDisplayLabelChat(ui->memoSizeChat); } - - void MainWindow::updateChat() { rpc->refreshChat(ui->listChat,ui->memoSizeChat); From cae2c12b56b01c12f34e4120e943e3b222f56a00 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 6 Jun 2020 17:12:40 +0200 Subject: [PATCH 229/256] add contextmenu for chatitems #78 --- src/chatmodel.cpp | 19 +++++--- src/mainwindow.cpp | 113 +++++++++++++++++++++++++++++++++++++++++++++ src/mainwindow.ui | 9 ++++ 3 files changed, 135 insertions(+), 6 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 32ecb78..6622416 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -115,9 +115,11 @@ void MainWindow::renderContactRequest(){ QStandardItemModel* contactRequest = new QStandardItemModel(); - for (auto &c : DataStore::getChatDataStore()->getAllNewContactRequests()) + + for (auto &c : DataStore::getChatDataStore()->getAllNewContactRequests()) + { @@ -134,6 +136,7 @@ void MainWindow::renderContactRequest(){ } + QStandardItemModel* contactRequestOld = new QStandardItemModel(); for (auto &p : AddressBook::getInstance()->getAllAddressLabels()) @@ -157,13 +160,16 @@ void MainWindow::renderContactRequest(){ QModelIndex index = requestContact.requestContact->currentIndex(); QString label_contact = index.data(Qt::DisplayRole).toString(); QStandardItemModel* contactMemo = new QStandardItemModel(); + + + if ((c.second.isOutgoing() == false) && (requestContact.zaddrnew->text() == c.second.getAddress()) && (c.second.getType() != "Cont")) { QStandardItem* Items = new QStandardItem(c.second.getMemo()); - contactMemo->appendRow(Items); + contactMemo->appendRow(Items); requestContact.requestMemo->setModel(contactMemo); requestContact.requestMemo->show(); @@ -172,17 +178,18 @@ void MainWindow::renderContactRequest(){ requestContact.requestZaddr->setText(c.second.getRequestZaddr()); requestContact.requestMyAddr->setText(c.second.getAddress()); }else{} - } - + } }); + + QObject::connect(requestContact.requestContactOld, &QTableView::clicked, [&] () { for (auto &c : DataStore::getChatDataStore()->getAllRawChatItems()){ - /* QModelIndex index = requestContact.requestContactOld->currentIndex(); - QString label_contactold = index.data(Qt::DisplayRole).toString();*/ + QModelIndex index = requestContact.requestContactOld->currentIndex(); + QString label_contactold = index.data(Qt::DisplayRole).toString(); QStandardItemModel* contactMemo = new QStandardItemModel(); if ((c.second.isOutgoing() == false) && (requestContact.zaddrold->text() == c.second.getAddress()) && (c.second.getType() != "Cont")) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 6e9af7e..4e9a126 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -30,6 +30,7 @@ #include "FileSystem/FileSystem.h" #include "Crypto/passwd.h" #include "Crypto/FileEncryption.h" +#include "DataStore/DataStore.h" using json = nlohmann::json; @@ -1362,6 +1363,118 @@ void MainWindow::setupchatTab() { ui->contactNameMemo->setText(""); + /////Copy Chatmessages + + QMenu* contextMenuChat; + QAction* copymessage; + QAction* viewexplorer; + QAction* copytxid; + contextMenuChat = new QMenu(ui->listChat); + copymessage = new QAction("Copy message to clipboard",contextMenuChat); + viewexplorer = new QAction("View on block explorerr",contextMenuChat); + copytxid = new QAction("Copy txid to clipboard ",contextMenuChat); + + QObject::connect(ui->listContactWidget, &QTableView::clicked, [=] () { + + ui->listChat->setContextMenuPolicy(Qt::ActionsContextMenu); + ui->listChat->addAction(copymessage); + ui->listChat->addAction(viewexplorer); + ui->listChat->addAction(copytxid); + + QObject::connect(copymessage, &QAction::triggered, [=] { + + + QModelIndex index = ui->listChat->currentIndex(); + QString memo_chat = index.data(Qt::DisplayRole).toString(); + QClipboard *clipboard = QGuiApplication::clipboard(); + int startPos = memo_chat.indexOf("

") + 3; + int endPos = memo_chat.indexOf("

"); + int length = endPos - startPos; + QString copymemo = memo_chat.mid(startPos, length); + + clipboard->setText(copymemo); + ui->statusBar->showMessage(tr("Copied message to clipboard"), 3 * 1000); + +}); + QObject::connect(copytxid, &QAction::triggered, [=] { + + QModelIndex index = ui->listChat->currentIndex(); + QString memo_chat = index.data(Qt::DisplayRole).toString(); + QClipboard *clipboard = QGuiApplication::clipboard(); + + int startPos = memo_chat.indexOf("

") + 3; + int endPos = memo_chat.indexOf("

"); + int length = endPos - startPos; + QString copymemo = memo_chat.mid(startPos, length); + int startPosT = memo_chat.indexOf("") + 7; + int endPosT = memo_chat.indexOf(""); + int lengthT = endPosT - startPosT; + + QString time = memo_chat.mid(startPosT, lengthT); + + for (auto &c : DataStore::getChatDataStore()->getAllRawChatItems()){ + + if (c.second.getMemo() == copymemo) + { + int timestamp = c.second.getTimestamp(); + QDateTime myDateTime; + QString lock; + myDateTime.setTime_t(timestamp); + QString timestamphtml = myDateTime.toString("yyyy-MM-dd hh:mm"); + + if(timestamphtml == time) + + { + clipboard->setText(c.second.getTxid()); + ui->statusBar->showMessage(tr("Copied Txid to clipboard"), 3 * 1000); + }else{} + + } + +} + +}); + + QObject::connect(viewexplorer, &QAction::triggered, [=] { + + QModelIndex index = ui->listChat->currentIndex(); + QString memo_chat = index.data(Qt::DisplayRole).toString(); + + int startPos = memo_chat.indexOf("

") + 3; + int endPos = memo_chat.indexOf("

"); + int length = endPos - startPos; + QString copymemo = memo_chat.mid(startPos, length); + int startPosT = memo_chat.indexOf("") + 7; + int endPosT = memo_chat.indexOf(""); + int lengthT = endPosT - startPosT; + + QString time = memo_chat.mid(startPosT, lengthT); + + for (auto &c : DataStore::getChatDataStore()->getAllRawChatItems()){ + + if (c.second.getMemo() == copymemo) + { + int timestamp = c.second.getTimestamp(); + QDateTime myDateTime; + QString lock; + myDateTime.setTime_t(timestamp); + QString timestamphtml = myDateTime.toString("yyyy-MM-dd hh:mm"); + + if(timestamphtml == time) + + { + + Settings::openTxInExplorer(c.second.getTxid()); + + }else{} + + } + +} +}); + +}); + ///////// Add contextmenu QMenu* contextMenu; QAction* requestAction; diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 505be91..2fa544c 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1602,6 +1602,9 @@ 0 + + Qt::NoFocus + The locks shows you the status of the message. Red lock = unconfirmed, green lock = min. 1 confirmations, orange lock = message is notarized @@ -1638,9 +1641,15 @@ QListView::Snap + + QListView::TopToBottom + QListView::Adjust + + QListView::SinglePass + 0 From cfe8955b44faa3f3adf2a4faa72558bd3054310c Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 6 Jun 2020 20:54:44 +0200 Subject: [PATCH 230/256] fix typo --- src/mainwindow.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 4e9a126..0e7f00a 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -363,11 +363,9 @@ void MainWindow::closeEvent(QCloseEvent* event) { void MainWindow::closeEventpw(QCloseEvent* event) { // Let the RPC know to shut down any running service. - rpc->shutdownhushd(); + rpc->shutdownhushdStartup(); + - // Bubble up - if (event) - QMainWindow::closeEvent(event); } @@ -1371,7 +1369,7 @@ void MainWindow::setupchatTab() { QAction* copytxid; contextMenuChat = new QMenu(ui->listChat); copymessage = new QAction("Copy message to clipboard",contextMenuChat); - viewexplorer = new QAction("View on block explorerr",contextMenuChat); + viewexplorer = new QAction("View on block explorer",contextMenuChat); copytxid = new QAction("Copy txid to clipboard ",contextMenuChat); QObject::connect(ui->listContactWidget, &QTableView::clicked, [=] () { From d4e51fd19a2922df6cd997d4366a0b1c16b4fdd3 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 6 Jun 2020 20:56:49 +0200 Subject: [PATCH 231/256] fix typo --- src/mainwindow.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 0e7f00a..497503d 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -363,7 +363,7 @@ void MainWindow::closeEvent(QCloseEvent* event) { void MainWindow::closeEventpw(QCloseEvent* event) { // Let the RPC know to shut down any running service. - rpc->shutdownhushdStartup(); + rpc->shutdownhushd(); } From 852207199f58463869b306d1ff2ba9cd69ea87b4 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 7 Jun 2020 21:19:41 +0200 Subject: [PATCH 232/256] fix for incoming requests --- src/DataStore/ChatDataStore.cpp | 9 ++++-- src/Model/ChatItem.cpp | 2 +- src/addressbook.cpp | 6 +++- src/addressbook.h | 2 -- src/chatmodel.cpp | 39 +++++++++++++------------ src/contactmodel.cpp | 44 +++++++++++++++++++--------- src/contactmodel.h | 6 ++++ src/controller.cpp | 52 ++++++++++++++------------------- src/mainwindow.cpp | 13 +++++---- src/mainwindow.h | 1 + 10 files changed, 99 insertions(+), 75 deletions(-) diff --git a/src/DataStore/ChatDataStore.cpp b/src/DataStore/ChatDataStore.cpp index dfa7d54..5563fab 100644 --- a/src/DataStore/ChatDataStore.cpp +++ b/src/DataStore/ChatDataStore.cpp @@ -60,7 +60,9 @@ std::map ChatDataStore::getAllNewContactRequests() if ( (c.second.isOutgoing() == false) && (c.second.getType() == "Cont") && - (c.second.isContact() == false) + (c.second.isContact() == false) && + (c.second.getMemo().startsWith("{")) + ) { @@ -73,13 +75,14 @@ std::map ChatDataStore::getAllNewContactRequests() std::map ChatDataStore::getAllOldContactRequests() { std::map filteredItems; - for(auto &p : AddressBook::getInstance()->getAllAddressLabels()) + for(auto &c: this->data) { if ( (c.second.isOutgoing() == false) && (c.second.getType() == "Cont") && - (p.getPartnerAddress() == c.second.getRequestZaddr()) + (c.second.isContact() == true) && + (c.second.getMemo().startsWith("{")) ) { filteredItems[c.first] = c.second; diff --git a/src/Model/ChatItem.cpp b/src/Model/ChatItem.cpp index 9d8ede4..66b5176 100644 --- a/src/Model/ChatItem.cpp +++ b/src/Model/ChatItem.cpp @@ -180,7 +180,7 @@ QString ChatItem::toChatLine() QString line = QString("") + myDateTime.toString("yyyy-MM-dd hh:mm"); line += QString(lock) + QString(""); - line += QString("

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

"); + line +=QString("

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

"); return line; } diff --git a/src/addressbook.cpp b/src/addressbook.cpp index ae81ae2..68ead74 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -41,7 +41,7 @@ void AddressBookModel::loadData() "addresstablegeometry" ).toByteArray() ); - + } void AddressBookModel::addNewLabel(QString label, QString addr, QString myAddr, QString cid, QString avatar) @@ -108,7 +108,9 @@ QVariant AddressBookModel::data(const QModelIndex &index, int role) const case 2: return labels.at(index.row()).getPartnerAddress(); case 3: return labels.at(index.row()).getMyAddress(); case 4: return labels.at(index.row()).getCid(); + } + } return QVariant(); @@ -405,8 +407,10 @@ void AddressBook::readFromStorage() //qDebug() << "2:" << stuff[i][2]; ContactItem contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3],stuff[i][4]); //qDebug() << "contact=" << contact.toQTString(); + // main->addLabel(stuff[i][2], stuff[i][1]); allLabels.push_back(contact); } + // qDebug() << "Read " << version << " Hush contacts from disk..."; file.close(); diff --git a/src/addressbook.h b/src/addressbook.h index fbd361b..b4fe7a8 100644 --- a/src/addressbook.h +++ b/src/addressbook.h @@ -24,8 +24,6 @@ public: QVariant data(const QModelIndex &index, int role) const; QVariant headerData(int section, Qt::Orientation orientation, int role) const; - - private: void loadData(); void saveData(); diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 6622416..694908c 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -119,44 +119,41 @@ void MainWindow::renderContactRequest(){ for (auto &c : DataStore::getChatDataStore()->getAllNewContactRequests()) - - { - QStandardItem* Items = new QStandardItem(QString("Unknown Sender")); + QStandardItem* Items = new QStandardItem(QString(c.second.getRequestZaddr())); contactRequest->appendRow(Items); - requestContact.requestContact->setModel(contactRequest); - + requestContact.requestContact->setModel(contactRequest); Items->setData(QIcon(addnewAddrIcon),Qt::DecorationRole); requestContact.requestContact->setIconSize(QSize(40,50)); requestContact.requestContact->setUniformItemSizes(true); requestContact.requestContact->show(); requestContact.zaddrnew->setVisible(false); - requestContact.zaddrnew->setText(c.second.getAddress()); + requestContact.zaddrnew->setText(c.second.getRequestZaddr()); + + } QStandardItemModel* contactRequestOld = new QStandardItemModel(); - for (auto &p : AddressBook::getInstance()->getAllAddressLabels()) for (auto &c : DataStore::getChatDataStore()->getAllOldContactRequests()) { - if (p.getPartnerAddress() == c.second.getRequestZaddr()) - { - QStandardItem* Items = new QStandardItem(p.getName()); + QStandardItem* Items = new QStandardItem(c.second.getContact()); contactRequestOld->appendRow(Items); requestContact.requestContactOld->setModel(contactRequestOld); requestContact.zaddrold->setVisible(false); - requestContact.zaddrold->setText(c.second.getAddress()); - requestContact.requestContactOld->show(); - }else{} + requestContact.zaddrold->setText(c.second.getRequestZaddr()); + + } + QObject::connect(requestContact.requestContact, &QTableView::clicked, [&] () { - for (auto &c : DataStore::getChatDataStore()->getAllRawChatItems()){ + for (auto &c : DataStore::getChatDataStore()->getAllRawChatItems()){ QModelIndex index = requestContact.requestContact->currentIndex(); QString label_contact = index.data(Qt::DisplayRole).toString(); QStandardItemModel* contactMemo = new QStandardItemModel(); @@ -164,7 +161,7 @@ void MainWindow::renderContactRequest(){ - if ((c.second.isOutgoing() == false) && (requestContact.zaddrnew->text() == c.second.getAddress()) && (c.second.getType() != "Cont")) + if ((c.second.isOutgoing() == false) && (label_contact == c.second.getContact())) { @@ -177,7 +174,10 @@ void MainWindow::renderContactRequest(){ requestContact.requestCID->setVisible(false); requestContact.requestZaddr->setText(c.second.getRequestZaddr()); requestContact.requestMyAddr->setText(c.second.getAddress()); - }else{} + + }else{ + + } } @@ -192,7 +192,7 @@ void MainWindow::renderContactRequest(){ QString label_contactold = index.data(Qt::DisplayRole).toString(); QStandardItemModel* contactMemo = new QStandardItemModel(); - if ((c.second.isOutgoing() == false) && (requestContact.zaddrold->text() == c.second.getAddress()) && (c.second.getType() != "Cont")) + if ((c.second.isOutgoing() == false) && (label_contactold == c.second.getContact())) { @@ -205,7 +205,10 @@ void MainWindow::renderContactRequest(){ requestContact.requestCID->setVisible(false); requestContact.requestZaddr->setText(c.second.getRequestZaddr()); requestContact.requestMyAddr->setText(c.second.getAddress()); - }else{} + + }else{ + + } } diff --git a/src/contactmodel.cpp b/src/contactmodel.cpp index 7f9d097..f3d529f 100644 --- a/src/contactmodel.cpp +++ b/src/contactmodel.cpp @@ -11,7 +11,25 @@ #include "settings.h" #include "controller.h" +void ContactModel::addLabel(QString addr, QString label) +{ + this->AddressMap[addr] = label; +} + +QString ContactModel::getContactbyAddress(QString addr) +{ + for(auto& pair : this->AddressMap) + { + + } + + if(this->AddressMap.count(addr) > 0) + { + return this->AddressMap[addr]; + } + return QString("0xdeadbeef"); +} void ContactModel::renderContactList(QListView* view) { @@ -19,22 +37,20 @@ void ContactModel::renderContactList(QListView* view) for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) { + QString avatar = c.getAvatar(); - - QString avatar = c.getAvatar(); - - QStandardItem* Items1 = new QStandardItem(c.getName()); - Items1->setData(QIcon(avatar),Qt::DecorationRole); - - contact->appendRow(Items1); - view->setModel(contact); - view->setIconSize(QSize(60,70)); - view->setUniformItemSizes(true); - view->setDragDropMode(QAbstractItemView::DropOnly); - view->show(); + QStandardItem* Items1 = new QStandardItem(c.getName()); + Items1->setData(QIcon(avatar),Qt::DecorationRole); - - + contact->appendRow(Items1); + view->setModel(contact); + view->setIconSize(QSize(60,70)); + view->setUniformItemSizes(true); + view->setDragDropMode(QAbstractItemView::DropOnly); + view->show(); + QString addr = c.getPartnerAddress(); + QString label = c.getName(); + this->addLabel(addr, label); } } diff --git a/src/contactmodel.h b/src/contactmodel.h index 5f79c47..584b5f9 100644 --- a/src/contactmodel.h +++ b/src/contactmodel.h @@ -12,9 +12,15 @@ class ContactModel { public: + MainWindow* main; + std::map AddressMap; + + QString getContactbyAddress(QString addr); + void addLabel(QString addr, QString label); ContactModel() {} void renderContactList(QListView* view); + }; diff --git a/src/controller.cpp b/src/controller.cpp index 5b1c979..fa4ef9a 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -1132,28 +1132,8 @@ void Controller::refreshTransactions() { QString headerbytes; QString cid; QString requestZaddr; + QString contactname; bool isContact; - - - for (auto &p : AddressBook::getInstance()->getAllAddressLabels()) - { - - if (p.getPartnerAddress() == requestZaddr) - { - - chatModel->addAddressbylabel(address, requestZaddr); - } else{} - - } - if (chatModel->Addressbylabel(address) != QString("0xdeadbeef")){ - - isContact = true; - - }else{ - - isContact = false; - - } if (!it["memo"].is_null()) { @@ -1176,8 +1156,7 @@ void Controller::refreshTransactions() { } } - - + if (chatModel->getCidByTx(txid) != QString("0xdeadbeef")){ cid = chatModel->getCidByTx(txid); @@ -1212,7 +1191,20 @@ void Controller::refreshTransactions() { publickey = ""; } - + if (contactModel->getContactbyAddress(requestZaddr) != QString("0xdeadbeef")){ + + isContact = true; + contactname = contactModel->getContactbyAddress(requestZaddr); + + }else{ + + isContact = false; + contactname = ""; + + } + + + qDebug()<<"Name :" << contactname; bool isNotarized; @@ -1336,7 +1328,7 @@ void Controller::refreshTransactions() { ChatItem item = ChatItem( datetime, address, - QString(""), + contactname, memodecrypt, requestZaddr, type, @@ -1347,9 +1339,7 @@ void Controller::refreshTransactions() { isNotarized, isContact ); - DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); - - + DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); }else{ @@ -1360,7 +1350,7 @@ void Controller::refreshTransactions() { ChatItem item = ChatItem( datetime, address, - QString(""), + contactname, memo, requestZaddr, type, @@ -1372,7 +1362,9 @@ void Controller::refreshTransactions() { isContact ); DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); - + qDebug()<<"requestZaddrt? :"<listChat->currentIndex(); QString memo_chat = index.data(Qt::DisplayRole).toString(); QClipboard *clipboard = QGuiApplication::clipboard(); - int startPos = memo_chat.indexOf("

") + 3; - int endPos = memo_chat.indexOf("

"); + int startPos = memo_chat.indexOf("
") + 3;
+    int endPos = memo_chat.indexOf("
"); int length = endPos - startPos; QString copymemo = memo_chat.mid(startPos, length); @@ -1400,8 +1401,8 @@ void MainWindow::setupchatTab() { QString memo_chat = index.data(Qt::DisplayRole).toString(); QClipboard *clipboard = QGuiApplication::clipboard(); - int startPos = memo_chat.indexOf("

") + 3; - int endPos = memo_chat.indexOf("

"); + int startPos = memo_chat.indexOf("
") + 3;
+    int endPos = memo_chat.indexOf("
"); int length = endPos - startPos; QString copymemo = memo_chat.mid(startPos, length); int startPosT = memo_chat.indexOf("") + 7; @@ -1438,8 +1439,8 @@ void MainWindow::setupchatTab() { QModelIndex index = ui->listChat->currentIndex(); QString memo_chat = index.data(Qt::DisplayRole).toString(); - int startPos = memo_chat.indexOf("

") + 3; - int endPos = memo_chat.indexOf("

"); + int startPos = memo_chat.indexOf("
") + 3;
+    int endPos = memo_chat.indexOf("
"); int length = endPos - startPos; QString copymemo = memo_chat.mid(startPos, length); int startPosT = memo_chat.indexOf("") + 7; diff --git a/src/mainwindow.h b/src/mainwindow.h index bb56d5b..53032df 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -58,6 +58,7 @@ public: void setPassword(QString Password); void addPubkey(QString requestZaddr, QString pubkey); + void replaceWormholeClient(WormholeClient* newClient); bool isWebsocketListening(); From d9f51aa8334086c95869fd7394e79b5300ae6ab2 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 7 Jun 2020 21:29:15 +0200 Subject: [PATCH 233/256] fix wrong gif at exit #100 --- src/controller.cpp | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/controller.cpp b/src/controller.cpp index fa4ef9a..a8ea783 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -1966,9 +1966,27 @@ void Controller::shutdownhushd() QDialog d(main); Ui_ConnectionDialog connD; connD.setupUi(&d); - connD.topIcon->setPixmap(QIcon(":/icons/res/icon.ico").pixmap(256, 256)); + auto theme = Settings::getInstance()->get_theme_name(); + auto size = QSize(512,512); + + if (theme == "dark" || theme == "midnight") { + QMovie *movie2 = new QMovie(":/img/res/silentdragonlite-animated-startup-dark.gif");; + movie2->setScaledSize(size); + qDebug() << "Animation dark loaded"; + connD.topIcon->setMovie(movie2); + movie2->start(); connD.status->setText(QObject::tr("Please wait for SilentDragonLite to exit")); connD.statusDetail->setText(QObject::tr("Waiting for hushd to exit")); + } else { + QMovie *movie1 = new QMovie(":/img/res/silentdragonlite-animated-startup.gif");; + movie1->setScaledSize(size); + qDebug() << "Animation light loaded"; + connD.topIcon->setMovie(movie1); + movie1->start(); + connD.status->setText(QObject::tr("Please wait for SilentDragonLite to exit")); + connD.statusDetail->setText(QObject::tr("Waiting for hushd to exit")); + } + bool finished = false; zrpc->saveWallet([&] (json) { if (!finished) From 1bc63f41f6bddfb0e5a7b8e5fd481fc89747f01d Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 7 Jun 2020 21:55:39 +0200 Subject: [PATCH 234/256] add button to create a new zaddr --- src/addressbook.cpp | 18 ++- src/addressbook.ui | 111 +++++++++-------- src/chatmodel.cpp | 14 ++- src/contactrequest.ui | 275 ++++++++++++++++++++++-------------------- src/controller.cpp | 9 +- 5 files changed, 220 insertions(+), 207 deletions(-) diff --git a/src/addressbook.cpp b/src/addressbook.cpp index 68ead74..11dc0c4 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -147,8 +147,9 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) // Connect the dialog's closing to updating the label address completor QObject::connect(&d, &QDialog::finished, [=] (auto) { parent->updateLabels(); }); + Controller* rpc = parent->getRPC(); + QObject::connect(ab.newZaddr, &QPushButton::clicked, [&] () { - Controller* rpc = parent->getRPC(); bool sapling = true; try { @@ -174,6 +175,7 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) qDebug() << QString("Caught something nasty with myZaddr Addressbook"); } + }); // model.updateUi(); //todo fix updating gui after adding @@ -193,7 +195,6 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) QString avatar = QString(":/icons/res/") + ab.comboBoxAvatar->currentText() + QString(".png"); - qDebug()<<"AVATAR NAME : " << avatar; if (addr.isEmpty() || newLabel.isEmpty()) { @@ -394,20 +395,15 @@ void AddressBook::readFromStorage() QDataStream in(&file); // read the data serialized from the file QString version; in >> version; - // qDebug() << "Detected old addressbook format"; - // Convert old addressbook format v1 to v2 - QList> stuff; + QList> stuff; in >> stuff; - //qDebug() << "Stuff: " << stuff; + for (int i=0; i < stuff.size(); i++) { - //qDebug() << "0:" << stuff[i][0]; - //qDebug() << "1:" << stuff[i][1]; - //qDebug() << "2:" << stuff[i][2]; + ContactItem contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3],stuff[i][4]); - //qDebug() << "contact=" << contact.toQTString(); - // main->addLabel(stuff[i][2], stuff[i][1]); + allLabels.push_back(contact); } diff --git a/src/addressbook.ui b/src/addressbook.ui index cd98ad9..08b2356 100644 --- a/src/addressbook.ui +++ b/src/addressbook.ui @@ -14,6 +14,43 @@ Address Book + + + + + + Import Address Book + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Close|QDialogButtonBox::Ok + + + + + + + + + QAbstractItemView::SingleSelection + + + QAbstractItemView::SelectRows + + + true + + + false + + + @@ -51,17 +88,27 @@ - - + + + + + - <html><head/><body><p align="right">Avatar :</p></body></html> + <html><head/><body><p>Conversation ID:</p></body></html> - - + + - + + + + Add to Address Book + + + + @@ -195,63 +242,23 @@ - - + + - <html><head/><body><p>Conversation ID (editable):</p></body></html> + <html><head/><body><p align="right">Avatar :</p></body></html> - - - - - + + - Add to Address Book + Create a new HushChat zaddr
- - - - QAbstractItemView::SingleSelection - - - QAbstractItemView::SelectRows - - - true - - - false - - - - - - - - - Import Address Book - - - - - - - Qt::Horizontal - - - QDialogButtonBox::Close|QDialogButtonBox::Ok - - - - - diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 694908c..7fda03a 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -708,6 +708,7 @@ void::MainWindow::addContact() request.setupUi(&dialog); Settings::saveRestore(&dialog); +QObject::connect(request.newZaddr, &QPushButton::clicked, [&] () { try { bool sapling = true; @@ -725,6 +726,7 @@ void::MainWindow::addContact() qDebug() << QString("Caught something nasty with myZaddr Contact"); } +}); QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); @@ -823,8 +825,6 @@ void MainWindow::ContactRequest() { if (contactRequest.getReceiverAddress().isEmpty() || contactRequest.getMemo().isEmpty()) { - // auto addr = ""; - // if (! Settings::isZAddress(AddressBook::addressFromAddressLabel(addr->text()))) { QMessageBox msg(QMessageBox::Critical, tr("You have to select a contact and insert a Memo"), tr("You have selected no Contact from Contactlist,\n") + tr("\nor your Memo is empty"), QMessageBox::Ok, this); @@ -833,6 +833,16 @@ void MainWindow::ContactRequest() { return; } + if (contactRequest.getSenderAddress().size() > 80) { + + QMessageBox msg(QMessageBox::Critical, tr("Missing HushChat Address"), + tr("You have to create your HushChat address to send a contact request,\n"), + QMessageBox::Ok, this); + + msg.exec(); + return; + } + int max = 235; QString chattext = contactRequest.getMemo();; int size = chattext.size(); diff --git a/src/contactrequest.ui b/src/contactrequest.ui index 43900d9..eb231ee 100644 --- a/src/contactrequest.ui +++ b/src/contactrequest.ui @@ -34,140 +34,6 @@
- - - - - SDLogo - - - - :/icons/res/SDLogo.png - - - - - - Duke - - - - :/icons/res/Duke.png - - - - - - Denio - - - - :/icons/res/Denio.png - - - - - - Berg - - - - :/icons/res/Berg.png - - - - - - Stag - - - - :/icons/res/Stag.png - - - - - - Sharpee - - - - :/icons/res/Sharpee.png - - - - - - Elsa - - - - :/icons/res/Elsa.png - - - - - - Yoda - - - - :/icons/res/Yoda.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 - - - - - @@ -329,6 +195,147 @@ + + + + + SDLogo + + + + :/icons/res/SDLogo.png + + + + + + Duke + + + + :/icons/res/Duke.png + + + + + + Denio + + + + :/icons/res/Denio.png + + + + + + Berg + + + + :/icons/res/Berg.png + + + + + + Stag + + + + :/icons/res/Stag.png + + + + + + Sharpee + + + + :/icons/res/Sharpee.png + + + + + + Elsa + + + + :/icons/res/Elsa.png + + + + + + Yoda + + + + :/icons/res/Yoda.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 + + + + + + + + + Create new Hushchat address + + + diff --git a/src/controller.cpp b/src/controller.cpp index a8ea783..495ee7d 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -1202,9 +1202,6 @@ void Controller::refreshTransactions() { contactname = ""; } - - - qDebug()<<"Name :" << contactname; bool isNotarized; @@ -1361,11 +1358,7 @@ void Controller::refreshTransactions() { isNotarized, isContact ); - DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); - qDebug()<<"requestZaddrt? :"<setData(ChatIDGenerator::getInstance()->generateID(item), item); } } } From 3dc04ed47fa0bf1d02bf9d8e9314ca4225ad757e Mon Sep 17 00:00:00 2001 From: Charles <18726788+csharpee@users.noreply.github.com> Date: Mon, 8 Jun 2020 00:31:56 -0400 Subject: [PATCH 235/256] display bug issue #92, plus typos and alignment of dropdown logo and titles --- src/requestContactDialog.ui | 256 ++++++++++++++++++++++-------------- 1 file changed, 158 insertions(+), 98 deletions(-) diff --git a/src/requestContactDialog.ui b/src/requestContactDialog.ui index 27e6650..237f206 100644 --- a/src/requestContactDialog.ui +++ b/src/requestContactDialog.ui @@ -10,9 +10,15 @@ 495 + + + 0 + 0 + + - 812 + 850 495 @@ -20,39 +26,10 @@ Incoming contact request - - - - <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Open requests</span></p></body></html> - - - - + - <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Memo of the request</span></p></body></html> - - - - - - - - 256 - 231 - - - - true - - - QAbstractItemView::EditKeyPressed|QAbstractItemView::SelectedClicked - - - false - - - QAbstractItemView::SingleSelection + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Memo of the request</span></p></body></html> @@ -60,7 +37,7 @@ - 521 + 500 231 @@ -90,18 +67,24 @@ - - + + - <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Recently closed requests</span></p></body></html> + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Open requests</span></p></body></html> + + + 0 + 0 + + - 256 + 225 190 @@ -119,20 +102,6 @@ - - - - <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Details of the request</span></p></body></html> - - - - - - - Request from : - - - @@ -149,51 +118,121 @@ - - + + + + + 0 + 0 + + - My Zaddr : + Request from: - - + + + + + 0 + 0 + + - 351 + 0 25 - - - 351 - 25 - + + 25 - - + + - Give a Nickname: + - - - - 25 + + + + Add New Contact + + + false - + + + + + + + + + + + 0 + 0 + + - <html><head/><body><p align="right">Choose a avatar for your contact :</p></body></html> + <html><head/><body><p>Choose an avatar for your contact:</p></body></html> - + + + + + 0 + 0 + + + + My Zaddr: + + + + + + + + + + + + + + + 0 + 0 + + + + + 100 + 0 + + + + Cancel + + + false + + + false + + + + @@ -339,53 +378,74 @@ - - - + + + - 100 - 0 + 225 + 231 - - Cancel + + true - - false + + QAbstractItemView::EditKeyPressed|QAbstractItemView::SelectedClicked - + false + + QAbstractItemView::SingleSelection + - - + + - Add this new Contact - - - false + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Recently closed requests</span></p></body></html> - - + + + + + 0 + 0 + + - + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Details of the request</span></p></body></html> - - + + + + + 0 + 0 + + - + Give a Nickname: - - - - + + + + + 351 + 25 + + + + + 351 + 25 + From 7aa03560fb7bedfb129dd613dab42a2b96da5c05 Mon Sep 17 00:00:00 2001 From: Charles <18726788+csharpee@users.noreply.github.com> Date: Mon, 8 Jun 2020 01:39:17 -0400 Subject: [PATCH 236/256] Updated layout issues with contactrequest.ui, typography, and button alignments, including inputbox fixes for midnight theme --- src/contactrequest.ui | 569 +++++++++++++++++++++++++----------------- 1 file changed, 343 insertions(+), 226 deletions(-) diff --git a/src/contactrequest.ui b/src/contactrequest.ui index eb231ee..286dbdb 100644 --- a/src/contactrequest.ui +++ b/src/contactrequest.ui @@ -10,6 +10,12 @@ 427 + + + 0 + 0 + + 780 @@ -20,35 +26,41 @@ Send a contact request - - - - <html><head/><body><p align="right"><span style=" font-weight:600; text-decoration: underline;">Choose a avatar for your contact :</span></p></body></html> + + + + + 500 + 71 + - - - - - - <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Please insert a Nickname for your contact :</span></p></body></html> + + Qt::NoContextMenu + + + false + + + Qt::ImhSensitiveData - - - - - 25 + 512 - - - - - - <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Please insert the Address of your contact :</span></p></body></html> + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + false + + + Add a memo to your request + + + true - + @@ -64,14 +76,20 @@ - - + + - <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Your HushChat Address :</span></p></body></html> + Add Contact and Send Request + + + false + + + false - + @@ -90,68 +108,14 @@ - - - - Qt::Vertical - - - - 20 - 148 - - - - - - - - <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Insert a memo for your request</span></p></body></html> - - - - - - - - 500 - 71 - - - - - 500 - 71 - - - - Qt::NoContextMenu - - - false - - - Qt::ImhSensitiveData - - - 512 - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - false - - - Add some memo to your request - - - true - - - - + + + + 0 + 0 + + 100 @@ -169,172 +133,325 @@ - - - - Qt::Horizontal - - - - 278 - 20 - + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert a memo for your request:</span></p></body></html> - + - - + + - Add Contact and send request - - - false - - - false + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert the address of your contact:</span></p></body></html> - - - - - SDLogo - - - - :/icons/res/SDLogo.png - - - - - - Duke - - - - :/icons/res/Duke.png - - - + + + + 12 + + + QLayout::SetDefaultConstraint + - - Denio - - - - :/icons/res/Denio.png - - + + + + 0 + 0 + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Your HushChat Address:</span></p></body></html> + + - - Berg - - - - :/icons/res/Berg.png - - + + + + 0 + 0 + + + + Create New Address + + + false + + - - Stag - - - - :/icons/res/Stag.png - - + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + - - Sharpee - - - - :/icons/res/Sharpee.png - - + + + + 0 + 0 + + + + + 250 + 25 + + + + 25 + + - - Elsa - - - - :/icons/res/Elsa.png - - + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 40 + 20 + + + - - Yoda - - - - :/icons/res/Yoda.png - - + + + + 0 + 25 + + + + + SDLogo + + + + :/icons/res/SDLogo.png + + + + + + Duke + + + + :/icons/res/Duke.png + + + + + + Denio + + + + :/icons/res/Denio.png + + + + + + Berg + + + + :/icons/res/Berg.png + + + + + + Stag + + + + :/icons/res/Stag.png + + + + + + Sharpee + + + + :/icons/res/Sharpee.png + + + + + + Elsa + + + + :/icons/res/Elsa.png + + + + + + Yoda + + + + :/icons/res/Yoda.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 + + + + - - Garfield - - - - :/icons/res/Garfield.png - - + + + Qt::Horizontal + + + QSizePolicy::Expanding + + + + 40 + 20 + + + - - - Snoopy - - - - :/icons/res/Snoopy.png - - + + + + + + + + + 0 + 0 + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert a nickname for your contact:</span></p></body></html> + + - - Popey - - - - :/icons/res/Popey.png - - + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 40 + 20 + + + - - Pinguin - - - - :/icons/res/Pinguin.png - - + + + + 0 + 0 + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Choose an avatar for your contact:</span></p></body></html> + + - - Mickey - - - - :/icons/res/Mickey.png - - + + + Qt::Horizontal + + + + 40 + 20 + + + - - - - - - Create new Hushchat address - - + From e8f987dae48ba6eabd5d3576779aa22e80e3683d Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Mon, 8 Jun 2020 09:58:00 +0200 Subject: [PATCH 237/256] fix copy message --- src/mainwindow.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 4fb9586..22bc64f 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1386,8 +1386,8 @@ void MainWindow::setupchatTab() { QModelIndex index = ui->listChat->currentIndex(); QString memo_chat = index.data(Qt::DisplayRole).toString(); QClipboard *clipboard = QGuiApplication::clipboard(); - int startPos = memo_chat.indexOf("
") + 3;
-    int endPos = memo_chat.indexOf("
"); + int startPos = memo_chat.indexOf("

") + 3; + int endPos = memo_chat.indexOf("

"); int length = endPos - startPos; QString copymemo = memo_chat.mid(startPos, length); @@ -1401,8 +1401,8 @@ void MainWindow::setupchatTab() { QString memo_chat = index.data(Qt::DisplayRole).toString(); QClipboard *clipboard = QGuiApplication::clipboard(); - int startPos = memo_chat.indexOf("
") + 3;
-    int endPos = memo_chat.indexOf("
"); + int startPos = memo_chat.indexOf("

") + 3; + int endPos = memo_chat.indexOf("

"); int length = endPos - startPos; QString copymemo = memo_chat.mid(startPos, length); int startPosT = memo_chat.indexOf("") + 7; @@ -1439,8 +1439,8 @@ void MainWindow::setupchatTab() { QModelIndex index = ui->listChat->currentIndex(); QString memo_chat = index.data(Qt::DisplayRole).toString(); - int startPos = memo_chat.indexOf("
") + 3;
-    int endPos = memo_chat.indexOf("
"); + int startPos = memo_chat.indexOf("

") + 3; + int endPos = memo_chat.indexOf("

"); int length = endPos - startPos; QString copymemo = memo_chat.mid(startPos, length); int startPosT = memo_chat.indexOf("") + 7; From c5c3eab002b3c9d3c11c46e1b07b9519c7626e3c Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Mon, 8 Jun 2020 21:50:58 +0200 Subject: [PATCH 238/256] set passphrase on initial install #64 --- src/DataStore/ChatDataStore.cpp | 12 +++++ src/DataStore/ChatDataStore.h | 5 ++ src/chatmodel.cpp | 4 +- src/controller.cpp | 8 +-- src/firsttimewizard.cpp | 61 +++++++++++++++++++++-- src/firsttimewizard.h | 12 +++++ src/mainwindow.cpp | 17 ++++--- src/mainwindow.h | 12 ++--- src/newseed.ui | 28 +++++------ src/newwallet.ui | 87 +++++++++++++++++++++++++++------ 10 files changed, 188 insertions(+), 58 deletions(-) diff --git a/src/DataStore/ChatDataStore.cpp b/src/DataStore/ChatDataStore.cpp index 5563fab..82f9db3 100644 --- a/src/DataStore/ChatDataStore.cpp +++ b/src/DataStore/ChatDataStore.cpp @@ -33,6 +33,18 @@ ChatItem ChatDataStore::getData(QString key) return this->data[key]; } +QString ChatDataStore::getPassword() +{ + + return _password; +} + +void ChatDataStore::setPassword(QString password) +{ + + _password = password; +} + QString ChatDataStore::dump() { json chats; diff --git a/src/DataStore/ChatDataStore.h b/src/DataStore/ChatDataStore.h index 7fb0998..c1233b6 100644 --- a/src/DataStore/ChatDataStore.h +++ b/src/DataStore/ChatDataStore.h @@ -25,6 +25,11 @@ class ChatDataStore std::map getAllNewContactRequests(); std::map getAllOldContactRequests(); std::map getAllMemos(); + QString getPassword(); + + void setPassword(QString Password); + QString _password; + QString dump(); ~ChatDataStore() diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 7fda03a..2fcbbf6 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -454,7 +454,7 @@ Tx MainWindow::createTxFromChatPage() { QString pubkey = this->getPubkeyByAddress(addr); - QString passphrase = this->getPassword(); + QString passphrase = DataStore::getChatDataStore()->getPassword(); QString hashEncryptionKey = passphrase; int length = hashEncryptionKey.length(); @@ -783,7 +783,7 @@ Tx MainWindow::createTxForSafeContactRequest() QString memo = contactRequest.getMemo(); // QString privkey = rpc->fetchPrivKey(myAddr); - QString passphrase = this->getPassword(); + QString passphrase = DataStore::getChatDataStore()->getPassword(); QString hashEncryptionKey = passphrase; int length = hashEncryptionKey.length(); diff --git a/src/controller.cpp b/src/controller.cpp index 495ee7d..6d02a40 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -11,10 +11,6 @@ #include "Model/ChatItem.h" #include "DataStore/DataStore.h" -/*template<> -DataStore* DataStore::instance = nullptr; -template<> -bool DataStore::instanced = false;*/ ChatModel *chatModel = new ChatModel(); Chat *chat = new Chat(); ContactModel *contactModel = new ContactModel(); @@ -971,7 +967,7 @@ void Controller::refreshTransactions() { if ((memo.startsWith("{") == false) && (headerbytes.length() > 20)) { - QString passphrase = main->getPassword(); + QString passphrase = DataStore::getChatDataStore()->getPassword(); QString hashEncryptionKey = passphrase; int length = hashEncryptionKey.length(); @@ -1227,7 +1223,7 @@ void Controller::refreshTransactions() { chatModel->addMemo(txid, headerbytes); }else{} - QString passphrase = main->getPassword(); + QString passphrase = DataStore::getChatDataStore()->getPassword(); QString hashEncryptionKey = passphrase; int length = hashEncryptionKey.length(); diff --git a/src/firsttimewizard.cpp b/src/firsttimewizard.cpp index 438f737..ffcfd84 100644 --- a/src/firsttimewizard.cpp +++ b/src/firsttimewizard.cpp @@ -3,6 +3,8 @@ #include "ui_newseed.h" #include "ui_restoreseed.h" #include "ui_newwallet.h" +#include "mainwindow.h" +#include "DataStore/DataStore.h" #include "../lib/silentdragonlitelib.h" @@ -38,31 +40,75 @@ int FirstTimeWizard::nextId() const { NewOrRestorePage::NewOrRestorePage(FirstTimeWizard *parent) : QWizardPage(parent) { setTitle("Create or Restore wallet."); + + QWidget* pageWidget = new QWidget(); Ui_CreateWalletForm form; form.setupUi(pageWidget); + - // Exclusive buttons + auto fnPasswordEdited = [=](const QString&) { + // Enable the Finish button if the passwords match. + QString Password = form.txtPassword->text(); + + if (!form.txtPassword->text().isEmpty() && + form.txtPassword->text() == form.txtConfirmPassword->text() && Password.size() >= 16) { + + form.lblPasswordMatch->setText(""); + parent->button(QWizard::CommitButton)->setEnabled(true); + setButtonText(QWizard::CommitButton, "Next"); + form.radioRestoreWallet->setEnabled(true); + form.radioNewWallet->setEnabled(true); + form.radioNewWallet->setChecked(true); + qDebug()<<"PW :"<setPassword(Password); + //main->setPassword(Password); + + //qDebug()<<"Objekt gesetzt"; + + + // Exclusive buttons QObject::connect(form.radioNewWallet, &QRadioButton::clicked, [=](bool checked) { if (checked) { form.radioRestoreWallet->setChecked(false); + } }); QObject::connect(form.radioRestoreWallet, &QRadioButton::clicked, [=](bool checked) { if (checked) { form.radioNewWallet->setChecked(false); + } }); - form.radioNewWallet->setChecked(true); + - registerField("intro.new", form.radioNewWallet); + + } else { + form.lblPasswordMatch->setText(tr("Passphrase don't match or You have entered too few letters (16 minimum)")); + + parent->button(QWizard::CommitButton)->setEnabled(false); + form.radioRestoreWallet->setEnabled(false); + form.radioNewWallet->setEnabled(false); + } + + }; QVBoxLayout *layout = new QVBoxLayout; layout->addWidget(pageWidget); setLayout(layout); + + + QObject::connect(form.txtConfirmPassword, &QLineEdit::textChanged, fnPasswordEdited); + QObject::connect(form.txtPassword, &QLineEdit::textChanged, fnPasswordEdited); + registerField("intro.new", form.radioNewWallet); + form.radioRestoreWallet->setEnabled(false); + form.radioNewWallet->setEnabled(false); setCommitPage(true); - setButtonText(QWizard::CommitButton, "Next"); + + } NewSeedPage::NewSeedPage(FirstTimeWizard *parent) : QWizardPage(parent) { @@ -81,6 +127,7 @@ NewSeedPage::NewSeedPage(FirstTimeWizard *parent) : QWizardPage(parent) { void NewSeedPage::initializePage() { // Call the library to create a new wallet. + char* resp = litelib_initialize_new(parent->dangerous, parent->server.toStdString().c_str()); QString reply = litelib_process_response(resp); @@ -90,7 +137,11 @@ void NewSeedPage::initializePage() { } else { QString seed = QString::fromStdString(parsed["seed"].get()); form.txtSeed->setPlainText(seed); + + } + + } // Will be called just before closing. Make sure we can save the seed in the wallet @@ -175,4 +226,4 @@ bool RestoreSeedPage::validatePage() { return true; } } -} \ No newline at end of file +} diff --git a/src/firsttimewizard.h b/src/firsttimewizard.h index 276c0cd..8d84b61 100644 --- a/src/firsttimewizard.h +++ b/src/firsttimewizard.h @@ -5,11 +5,18 @@ #include "ui_newseed.h" #include "ui_restoreseed.h" +#include "mainwindow.h" + + class FirstTimeWizard: public QWizard { + + + public: FirstTimeWizard(bool dangerous, QString server); + protected: int nextId() const; @@ -27,11 +34,16 @@ private: friend class NewOrRestorePage; friend class NewSeedPage; friend class RestoreSeedPage; + + + }; class NewOrRestorePage: public QWizardPage { public: + NewOrRestorePage(FirstTimeWizard* parent); + }; diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 22bc64f..bf5b464 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -31,6 +31,7 @@ #include "Crypto/passwd.h" #include "Crypto/FileEncryption.h" #include "DataStore/DataStore.h" +#include "firsttimewizard.h" using json = nlohmann::json; @@ -52,8 +53,6 @@ auto dirwalletenc = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLo auto dirwalletbackup = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)).filePath(".silentdragonlite/silentdragonlite-wallet.datBackup"); #endif - - MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) @@ -289,10 +288,10 @@ void MainWindow::closeEvent(QCloseEvent* event) { s.sync(); - + // Let the RPC know to shut down any running service. rpc->shutdownhushd(); - int passphraselenght = this->getPassword().length(); + int passphraselenght = DataStore::getChatDataStore()->getPassword().length(); // Check is encryption is ON for SDl if(passphraselenght > 0) @@ -305,7 +304,7 @@ void MainWindow::closeEvent(QCloseEvent* event) { fileoldencryption.remove(); // Encrypt our wallet.dat - QString str = this->getPassword(); + QString str = DataStore::getChatDataStore()->getPassword(); // QString str = ed.txtPassword->text(); // data comes from user inputs int length = str.length(); @@ -401,7 +400,7 @@ void MainWindow::encryptWallet() { QString passphrase = ed.txtPassword->text(); // data comes from user inputs int length = passphrase.length(); - this->setPassword(passphrase); + DataStore::getChatDataStore()->setPassword(passphrase); char *sequence = NULL; sequence = new char[length+1]; @@ -561,7 +560,7 @@ void MainWindow::removeWalletEncryptionStartUp() { { QString password = ed.txtPassword->text(); // data comes from user inputs int length = password.length(); - this->setPassword(password); + DataStore::getChatDataStore()->setPassword(password); char *sequence = NULL; sequence = new char[length+1]; strncpy(sequence, password.toLocal8Bit(), length +1); @@ -663,6 +662,7 @@ void MainWindow::setupStatusBar() { loadingMovie->start(); loadingLabel->setAttribute(Qt::WA_NoSystemBackground); loadingLabel->setMovie(loadingMovie); + ui->statusBar->addPermanentWidget(loadingLabel); loadingLabel->setVisible(false); @@ -1159,7 +1159,6 @@ void MainWindow::setupBalancesTab() { ui->lblSyncWarning->setVisible(false); ui->lblSyncWarningReceive->setVisible(false); - // Setup context menu on balances tab ui->balancesTable->setContextMenuPolicy(Qt::CustomContextMenu); QObject::connect(ui->balancesTable, &QTableView::customContextMenuRequested, [=] (QPoint pos) { @@ -1191,6 +1190,8 @@ void MainWindow::setupBalancesTab() { menu.exec(ui->balancesTable->viewport()->mapToGlobal(pos)); }); + + qDebug()<<"PW :"<getPassword(); } void MainWindow::setuphushdTab() { diff --git a/src/mainwindow.h b/src/mainwindow.h index 53032df..62ff3f3 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -5,7 +5,7 @@ #include "logger.h" #include "recurring.h" - +#include "firsttimewizard.h" // Forward declare to break circular dependency. class Controller; @@ -59,6 +59,7 @@ public: void addPubkey(QString requestZaddr, QString pubkey); + void replaceWormholeClient(WormholeClient* newClient); bool isWebsocketListening(); @@ -67,10 +68,7 @@ public: void saveContact(); void saveandsendContact(); void showRequesthush(); - // void setmaxlenChat(int len); - // void updateDisplay(); - - + void balancesReady(); void payhushURI(QString uri = "", QString myAddr = ""); @@ -113,6 +111,7 @@ private: bool fileExists(QString path); void closeEvent(QCloseEvent* event); void closeEventpw(QCloseEvent* event); + QString _password; void setupSendTab(); @@ -122,7 +121,6 @@ private: void setuphushdTab(); void setupchatTab(); void renderContactRequest(); - // void setLenDisplayLabel(QLabel* label); void updateContacts(); void updateChat(); @@ -131,7 +129,7 @@ private: void setupStatusBar(); void clearSendForm(); - QString _password; + Tx createTxFromSendPage(); bool confirmTx(Tx tx, RecurringPaymentInfo* rpi); diff --git a/src/newseed.ui b/src/newseed.ui index ed5d9ae..7657542 100644 --- a/src/newseed.ui +++ b/src/newseed.ui @@ -6,15 +6,15 @@ 0 0 - 400 - 300 + 427 + 416 Form - + This is your new wallet's seed phrase. PLEASE BACK IT UP SECURELY. @@ -24,17 +24,7 @@ - - - - The seed phrase is the only way to restore the wallet. If you forget the seed phrase, THERE IS NO WAY TO RESTORE YOUR WALLET AND THE FUNDS in it - - - true - - - - + @@ -56,6 +46,16 @@
+ + + + The seed phrase is the only way to restore the wallet. If you forget the seed phrase, THERE IS NO WAY TO RESTORE YOUR WALLET AND THE FUNDS in it + + + true + + + diff --git a/src/newwallet.ui b/src/newwallet.ui index 9cf34c5..ac2a5af 100644 --- a/src/newwallet.ui +++ b/src/newwallet.ui @@ -6,16 +6,16 @@ 0 0 - 400 - 300 + 437 + 381 Form - - + + 0 @@ -25,18 +25,18 @@ - + - + - Restore wallet from seed + Create a new Wallet - + - Restore an existing wallet, using the 24-word seed. + Create a new wallet with a randomly generated seed. true @@ -46,8 +46,63 @@ - - + + + + Qt::Horizontal + + + + + + + color: red; + + + Passphrase don't match + + + Qt::AlignCenter + + + + + + + <html><head/><body><p>16 letters minimum</p></body></html> + + + + + + + Encryption Passphrase: + + + + + + + QLineEdit::Password + + + + + + + Confirm Passphrase: + + + + + + + QLineEdit::Password + + + + + 0 @@ -57,18 +112,18 @@ - + - + - Create a new Wallet + Restore wallet from seed - + - Create a new wallet with a randomly generated seed. + Restore an existing wallet, using the 24-word seed. true From f734976773cc19c44a55ef479f365bcbcabcfc5d Mon Sep 17 00:00:00 2001 From: Charles <18726788+csharpee@users.noreply.github.com> Date: Mon, 8 Jun 2020 18:11:18 -0400 Subject: [PATCH 239/256] More GUI fixes, typos and GUI updates for fixed frame sizes encrypt/decrypt boxes. --- src/contactrequest.ui | 275 ++++++++++++++++++--------------------- src/encryption.ui | 152 ++++++++++++++-------- src/removeencryption.ui | 270 ++++++++++++++++++-------------------- src/startupencryption.ui | 24 ++++ 4 files changed, 375 insertions(+), 346 deletions(-) diff --git a/src/contactrequest.ui b/src/contactrequest.ui index 286dbdb..d8ca0a6 100644 --- a/src/contactrequest.ui +++ b/src/contactrequest.ui @@ -7,68 +7,47 @@ 0 0 780 - 427 + 351 - + 0 0 + + + 780 + 351 + + 780 - 427 + 351 Send a contact request - - - - - 500 - 71 - - - - Qt::NoContextMenu - - - false - - - Qt::ImhSensitiveData - - - 512 - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - false - - - Add a memo to your request - - - true + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert a memo for your request:</span></p></body></html> - + - - - 650 - 25 - + + + 0 + 0 + - + 650 25 @@ -76,19 +55,6 @@ - - - - Add Contact and Send Request - - - false - - - false - - - @@ -108,99 +74,11 @@ - - - - - 0 - 0 - - - - - 100 - 0 - - - - Cancel - - - false - - - false - - - - - - - <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert a memo for your request:</span></p></body></html> - - - - - - - <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert the address of your contact:</span></p></body></html> - - - - - - - 12 - - - QLayout::SetDefaultConstraint - - - - - - 0 - 0 - - - - <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Your HushChat Address:</span></p></body></html> - - - - - - - - 0 - 0 - - - - Create New Address - - - false - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - + + QLayout::SetMaximumSize + @@ -394,8 +272,108 @@ + + + + + 0 + 0 + + + + + 100 + 0 + + + + Cancel + + + false + + + false + + + + + + + Add Contact and Send Request + + + false + + + false + + + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert the address of your contact:</span></p></body></html> + + + + + + + 6 + + + QLayout::SetMaximumSize + + + + + + 0 + 0 + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Your HushChat Address:</span></p></body></html> + + + + + + + + 0 + 0 + + + + Create New Address + + + false + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + QLayout::SetMaximumSize + @@ -453,6 +431,13 @@ + + + + Add a memo to your request + + + diff --git a/src/encryption.ui b/src/encryption.ui index ae2643b..7f2388c 100644 --- a/src/encryption.ui +++ b/src/encryption.ui @@ -10,12 +10,37 @@ 300 + + + 0 + 0 + + + + + 400 + 300 + + + + + 400 + 300 + + Encrypt Your Wallet - - + + + + Encryption Passphrase: + + + + + Qt::Vertical @@ -29,8 +54,14 @@ + + + 0 + 0 + + - <html><head/><body><p><span style=" font-size:14pt; color:#ef2929;">WARNING:</span> If you forget your passphrase the only way to recover the wallet is from the seed phrase. If you dont have Backup your seed phrase, please do it now!</p></body></html> + <html><head/><body><p><span style=" font-size:14pt; color:#ef2929;">WARNING:</span> If you forget your passphrase, the only way to recover the wallet is from the seed phrase. If you don't have a backup of your seed phrase, please do it now!</p></body></html> Qt::AlignCenter @@ -40,8 +71,48 @@ - - + + + + Qt::Horizontal + + + + + + + QLineEdit::Password + + + + + + + Confirm Passphrase: + + + + + + + + 0 + 0 + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + true + + + + + Qt::Vertical @@ -53,78 +124,49 @@ - + Qt::Horizontal - - - - <html><head/><body><p>16 letters minimum</p></body></html> + + + + QLineEdit::Password - + + + + 0 + 0 + + color: red; - Passphrase don't match + <html><head/><body><p><span style=" font-style:italic;">Passphrase don't match</span></p></body></html> Qt::AlignCenter - - - - Encryption Passphrase: - - - - - - - QLineEdit::Password - - - - - - - Confirm Passphrase: - - - - - - QLineEdit::Password - - - - - - - Qt::Horizontal - - - - - - - Qt::Horizontal - - - QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + 0 + 0 + - - true + + <html><head/><body><p><span style=" font-style:italic;">16 letters minimum</span></p></body></html> diff --git a/src/removeencryption.ui b/src/removeencryption.ui index 11bee22..2194997 100644 --- a/src/removeencryption.ui +++ b/src/removeencryption.ui @@ -10,154 +10,132 @@ 300 + + + 0 + 0 + + + + + 400 + 300 + + + + + 400 + 300 + + - Remove your Wallet encryption + Decrypt Your Wallet - - - - 50 - 260 - 341 - 32 - - - - Qt::Horizontal - - - QDialogButtonBox::Cancel|QDialogButtonBox::Ok - - - - - - 260 - 170 - 133 - 23 - - - - <html><head/><body><p>16 letters minimum</p></body></html> - - - - - - 10 - 229 - 157 - 25 - - - - Confirm Passphrase: - - - - - - 10 - 164 - 382 - 3 - - - - Qt::Horizontal - - - - - - 173 - 229 - 219 - 25 - - - - QLineEdit::Password - - - - - - 10 - 56 - 382 - 56 - - - - <html><head/><body><p><span style=" font-size:14pt; color:#ef2929;">WARNING:</span> If you remove your encryption, all your transactions and contacts are plaintext on disk! Messages are still encrypt.</p></body></html> - - - Qt::AlignCenter - - - true - - - - - - 10 - 260 - 382 - 3 - - - - Qt::Horizontal - - - - - - 10 - 198 - 157 - 25 - - - - Encryption Passphrase: - - - - - - 10 - 175 - 243 - 17 - - - - color: red; - - - Passphrase don't match - - - Qt::AlignCenter - - - - - - 173 - 198 - 219 - 25 - - - - QLineEdit::Password - - + + + + + Qt::Horizontal + + + + + + + <html><head/><body><p><span style=" font-size:14pt; color:#ef2929;">WARNING:</span> If you remove your wallet.dat encryption, all your transactions and contacts are plaintext on disk!<br/><br/>Messages sent and received are always encrypted.</p></body></html> + + + Qt::AlignCenter + + + true + + + + + + + QLineEdit::Password + + + + + + + + 0 + 0 + + + + <html><head/><body><p><span style=" font-style:italic;">16 letters minimum</span></p></body></html> + + + + + + + + 0 + 0 + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + Encryption Passphrase: + + + + + + + Confirm Passphrase: + + + + + + + Qt::Horizontal + + + + + + + QLineEdit::Password + + + + + + + + 0 + 0 + + + + color: red; + + + <html><head/><body><p><span style=" font-style:italic;">Passphrase don't match</span></p></body></html> + + + Qt::AlignCenter + + + + diff --git a/src/startupencryption.ui b/src/startupencryption.ui index 56fc02c..963d2f0 100644 --- a/src/startupencryption.ui +++ b/src/startupencryption.ui @@ -10,6 +10,24 @@ 177 + + + 0 + 0 + + + + + 400 + 177 + + + + + 400 + 177 + + SDL Startup Decryption @@ -43,6 +61,12 @@ + + + 0 + 25 + + QLineEdit::Password From 38aebf72748c47039ed9caaa7e5ad700d7cf4b88 Mon Sep 17 00:00:00 2001 From: Charles <18726788+csharpee@users.noreply.github.com> Date: Mon, 8 Jun 2020 20:06:40 -0400 Subject: [PATCH 240/256] beginning integration formemo counter of limited characters; changing from QLineEdit to QTextEdit for wrapping of text --- src/chatmodel.cpp | 2 +- src/contactrequest.ui | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 2fcbbf6..c3f5f08 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -734,7 +734,7 @@ QObject::connect(request.newZaddr, &QPushButton::clicked, [&] () { QString addr = request.zaddr->text(); QString myAddr = request.myzaddr->text().trimmed(); - QString memo = request.memorequest->text().trimmed(); + QString memo = request.memorequest->toPlainText().trimmed(); QString avatar = QString(":/icons/res/") + request.comboBoxAvatar->currentText() + QString(".png"); QString label = request.labelRequest->text().trimmed(); diff --git a/src/contactrequest.ui b/src/contactrequest.ui index d8ca0a6..91328db 100644 --- a/src/contactrequest.ui +++ b/src/contactrequest.ui @@ -432,12 +432,25 @@ - + Add a memo to your request + + + + + 0 + 0 + + + + 0/235 + + + From f697520049246dde82ed6cbd00917c8aede422fc Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Tue, 9 Jun 2020 08:24:45 +0200 Subject: [PATCH 241/256] set maxlen to 512 for request --- src/contactrequest.ui | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/contactrequest.ui b/src/contactrequest.ui index 91328db..1b9bd7d 100644 --- a/src/contactrequest.ui +++ b/src/contactrequest.ui @@ -447,7 +447,7 @@ - 0/235 + 0/512 From 72357dfc17dfc65196c66b4908767197bc45c437 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Tue, 9 Jun 2020 12:06:46 +0200 Subject: [PATCH 242/256] set focus to the last chatItem --- src/controller.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/controller.cpp b/src/controller.cpp index 6d02a40..3bb208b 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -1379,6 +1379,8 @@ void Controller::refreshTransactions() { // Update model data, which updates the table view transactionsTableModel->replaceData(txdata); chat->renderChatBox(ui, ui->listChat,ui->memoSizeChat); + ui->listChat->verticalScrollBar()->setValue( + ui->listChat->verticalScrollBar()->maximum()); }); } @@ -1386,6 +1388,8 @@ void Controller::refreshTransactions() { void Controller::refreshChat(QListView *listWidget, QLabel *label) { chat->renderChatBox(ui, listWidget, label); + ui->listChat->verticalScrollBar()->setValue( + ui->listChat->verticalScrollBar()->maximum()); } From c44322a5e6cd568db16aacab244bb81b5937b54d Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Tue, 9 Jun 2020 23:46:51 +0200 Subject: [PATCH 243/256] encrypt zdust memo --- src/controller.cpp | 109 +++++++++++++++++++++++++++++++++------- src/controller.h | 1 + src/firsttimewizard.cpp | 1 - src/mainwindow.cpp | 1 - 4 files changed, 92 insertions(+), 20 deletions(-) diff --git a/src/controller.cpp b/src/controller.cpp index 3bb208b..6bcd569 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -91,7 +91,7 @@ void Controller::setConnection(Connection* c) // Create Sietch zdust addr at startup. // Using DataStore singelton, to store the data outside of lambda, bing bada boom :D - for(uint8_t i = 0; i < 10; i++) + for(uint8_t i = 0; i < 6; i++) { zrpc->createNewSietchZaddr( [=] (json reply) { QString zdust = QString::fromStdString(reply.get()[0]); @@ -104,6 +104,21 @@ void Controller::setConnection(Connection* c) ); } +std::string Controller::encryptDecrypt(std::string toEncrypt) +{ + + int radomInteger = rand() % 1000000000 +100000; + + char key = radomInteger; + std::string output = toEncrypt; + + for (int i = 0; i < toEncrypt.size(); i++) + output[i] = toEncrypt[i] ^ key; + + return output; + +} + // Build the RPC JSON Parameters for this tx void Controller::fillTxJsonParams(json& allRecepients, Tx tx) { @@ -113,12 +128,12 @@ void Controller::fillTxJsonParams(json& allRecepients, Tx tx) json rec = json::object(); //creating the JSON dust parameters in a std::vector to iterate over there during tx - std::vector dust(10); - dust.resize(10, json::object()); + std::vector dust(6); + dust.resize(6, json::object()); // Create Sietch zdust addr again to not use it twice. // Using DataStore singelton, to store the data outside of lambda, bing bada boom :D - for(uint8_t i = 0; i < 10; i++) + for(uint8_t i = 0; i < 6; i++) { zrpc->createNewSietchZaddr( [=] (json reply) { QString zdust = QString::fromStdString(reply.get()[0]); @@ -128,20 +143,74 @@ void Controller::fillTxJsonParams(json& allRecepients, Tx tx) // Set sietch zdust addr to json. // Using DataStore singelton, to store the data into the dusts, bing bada boom :D - for(uint8_t i = 0; i < 10; i++) + for(uint8_t i = 0; i < 6; i++) { dust.at(i)["address"] = DataStore::getSietchDataStore()->getData(QString("Sietch" + QString(i))).toStdString(); } DataStore::getSietchDataStore()->clear(); // clears the datastore - // Dust amt/memo, construct the JSON - for(uint8_t i = 0; i < 8; i++) + const QString possibleCharacters("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"); + + int sizerandomString = rand() % 250 +125; + const int randomStringLength = sizerandomString; // assuming you want random strings of 12 characters + + QString randomString; + for(int i=0; i(hash),MESSAGE_LEN1); + + ///encrypt zdust memo + std::string encrypt = this->encryptDecrypt(decryptedMemo); + QString randomHashafter1 = QString::fromUtf8( encrypt.data(), encrypt.size() + crypto_secretstream_xchacha20poly1305_ABYTES); + std::string encrypt2 = this->encryptDecrypt(decryptedMemo); + QString randomHashafter2 = QString::fromUtf8( encrypt2.data(), encrypt2.size() + crypto_secretstream_xchacha20poly1305_ABYTES); + std::string encrypt3 = this->encryptDecrypt(decryptedMemo); + QString randomHashafter3 = QString::fromUtf8( encrypt3.data(), encrypt3.size() + crypto_secretstream_xchacha20poly1305_ABYTES); + std::string encrypt4 = this->encryptDecrypt(decryptedMemo); + QString randomHashafter4 = QString::fromUtf8( encrypt4.data(), encrypt4.size() + crypto_secretstream_xchacha20poly1305_ABYTES); + std::string encrypt5 = this->encryptDecrypt(decryptedMemo); + QString randomHashafter5 = QString::fromUtf8( encrypt5.data(), encrypt5.size() + crypto_secretstream_xchacha20poly1305_ABYTES); + std::string encrypt6 = this->encryptDecrypt(decryptedMemo); + QString randomHashafter6 = QString::fromUtf8( encrypt6.data(), encrypt6.size() + crypto_secretstream_xchacha20poly1305_ABYTES); + std::string encrypt7 = this->encryptDecrypt(decryptedMemo); + QString randomHashafter7 = QString::fromUtf8( encrypt7.data(), encrypt7.size() + crypto_secretstream_xchacha20poly1305_ABYTES); + + + for(uint8_t i = 0; i < 6; i++) { - dust.at(i)["amount"] = 0; - dust.at(i)["memo"] = ""; - + dust.at(i)["amount"] = 0; } + + dust.at(0)["memo"] = randomHashafter1.toStdString(); + dust.at(1)["memo"] = randomHashafter2.toStdString(); + dust.at(2)["memo"] = randomHashafter3.toStdString(); + dust.at(3)["memo"] = randomHashafter4.toStdString(); + dust.at(4)["memo"] = randomHashafter5.toStdString(); + dust.at(5)["memo"] = randomHashafter6.toStdString(); + // For each addr/amt/memo, construct the JSON and also build the confirm dialog box for (int i=0; i < tx.toAddrs.size(); i++) @@ -161,8 +230,7 @@ void Controller::fillTxJsonParams(json& allRecepients, Tx tx) dust.at(2), dust.at(3), dust.at(4), - dust.at(5), - dust.at(6) + dust.at(5) }) ; } @@ -971,14 +1039,11 @@ void Controller::refreshTransactions() { QString hashEncryptionKey = passphrase; int length = hashEncryptionKey.length(); - - ////////////////Generate the secretkey for our message encryption char *hashEncryptionKeyraw = NULL; hashEncryptionKeyraw = new char[length+1]; strncpy(hashEncryptionKeyraw, hashEncryptionKey.toLocal8Bit(), length +1); - const QByteArray pubkeyBobArray = QByteArray::fromHex(publickey.toLatin1()); const unsigned char *pubkeyBob = reinterpret_cast(pubkeyBobArray.constData()); @@ -1019,9 +1084,12 @@ void Controller::refreshTransactions() { const QByteArray ba1 = QByteArray::fromHex(headerbytes.toLatin1()); const unsigned char *header = reinterpret_cast(ba1.constData()); - int encryptedMemoSize1 = ba.length(); + QString memodecrypt; + + if (encryptedMemoSize1 > 15) + { //////unsigned char* as message from QString #define MESSAGE2 (const unsigned char *) encryptedMemo @@ -1050,10 +1118,15 @@ void Controller::refreshTransactions() { } std::string decryptedMemo(reinterpret_cast(decrypted),MESSAGE1_LEN); - + + memodecrypt = QString::fromUtf8( decryptedMemo.data(), decryptedMemo.size()); + + }else{ + memodecrypt = ""; + + } /////Now we can convert it to QString - QString memodecrypt = QString::fromUtf8( decryptedMemo.data(), decryptedMemo.size()); //////////////Give us the output of the decrypted message as debug to see if it was successfully diff --git a/src/controller.h b/src/controller.h index f66596f..195827c 100644 --- a/src/controller.h +++ b/src/controller.h @@ -44,6 +44,7 @@ public: int getLag(); void setLag(int lag); int _lag; + std::string encryptDecrypt(std::string); void checkForUpdate(bool silent = true); void refreshZECPrice(); diff --git a/src/firsttimewizard.cpp b/src/firsttimewizard.cpp index ffcfd84..5ef96bb 100644 --- a/src/firsttimewizard.cpp +++ b/src/firsttimewizard.cpp @@ -60,7 +60,6 @@ NewOrRestorePage::NewOrRestorePage(FirstTimeWizard *parent) : QWizardPage(parent form.radioRestoreWallet->setEnabled(true); form.radioNewWallet->setEnabled(true); form.radioNewWallet->setChecked(true); - qDebug()<<"PW :"<setPassword(Password); diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index bf5b464..c3be452 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1191,7 +1191,6 @@ void MainWindow::setupBalancesTab() { menu.exec(ui->balancesTable->viewport()->mapToGlobal(pos)); }); - qDebug()<<"PW :"<getPassword(); } void MainWindow::setuphushdTab() { From f8e295775a8e5b4af408a1aa35c5df5b6de63045 Mon Sep 17 00:00:00 2001 From: Charles <18726788+csharpee@users.noreply.github.com> Date: Wed, 10 Jun 2020 01:32:41 -0400 Subject: [PATCH 244/256] Title capitalization of all themes, fixed border for settings.ui, increased width of theme & currency boxes to accomodate longer theme names --- application.qrc | 27 ++++++++++--------- res/css/{blue.css => Blue.css} | 0 res/css/{dark.css => Dark.css} | 0 res/css/{default.css => Default.css} | 0 res/css/{light.css => Light.css} | 0 res/css/{midnight.css => Midnight.css} | 0 src/chatmodel.cpp | 10 +++---- src/connection.cpp | 2 +- src/controller.cpp | 2 +- src/mainwindow.cpp | 10 +++---- src/sendtab.cpp | 2 +- src/settings.cpp | 2 +- src/settings.ui | 36 +++++++++++++++++++------- 13 files changed, 54 insertions(+), 37 deletions(-) rename res/css/{blue.css => Blue.css} (100%) rename res/css/{dark.css => Dark.css} (100%) rename res/css/{default.css => Default.css} (100%) rename res/css/{light.css => Light.css} (100%) rename res/css/{midnight.css => Midnight.css} (100%) diff --git a/application.qrc b/application.qrc index 345aac4..e6c1b2d 100644 --- a/application.qrc +++ b/application.qrc @@ -47,7 +47,6 @@ res/addContactBlack.png res/unknownBlack.png res/unknownWhite.png - res/hushdlogo.gif @@ -59,21 +58,21 @@ res/loaderwhite.gif - res/silentdragonlite_de.qm - res/silentdragonlite_es.qm - res/silentdragonlite_fr.qm - res/silentdragonlite_pt.qm - res/silentdragonlite_it.qm - res/silentdragonlite_hr.qm - res/silentdragonlite_fa.qm - res/silentdragonlite_id.qm + res/silentdragonlite_de.qm + res/silentdragonlite_es.qm + res/silentdragonlite_fr.qm + res/silentdragonlite_pt.qm + res/silentdragonlite_it.qm + res/silentdragonlite_hr.qm + res/silentdragonlite_fa.qm + res/silentdragonlite_id.qm - res/css/blue.css - res/css/dark.css - res/css/default.css - res/css/light.css - res/css/midnight.css + res/css/Blue.css + res/css/Dark.css + res/css/Default.css + res/css/Light.css + res/css/Midnight.css res/images/blue/unchecked.png diff --git a/res/css/blue.css b/res/css/Blue.css similarity index 100% rename from res/css/blue.css rename to res/css/Blue.css diff --git a/res/css/dark.css b/res/css/Dark.css similarity index 100% rename from res/css/dark.css rename to res/css/Dark.css diff --git a/res/css/default.css b/res/css/Default.css similarity index 100% rename from res/css/default.css rename to res/css/Default.css diff --git a/res/css/light.css b/res/css/Light.css similarity index 100% rename from res/css/light.css rename to res/css/Light.css diff --git a/res/css/midnight.css b/res/css/Midnight.css similarity index 100% rename from res/css/midnight.css rename to res/css/Midnight.css diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index c3f5f08..fe4e92b 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -101,7 +101,7 @@ void MainWindow::renderContactRequest(){ QString icon; auto theme = Settings::getInstance()->get_theme_name(); - if (theme == "dark" || theme == "midnight") { + if (theme == "Dark" || theme == "Midnight") { icon = ":/icons/res/unknownWhite.png"; }else{ icon = ":/icons/res/unknownBlack.png"; @@ -587,7 +587,7 @@ void MainWindow::sendChat() { movie1->setFileName(":/img/res/loaderwhite.gif"); auto theme = Settings::getInstance()->get_theme_name(); - if (theme == "dark" || theme == "midnight") { + if (theme == "Dark" || theme == "Midnight") { connect(movie, &QMovie::frameChanged, [=]{ ui->sendChatButton->setIcon(movie->currentPixmap()); @@ -616,7 +616,7 @@ void MainWindow::sendChat() { QTimer::singleShot(1000, [=]() { - if (theme == "dark" || theme == "midnight") { + if (theme == "Dark" || theme == "Midnight") { QPixmap send(":/icons/res/send-white.png"); QIcon sendIcon(send); ui->sendChatButton->setIcon(sendIcon); @@ -649,7 +649,7 @@ void MainWindow::sendChat() { movie->stop(); - if (theme == "dark" || theme == "midnight") { + if (theme == "Dark" || theme == "Midnight") { QPixmap send(":/icons/res/send-white.png"); QIcon sendIcon(send); ui->sendChatButton->setIcon(sendIcon); @@ -881,7 +881,7 @@ void MainWindow::ContactRequest() { QMovie *movie1 = new QMovie(":/img/res/silentdragonlite-animated.gif"); QMovie *movie2 = new QMovie(":/img/res/silentdragonlite-animated-dark.gif"); auto theme = Settings::getInstance()->get_theme_name(); - if (theme == "dark" || theme == "midnight") { + if (theme == "Dark" || theme == "Midnight") { movie2->setScaledSize(QSize(512,512)); connD->topIcon->setMovie(movie2); movie2->start(); diff --git a/src/connection.cpp b/src/connection.cpp index bbc3bce..569ebed 100644 --- a/src/connection.cpp +++ b/src/connection.cpp @@ -23,7 +23,7 @@ ConnectionLoader::ConnectionLoader(MainWindow* main, Controller* rpc) qDebug() << theme << "theme has loaded"; auto size = QSize(512,512); - if (theme == "dark" || theme == "midnight") { + if (theme == "Dark" || theme == "Midnight") { QMovie *movie2 = new QMovie(":/img/res/silentdragonlite-animated-startup-dark.gif");; movie2->setScaledSize(size); qDebug() << "Animation dark loaded"; diff --git a/src/controller.cpp b/src/controller.cpp index 6bcd569..7cca1a7 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -2035,7 +2035,7 @@ void Controller::shutdownhushd() auto theme = Settings::getInstance()->get_theme_name(); auto size = QSize(512,512); - if (theme == "dark" || theme == "midnight") { + if (theme == "Dark" || theme == "Midnight") { QMovie *movie2 = new QMovie(":/img/res/silentdragonlite-animated-startup-dark.gif");; movie2->setScaledSize(size); qDebug() << "Animation dark loaded"; diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index c3be452..6eba199 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -66,7 +66,7 @@ MainWindow::MainWindow(QWidget *parent) : } catch (...) { - theme_name = "dark"; + theme_name = "Dark"; } this->slot_change_theme(theme_name); @@ -1213,10 +1213,10 @@ void MainWindow::setupTransactionsTab() { // Set up context menu on transactions tab auto theme = Settings::getInstance()->get_theme_name(); - if (theme == "dark" || theme == "midnight") { + if (theme == "Dark" || theme == "Midnight") { ui->listChat->setStyleSheet("background-image: url(:/icons/res/sdlogo.png) ;background-attachment: fixed ;background-position: center center ;background-repeat: no-repeat;background-size: cover"); } - if (theme == "default") {ui->listChat->setStyleSheet("background-image: url(:/icons/res/sdlogo2.png) ;background-attachment: fixed ;background-position: center center ;background-repeat: no-repeat;background-size: cover");} + if (theme == "Default") {ui->listChat->setStyleSheet("background-image: url(:/icons/res/sdlogo2.png) ;background-attachment: fixed ;background-position: center center ;background-repeat: no-repeat;background-size: cover");} ui->listChat->setResizeMode(QListView::Adjust); ui->listChat->setWordWrap(true); @@ -1316,7 +1316,7 @@ void MainWindow::setupchatTab() { /////////////Setting Icons for Chattab and different themes auto theme = Settings::getInstance()->get_theme_name(); - if (theme == "dark" || theme == "midnight") { + if (theme == "Dark" || theme == "Midnight") { QPixmap send(":/icons/res/send-white.png"); QIcon sendIcon(send); ui->sendChatButton->setIcon(sendIcon); @@ -1955,7 +1955,7 @@ void MainWindow::slot_change_theme(const QString& theme_name) } catch (...) { - saved_theme_name = "dark"; + saved_theme_name = "Dark"; } QFile qFile(":/css/res/css/" + saved_theme_name +".css"); diff --git a/src/sendtab.cpp b/src/sendtab.cpp index 6f3fc11..7e21261 100644 --- a/src/sendtab.cpp +++ b/src/sendtab.cpp @@ -846,7 +846,7 @@ void MainWindow::sendButton() { QMovie *movie1 = new QMovie(":/img/res/silentdragonlite-animated.gif");; QMovie *movie2 = new QMovie(":/img/res/silentdragonlite-animated-dark.gif");; auto theme = Settings::getInstance()->get_theme_name(); - if (theme == "dark" || theme == "midnight") { + if (theme == "Dark" || theme == "Midnight") { movie2->setScaledSize(QSize(512,512)); connD->topIcon->setMovie(movie2); movie2->start(); diff --git a/src/settings.cpp b/src/settings.cpp index dfe1e11..fd47f76 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -230,7 +230,7 @@ void Settings::set_currency_name(QString currency_name) { QString Settings::get_theme_name() { // Load from the QT Settings. - return QSettings().value("options/theme_name", "dark").toString(); + return QSettings().value("options/theme_name", "Dark").toString(); } void Settings::set_theme_name(QString theme_name) { diff --git a/src/settings.ui b/src/settings.ui index ac730fb..57620e5 100644 --- a/src/settings.ui +++ b/src/settings.ui @@ -6,10 +6,28 @@ 0 0 - 733 - 539 + 590 + 443 + + + 0 + 0 + + + + + 590 + 443 + + + + + 590 + 443 + + Settings @@ -85,7 +103,7 @@ 80 110 - 80 + 111 25 @@ -97,27 +115,27 @@ - dark + Dark - default + Midnight - blue + Light - light + Blue - midnight + Default @@ -241,7 +259,7 @@ 80 150 - 80 + 111 25 From 8a840d29c806f331aa81acf8de1768e4b55bb104 Mon Sep 17 00:00:00 2001 From: Charles <18726788+csharpee@users.noreply.github.com> Date: Wed, 10 Jun 2020 01:45:27 -0400 Subject: [PATCH 245/256] Fixed encrypt wallet display bug; commented out line. On entering text in 2nd field, caused long sentence to display that was unreadable. --- src/mainwindow.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 6eba199..3e9d2a0 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -386,7 +386,7 @@ void MainWindow::encryptWallet() { ed.lblPasswordMatch->setText(""); ed.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(true); } else { - ed.lblPasswordMatch->setText(tr("Passphrase don't match or You have entered too few letters (16 minimum)")); + //ed.lblPasswordMatch->setText(tr("Passphrase don't match or You have entered too few letters (16 minimum)")); ed.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false); } @@ -445,7 +445,7 @@ void MainWindow::encryptWallet() { address.rename(dir.filePath("addresslabels.datBackup")); QMessageBox::information(this, tr("Wallet Encryption Success"), - QString("Successfully encrypt your wallet"), + QString("Successfully encrypted your wallet"), QMessageBox::Ok ); } From 65379b8c063c7ff6c5e8bc84045859a7bb9ebe41 Mon Sep 17 00:00:00 2001 From: Charles <18726788+csharpee@users.noreply.github.com> Date: Wed, 10 Jun 2020 02:17:08 -0400 Subject: [PATCH 246/256] Updated window titles, fixed addressbook layout issues with Avatar & Nickname, spellings. --- src/addressbook.ui | 49 ++++++- src/connection.ui | 14 +- src/contactrequest.ui | 284 ++++++++++++++++++------------------ src/hushrequest.ui | 2 +- src/mainwindow.cpp | 2 +- src/mobileappconnector.ui | 2 +- src/newwallet.ui | 136 +++++++++-------- src/recurringdialog.ui | 2 +- src/recurringmultiple.ui | 2 +- src/recurringpayments.ui | 2 +- src/requestContactDialog.ui | 2 +- src/restoreseed.ui | 2 +- 12 files changed, 281 insertions(+), 218 deletions(-) diff --git a/src/addressbook.ui b/src/addressbook.ui index 08b2356..80b3a80 100644 --- a/src/addressbook.ui +++ b/src/addressbook.ui @@ -67,15 +67,28 @@ - <html><head/><body><p align="right">Nickname :</p></body></html> + <html><head/><body><p>Nickname :</p></body></html> - + + + + 0 + 25 + + + + + + 0 + 25 + + 25 @@ -89,7 +102,14 @@ - + + + + 0 + 25 + + + @@ -99,10 +119,23 @@ - + + + + 0 + 25 + + + + + + 0 + 25 + + Add to Address Book @@ -245,12 +278,18 @@ - <html><head/><body><p align="right">Avatar :</p></body></html> + <html><head/><body><p>Avatar :</p></body></html> + + + 0 + 25 + + Create a new HushChat zaddr diff --git a/src/connection.ui b/src/connection.ui index 69c6a7c..8c950bd 100644 --- a/src/connection.ui +++ b/src/connection.ui @@ -10,9 +10,21 @@ 0 0 512 - 513 + 512 + + + 512 + 512 + + + + + 512 + 512 + + SilentDragonLite diff --git a/src/contactrequest.ui b/src/contactrequest.ui index 1b9bd7d..d187eb1 100644 --- a/src/contactrequest.ui +++ b/src/contactrequest.ui @@ -29,9 +29,71 @@ - Send a contact request + Send Contact Request + + + + QLayout::SetMaximumSize + + + + + + 0 + 0 + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert a nickname for your contact:</span></p></body></html> + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 40 + 20 + + + + + + + + + 0 + 0 + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Choose an avatar for your contact:</span></p></body></html> + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + @@ -39,6 +101,58 @@ + + + + 6 + + + QLayout::SetMaximumSize + + + + + + 0 + 0 + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Your HushChat Address:</span></p></body></html> + + + + + + + + 0 + 0 + + + + Create New Address + + + false + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + @@ -55,6 +169,13 @@ + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert the address of your contact:</span></p></body></html> + + + @@ -272,6 +393,26 @@ + + + + + 0 + 0 + + + + 0/512 + + + + + + + Add a memo to your request + + + @@ -310,147 +451,6 @@ - - - - <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert the address of your contact:</span></p></body></html> - - - - - - - 6 - - - QLayout::SetMaximumSize - - - - - - 0 - 0 - - - - <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Your HushChat Address:</span></p></body></html> - - - - - - - - 0 - 0 - - - - Create New Address - - - false - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - QLayout::SetMaximumSize - - - - - - 0 - 0 - - - - <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert a nickname for your contact:</span></p></body></html> - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 40 - 20 - - - - - - - - - 0 - 0 - - - - <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Choose an avatar for your contact:</span></p></body></html> - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - Add a memo to your request - - - - - - - - 0 - 0 - - - - 0/512 - - - diff --git a/src/hushrequest.ui b/src/hushrequest.ui index d0b0ca7..f51aebd 100644 --- a/src/hushrequest.ui +++ b/src/hushrequest.ui @@ -11,7 +11,7 @@ - Dialog + Request Payment diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 3e9d2a0..441126e 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -612,7 +612,7 @@ void MainWindow::removeWalletEncryptionStartUp() { { - QMessageBox::information(this, tr("You have still Plaintextdata on your disk!"), + QMessageBox::information(this, tr("You still have plaintext data on your disk!"), QString("WARNING: Delete it only if you have a backup of your Wallet Seed."), QMessageBox::Ok ); diff --git a/src/mobileappconnector.ui b/src/mobileappconnector.ui index 9412c37..823a497 100644 --- a/src/mobileappconnector.ui +++ b/src/mobileappconnector.ui @@ -11,7 +11,7 @@ - Connect Mobile App + Mobile Connector App diff --git a/src/newwallet.ui b/src/newwallet.ui index ac2a5af..9f1e76c 100644 --- a/src/newwallet.ui +++ b/src/newwallet.ui @@ -11,9 +11,62 @@ - Form + Create New SDL Wallet + + + + Confirm Passphrase: + + + + + + + QLineEdit::Password + + + + + + + + 0 + 0 + + + + + + + + + + Restore wallet from seed + + + + + + + Restore an existing wallet, using the 24-word seed. + + + true + + + + + + + + + + QLineEdit::Password + + + @@ -29,7 +82,7 @@ - Create a new Wallet + Create a new wallet @@ -53,84 +106,43 @@ - - - - color: red; - - - Passphrase don't match - - - Qt::AlignCenter - - - - - - - <html><head/><body><p>16 letters minimum</p></body></html> - - - - + Encryption Passphrase: - - - - QLineEdit::Password + + + + + 0 + 0 + + + + color: red; - - - - - Confirm Passphrase: + <html><head/><body><p><span style=" font-style:italic;">Passphrase don't match</span></p></body></html> - - - - - - QLineEdit::Password + + Qt::AlignCenter - - + + - + 0 0 - - + + <html><head/><body><p><span style=" font-style:italic;">16 letters minimum</span></p></body></html> - - - - - Restore wallet from seed - - - - - - - Restore an existing wallet, using the 24-word seed. - - - true - - - - diff --git a/src/recurringdialog.ui b/src/recurringdialog.ui index fbe26e6..6e53279 100644 --- a/src/recurringdialog.ui +++ b/src/recurringdialog.ui @@ -11,7 +11,7 @@ - Dialog + Reccuring Dialog diff --git a/src/recurringmultiple.ui b/src/recurringmultiple.ui index b895ecb..e7a41ca 100644 --- a/src/recurringmultiple.ui +++ b/src/recurringmultiple.ui @@ -11,7 +11,7 @@ - Dialog + Recurring Multiple Payments diff --git a/src/recurringpayments.ui b/src/recurringpayments.ui index 3874370..839fe73 100644 --- a/src/recurringpayments.ui +++ b/src/recurringpayments.ui @@ -11,7 +11,7 @@ - Payments + Reocurring Payments diff --git a/src/requestContactDialog.ui b/src/requestContactDialog.ui index 237f206..76e904a 100644 --- a/src/requestContactDialog.ui +++ b/src/requestContactDialog.ui @@ -23,7 +23,7 @@ - Incoming contact request + Incoming Contact Request diff --git a/src/restoreseed.ui b/src/restoreseed.ui index 9cc2b3f..64bd43f 100644 --- a/src/restoreseed.ui +++ b/src/restoreseed.ui @@ -11,7 +11,7 @@ - Form + Restore Wallet Seed From 83912f6efbcd86416043badd889c498a71ab20ee Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 10 Jun 2020 11:48:25 +0200 Subject: [PATCH 247/256] zdust memos with random size, zdust memo in hex --- src/controller.cpp | 52 ++++++++++++++++------------------------------ 1 file changed, 18 insertions(+), 34 deletions(-) diff --git a/src/controller.cpp b/src/controller.cpp index 6bcd569..066f055 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -108,6 +108,7 @@ std::string Controller::encryptDecrypt(std::string toEncrypt) { int radomInteger = rand() % 1000000000 +100000; + char key = radomInteger; std::string output = toEncrypt; @@ -150,21 +151,23 @@ void Controller::fillTxJsonParams(json& allRecepients, Tx tx) DataStore::getSietchDataStore()->clear(); // clears the datastore - const QString possibleCharacters("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"); + const QString possibleCharacters("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"); - int sizerandomString = rand() % 250 +125; - const int randomStringLength = sizerandomString; // assuming you want random strings of 12 characters + int sizerandomString = rand() % 120 +10; + const int randomStringLength = sizerandomString; - QString randomString; - for(int i=0; i(hash),MESSAGE_LEN1); - - ///encrypt zdust memo - std::string encrypt = this->encryptDecrypt(decryptedMemo); - QString randomHashafter1 = QString::fromUtf8( encrypt.data(), encrypt.size() + crypto_secretstream_xchacha20poly1305_ABYTES); - std::string encrypt2 = this->encryptDecrypt(decryptedMemo); - QString randomHashafter2 = QString::fromUtf8( encrypt2.data(), encrypt2.size() + crypto_secretstream_xchacha20poly1305_ABYTES); - std::string encrypt3 = this->encryptDecrypt(decryptedMemo); - QString randomHashafter3 = QString::fromUtf8( encrypt3.data(), encrypt3.size() + crypto_secretstream_xchacha20poly1305_ABYTES); - std::string encrypt4 = this->encryptDecrypt(decryptedMemo); - QString randomHashafter4 = QString::fromUtf8( encrypt4.data(), encrypt4.size() + crypto_secretstream_xchacha20poly1305_ABYTES); - std::string encrypt5 = this->encryptDecrypt(decryptedMemo); - QString randomHashafter5 = QString::fromUtf8( encrypt5.data(), encrypt5.size() + crypto_secretstream_xchacha20poly1305_ABYTES); - std::string encrypt6 = this->encryptDecrypt(decryptedMemo); - QString randomHashafter6 = QString::fromUtf8( encrypt6.data(), encrypt6.size() + crypto_secretstream_xchacha20poly1305_ABYTES); - std::string encrypt7 = this->encryptDecrypt(decryptedMemo); - QString randomHashafter7 = QString::fromUtf8( encrypt7.data(), encrypt7.size() + crypto_secretstream_xchacha20poly1305_ABYTES); - +std::string encrypt = this->encryptDecrypt(decryptedMemo); +QString randomHashafter1 = QByteArray(reinterpret_cast(encrypt.c_str()),encrypt.size()).toHex(); +dust.at(i)["memo"] = randomHashafter1.toStdString(); + + } for(uint8_t i = 0; i < 6; i++) { dust.at(i)["amount"] = 0; } - dust.at(0)["memo"] = randomHashafter1.toStdString(); - dust.at(1)["memo"] = randomHashafter2.toStdString(); - dust.at(2)["memo"] = randomHashafter3.toStdString(); - dust.at(3)["memo"] = randomHashafter4.toStdString(); - dust.at(4)["memo"] = randomHashafter5.toStdString(); - dust.at(5)["memo"] = randomHashafter6.toStdString(); - // For each addr/amt/memo, construct the JSON and also build the confirm dialog box for (int i=0; i < tx.toAddrs.size(); i++) From 92e20e1c98ce6f4035614e267b4ac130c1aac128 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 10 Jun 2020 17:07:45 +0200 Subject: [PATCH 248/256] rename old addrbook to .bak and create a new one #109 --- src/addressbook.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/addressbook.cpp b/src/addressbook.cpp index 11dc0c4..e2f481d 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -398,7 +398,16 @@ void AddressBook::readFromStorage() QList> stuff; in >> stuff; - + //////////////found old addrbook, and rename it to .bak + if (version != "v2") + { + auto filename = QStringLiteral("addresslabels.dat"); + auto dir = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)); + QFile address(dir.filePath(filename)); + + address.rename(dir.filePath("addresslabels.bak")); + + }else{ for (int i=0; i < stuff.size(); i++) { @@ -406,6 +415,7 @@ void AddressBook::readFromStorage() allLabels.push_back(contact); } + } // qDebug() << "Read " << version << " Hush contacts from disk..."; @@ -448,7 +458,7 @@ void AddressBook::writeToStorage() c.push_back(item.getAvatar()); contacts.push_back(c); } - out << QString("v1") << contacts; + out << QString("v2") << contacts; file.close(); } From 94340842a9e486e1b2d657ea070fe48af5211204 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 10 Jun 2020 21:59:25 +0200 Subject: [PATCH 249/256] add funds button #104 --- src/deposithush.ui | 72 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 src/deposithush.ui diff --git a/src/deposithush.ui b/src/deposithush.ui new file mode 100644 index 0000000..fb923db --- /dev/null +++ b/src/deposithush.ui @@ -0,0 +1,72 @@ + + + + + Dialog + + + + 0 + 0 + 400 + 300 + + + + Dialog + + + + + 30 + 240 + 341 + 32 + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + + buttonBox + accepted() + Dialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + Dialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + + From 2b907a20d46599b678b4d80dcce2b48cb1d8f8d6 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 10 Jun 2020 21:59:32 +0200 Subject: [PATCH 250/256] add funds button #104 --- silentdragon-lite.pro | 2 + src/deposithush.ui | 130 +++++++++++++------ src/mainwindow.cpp | 31 +++++ src/mainwindow.ui | 285 +++++++++++++++++++++--------------------- 4 files changed, 272 insertions(+), 176 deletions(-) diff --git a/silentdragon-lite.pro b/silentdragon-lite.pro index 90b261b..57144f4 100644 --- a/silentdragon-lite.pro +++ b/silentdragon-lite.pro @@ -121,6 +121,7 @@ HEADERS += \ FORMS += \ src/contactrequest.ui \ + src/deposithush.ui \ src/encryption.ui \ src/hushrequest.ui \ src/mainwindow.ui \ @@ -147,6 +148,7 @@ FORMS += \ src/removeencryption.ui \ src/recurringmultiple.ui \ src/chatbubbleme.ui \ + src/deposithush.ui \ src/chatbubblepartner.ui diff --git a/src/deposithush.ui b/src/deposithush.ui index fb923db..6ac7e71 100644 --- a/src/deposithush.ui +++ b/src/deposithush.ui @@ -1,51 +1,112 @@ - - - - - Dialog - - + + + deposithush + + 0 0 - 400 - 300 + 792 + 650 - - Dialog + + Deposit Hush - - - - 30 - 240 - 341 - 32 - - - - Qt::Horizontal - - - QDialogButtonBox::Cancel|QDialogButtonBox::Ok - - + + + + + + 16777215 + 71 + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Ubuntu'; font-size:16pt;">Please use the following hush address to transfer funds to SilentDragonLite. You can either copy the address or use the QR Code. </span></p></body></html> + + + + + + + <html><head/><body><p align="center">QR Code of your Hush Address</p></body></html> + + + + + + + <html><head/><body><p align="center"><span style=" text-decoration: underline;">Your Hush Address </span></p></body></html> + + + + + + + Hush zaddr + + + + + + + Copy Address + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + + 0 + 0 + + + + background-color: #fff + + + + + + + - + + + QRCodeLabel + QLabel +
qrcodelabel.h
+
+
buttonBox accepted() - Dialog + deposithush accept() - + 248 254 - + 157 274 @@ -54,14 +115,14 @@ buttonBox rejected() - Dialog + deposithush reject() - + 316 260 - + 286 274 @@ -69,4 +130,3 @@
- diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 441126e..4f278e7 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -18,6 +18,7 @@ #include "version.h" #include "connection.h" #include "ui_contactrequest.h" +#include "ui_deposithush.h" #include "ui_requestContactDialog.h" #include "chatmodel.h" #include "requestdialog.h" @@ -1158,6 +1159,36 @@ void MainWindow::setupBalancesTab() { ui->unconfirmedWarning->setVisible(false); ui->lblSyncWarning->setVisible(false); ui->lblSyncWarningReceive->setVisible(false); + QObject::connect(ui->depositHushButton, &QPushButton::clicked, [=](){ + + Ui_deposithush deposithush; + QDialog dialog(this); + deposithush.setupUi(&dialog); + Settings::saveRestore(&dialog); + + QList allAddresses; + + allAddresses = getRPC()->getModel()->getAllZAddresses(); + QString depositzaddr = allAddresses[1]; + deposithush.qrcodeDisplayDeposit->setQrcodeString(depositzaddr); + deposithush.zaddr->setText(depositzaddr); + + QObject::connect(deposithush.CopyAddress, &QPushButton::clicked, [=](){ + + QGuiApplication::clipboard()->setText(depositzaddr); + ui->statusBar->showMessage(tr("Copied to clipboard"), 3 * 1000); + + }); + + + + dialog.exec(); + + + + + }); + // Setup context menu on balances tab ui->balancesTable->setContextMenuPolicy(Qt::CustomContextMenu); diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 2fa544c..8471227 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -59,7 +59,7 @@ - 5 + 2 @@ -84,181 +84,184 @@
- + - - - - - - 0 - 0 - - - - Shielded - - - - - - - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - + + + + 0 + 0 + + + + Shielded + + - - - - - - 0 - 0 - - - - Notarized - - - - - - - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - + + + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + - - - - - - 0 - 0 - - - - Transparent - - - - - - - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - + + + + 0 + 0 + + + + Notarized + + - - - Qt::Horizontal + + + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + - - - - - - 0 - 0 - - - - - 75 - true - - - - Total - - - - - - - - 75 - true - - - - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - + + + + 0 + 0 + + + + Transparent + + - - - color:red; - + - Your node is still syncing, balances may not be updated. + - - true + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + Qt::Horizontal + + + + + - + 0 0 - - color: red; + + + 75 + true + - Some transactions are not yet confirmed. Balances may change. - - - true + Total - - - Qt::Vertical + + + + 75 + true + - - - 20 - 40 - + + - + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + +
+ + + + color:red; + + + Your node is still syncing, balances may not be updated. + + + true + + + + + + + + 0 + 0 + + + + color: red; + + + Some transactions are not yet confirmed. Balances may change. + + + true + + + + + + + Deposit Hush + + + + + + + Qt::Vertical + + + + 20 + 383 + + + +
@@ -1627,7 +1630,7 @@ false - QAbstractItemView::NoDragDrop + QAbstractItemView::DragOnly Qt::IgnoreAction From 8dba87d5b080034d746be3dd190442ab16e7e51d Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 10 Jun 2020 22:04:58 +0200 Subject: [PATCH 251/256] try catch hm --- src/controller.cpp | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/controller.cpp b/src/controller.cpp index b727e2c..7ce4c2d 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -965,7 +965,8 @@ void Controller::refreshTransactions() { memo = QString::fromStdString(o["memo"].get()); if (memo.startsWith("{")) { - + try + { QJsonDocument headermemo = QJsonDocument::fromJson(memo.toUtf8()); cid = headermemo["cid"].toString(); @@ -974,7 +975,12 @@ void Controller::refreshTransactions() { chatModel->addCid(txid, cid); chatModel->addHeader(txid, headerbytes); - } + } catch(...) + + { + + } + } bool isNotarized; @@ -1191,7 +1197,8 @@ void Controller::refreshTransactions() { if (!it["memo"].is_null()) { if (memo.startsWith("{")) { - + try + { QJsonDocument headermemo = QJsonDocument::fromJson(memo.toUtf8()); cid = headermemo["cid"].toString(); @@ -1208,6 +1215,10 @@ void Controller::refreshTransactions() { main->addPubkey(requestZaddr, publickey); } + } catch(...) + { + + } } if (chatModel->getCidByTx(txid) != QString("0xdeadbeef")){ From c6f170a97d34a2e87b79975f64b1d336a92a06b8 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 11 Jun 2020 10:22:18 +0200 Subject: [PATCH 252/256] change version, disable request Hush --- src/mainwindow.cpp | 4 ++-- src/version.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 4f278e7..338c8b2 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1531,7 +1531,7 @@ void MainWindow::setupchatTab() { ui->listContactWidget->addAction(requestHushAction); ui->listContactWidget->addAction(subatomicAction); - QObject::connect(requestHushAction, &QAction::triggered, [=]() { + /*QObject::connect(requestHushAction, &QAction::triggered, [=]() { QModelIndex index = ui->listContactWidget->currentIndex(); QString label_contact = index.data(Qt::DisplayRole).toString(); @@ -1543,7 +1543,7 @@ void MainWindow::setupchatTab() { } MainWindow::showRequesthush(); - }); + }); */ QObject::connect(editAction, &QAction::triggered, [=]() { QModelIndex index = ui->listContactWidget->currentIndex(); diff --git a/src/version.h b/src/version.h index 875d8ab..0b92eaa 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.3-Chat-Alpha" +#define APP_VERSION "1.3.2-Chat-Beta" From cf5f71b67bc6d5d3132f784a9aa28111fe7fb3c8 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 11 Jun 2020 10:38:21 +0200 Subject: [PATCH 253/256] delete double ui --- silentdragon-lite.pro | 1 - 1 file changed, 1 deletion(-) diff --git a/silentdragon-lite.pro b/silentdragon-lite.pro index 57144f4..428efdc 100644 --- a/silentdragon-lite.pro +++ b/silentdragon-lite.pro @@ -148,7 +148,6 @@ FORMS += \ src/removeencryption.ui \ src/recurringmultiple.ui \ src/chatbubbleme.ui \ - src/deposithush.ui \ src/chatbubblepartner.ui From 971dd9ee60d7fe1285460ed476cdd29ce6078c28 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 11 Jun 2020 16:39:19 +0200 Subject: [PATCH 254/256] switch to MyHush repo for sdl lib --- lib/Cargo.lock | 6 +++--- lib/Cargo.toml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/Cargo.lock b/lib/Cargo.lock index d1c7722..3c5dbf4 100644 --- a/lib/Cargo.lock +++ b/lib/Cargo.lock @@ -1177,7 +1177,7 @@ version = "0.1.0" dependencies = [ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", - "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=d2887d07879a93bdd9b2c8bd12504bb977e82fe0)", + "silentdragonlitelib 0.1.0 (git+https://github.com/MyHush/silentdragonlite-cli?rev=d2887d07879a93bdd9b2c8bd12504bb977e82fe0)", ] [[package]] @@ -1640,7 +1640,7 @@ dependencies = [ [[package]] name = "silentdragonlitelib" version = "0.1.0" -source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=d2887d07879a93bdd9b2c8bd12504bb977e82fe0#d2887d07879a93bdd9b2c8bd12504bb977e82fe0" +source = "git+https://github.com/MyHush/silentdragonlite-cli?rev=d2887d07879a93bdd9b2c8bd12504bb977e82fe0#d2887d07879a93bdd9b2c8bd12504bb977e82fe0" dependencies = [ "base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "bellman 0.1.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", @@ -2631,7 +2631,7 @@ dependencies = [ "checksum serde_yaml 0.8.11 (registry+https://github.com/rust-lang/crates.io-index)" = "691b17f19fc1ec9d94ec0b5864859290dff279dbd7b03f017afda54eb36c3c35" "checksum sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "27044adfd2e1f077f649f59deb9490d3941d674002f7d062870a60ebe9bd47a0" "checksum signal-hook-registry 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94f478ede9f64724c5d173d7bb56099ec3e2d9fc2774aac65d34b8b890405f41" -"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=d2887d07879a93bdd9b2c8bd12504bb977e82fe0)" = "" +"checksum silentdragonlitelib 0.1.0 (git+https://github.com/MyHush/silentdragonlite-cli?rev=d2887d07879a93bdd9b2c8bd12504bb977e82fe0)" = "" "checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" "checksum smallvec 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "f7b0758c52e15a8b5e3691eae6cc559f08eee9406e548a4477ba4e67770a82b6" "checksum socket2 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "e8b74de517221a2cb01a53349cf54182acdc31a074727d3079068448c0676d85" diff --git a/lib/Cargo.toml b/lib/Cargo.toml index d46b55f..39a70e9 100644 --- a/lib/Cargo.toml +++ b/lib/Cargo.toml @@ -11,4 +11,4 @@ crate-type = ["staticlib"] [dependencies] libc = "0.2.58" lazy_static = "1.4.0" -silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "d2887d07879a93bdd9b2c8bd12504bb977e82fe0" } +silentdragonlitelib = { git = "https://github.com/MyHush/silentdragonlite-cli", rev = "d2887d07879a93bdd9b2c8bd12504bb977e82fe0" } From bd0c5f4bfeb466daca17c9878b1d5eaec899710d Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 11 Jun 2020 16:48:10 +0200 Subject: [PATCH 255/256] add arabic, update ts files with new hushchat translations --- application.qrc | 1 + res/silentdragonlite_ar.qm | Bin 0 -> 23614 bytes res/silentdragonlite_ar.ts | 2651 ++++++++++++++++++++++++++++++++++++ res/silentdragonlite_de.qm | Bin 43364 -> 43459 bytes res/silentdragonlite_de.ts | 1494 +++++++++++++++----- res/silentdragonlite_es.ts | 1507 +++++++++++++++----- res/silentdragonlite_fa.ts | 1499 +++++++++++++++----- res/silentdragonlite_fr.ts | 1500 +++++++++++++++----- res/silentdragonlite_hr.ts | 1498 +++++++++++++++----- res/silentdragonlite_it.ts | 1488 ++++++++++++++------ res/silentdragonlite_pt.ts | 1515 ++++++++++++++++----- res/silentdragonlite_sr.ts | 1500 +++++++++++++++----- res/silentdragonlite_tr.ts | 1482 ++++++++++++++------ res/silentdragonlite_zh.ts | 1484 ++++++++++++++------ 14 files changed, 14055 insertions(+), 3564 deletions(-) create mode 100644 res/silentdragonlite_ar.qm create mode 100644 res/silentdragonlite_ar.ts diff --git a/application.qrc b/application.qrc index e6c1b2d..4c5ae9c 100644 --- a/application.qrc +++ b/application.qrc @@ -66,6 +66,7 @@ res/silentdragonlite_hr.qm res/silentdragonlite_fa.qm res/silentdragonlite_id.qm + res/silentdragonlite_ar.qm
res/css/Blue.css diff --git a/res/silentdragonlite_ar.qm b/res/silentdragonlite_ar.qm new file mode 100644 index 0000000000000000000000000000000000000000..cc809ec63da02bc769858fca540d2bd75169c42b GIT binary patch literal 23614 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 literal 0 HcmV?d00001 diff --git a/res/silentdragonlite_ar.ts b/res/silentdragonlite_ar.ts new file mode 100644 index 0000000..1590186 --- /dev/null +++ b/res/silentdragonlite_ar.ts @@ -0,0 +1,2651 @@ + + + + + AddressBookModel + + + Label + + + + + Address + + + + + Avatar + + + + + HushChatAddress + + + + + CID + + + + + BalancesTableModel + + + Address + + + + + Amount + + + + + ChatBubbleMe + + + Form + + + + + Lorem ipsum dolor sit amet + + + + + 12/03/2020 12:34 + + + + + ChatBubblePartner + + + Form + + + + + Lorem ipsum dolor sit amet + + + + + 12/03/2020 12:34 + + + + + ConnectionDialog + + + SilentDragonLite + + + + + The Dragon Awakens... + + + + + Controller + + + Wallet Password + + + + + Your wallet is encrypted. +Please enter your wallet password + + + + + + Wallet Decryption Failed + + + + + Please enter a valid password + + + + + Failed to unlock wallet + + + + + CreateWalletForm + + + Create New SDL Wallet + + + + + Confirm Passphrase: + + + + + Restore wallet from seed + + + + + Restore an existing wallet, using the 24-word seed. + + + + + Create a new wallet + + + + + Encryption Passphrase: + + + + + <html><head/><body><p><span style=" font-style:italic;">Passphrase don't match</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-style:italic;">16 letters minimum</span></p></body></html> + + + + + Create a new wallet with a randomly generated seed. + + + + + Dialog + + + Send Contact Request + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert a nickname for your contact:</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Choose an avatar for your contact:</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert a memo for your request:</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Your HushChat Address:</span></p></body></html> + + + + + Create New Address + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert the address of your contact:</span></p></body></html> + + + + + <html><head/><body><p><span style=" color:#d3d7cf;">Generate your HushChat Address - please wait a second - </span></p></body></html> + + + + + SDLogo + + + + + Duke + + + + + Denio + + + + + Berg + + + + + Stag + + + + + Sharpee + + + + + Elsa + + + + + Yoda + + + + + Garfield + + + + + Snoopy + + + + + Popey + + + + + Pinguin + + + + + Mickey + + + + + 0/512 + + + + + Add a memo to your request + + + + + Cancel + + + + + Add Contact and Send Request + + + + + MainWindow + + + SilentDragonLite + + + + + Balance + + + + + Summary + + + + + Shielded + + + + + Notarized + + + + + Transparent + + + + + Total + + + + + Your node is still syncing, balances may not be updated. + + + + + Some transactions are not yet confirmed. Balances may change. + + + + + Address Balances + + + + + + Send + + + + + Total notarized funds available: + + + + + Send To + + + + + Recipient + + + + + + + + + Address + + + + + + Address Book + + + + + + + + Amount + + + + + Max Available + + + + + + + + Memo + + + + + Add Recipient + + + + + + Miner Fee + + + + + 0 + + + + + Cancel + + + + + Receive + + + + + Address Type + + + + + z-Addr + + + + + t-Addr + + + + + Next Address + + + + + Information about Hush + + + + + <html><head/><body><p align="center"><span style=" font-weight:600;">Hush Blockchain Information</span></p></body></html> + + + + + + + + + + + + + + + + <html><head/><body><p align="center">|</p></body></html> + + + + + Next Halving + + + + + Difficulty + + + + + Last Notarized Block + + + + + Total Supply + + + + + Longestchain + + + + + BlockHeight + + + + + Supply zAddr + + + + + Supply tAddr + + + + + <html><head/><body><p align="center"><span style=" font-weight:600;">Hush Market Information</span></p></body></html> + + + + + Market Cap + + + + + Volume on Exchanges + + + + + <html><head/><body><p align="center">This is a Lightwallet, you cant mine with it!</p></body></html> + + + + + View All Addresses + + + + + Label + + + + + Update Label + + + + + Address balance + + + + + Optional + + + + + + Export Private Key + + + + + Your node is still syncing, balances may not be updated + + + + + Transactions + + + + + + + + + + + + + + + + Loading... + + + + + Version hushlightd + + + + + Vendor + + + + + Deposit Hush + + + + + HushChat + + + + + Incoming contact request + + + + + Add a new contact + + + + + Get a new Address + + + + + <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Contactlist</span></p></body></html> + + + + + <html><head/><body><p align="center"><span style=" font-weight:600;">Contact Name :</span></p></body></html> + + + + + <html><head/><body><p align="center"><br/></p></body></html> + + + + + The locks shows you the status of the message. Red lock = unconfirmed, green lock = min. 1 confirmations, orange lock = message is notarized + + + + + &File + + + + + &Help + + + + + &Apps + + + + + &Edit + + + + + E&xit + + + + + &About + + + + + &Settings + + + + + Ctrl+P + + + + + &Send DenioD Feedback + + + + + &Hush Discord + + + + + &Hush Website + + + + + Check github.com for &updates + + + + + &Export all private keys + + + + + Address &book + + + + + Ctrl+B + + + + + &Export seed phrase + + + + + + Export transactions + + + + + Pay hush &URI... + + + + + Connect mobile &app + + + + + Ctrl+M + + + + + &Recurring Payments + + + + + Request hush... + + + + + File a bug... + + + + + Encrypt Wallet + + + + + Remove Wallet Encryption + + + + + Rescan + + + + + Passwords don't match + + + + + + Wallet Encryption Failed + + + + + Wallet is not encrypted + + + + + + Copy txid + + + + + + Copy block explorer link + + + + + View tx on block explorer + + + + + Refresh + + + + + Restart + + + + + Please restart Silentdragonlite to have the theme apply + + + + + Currency Change + + + + + Some feedback about SilentDragonlite or Hush... + + + + + This change can take a few seconds. + + + + + + Wallet Encryption Success + + + + + Your wallet is not encrypted with a passphrase. + + + + + Wallet decryption Success + + + + + You still have plaintext data on your disk! + + + + + or SilentDragonLite + + + + + Send DenioD some private and shielded feedback about + + + + + Paste HUSH URI + + + + + Error paying HUSH URI + + + + + URI should be of the form 'hush:<addr>?amt=x&memo=y + + + + + Error + + + + + Error exporting transactions, file was not saved + + + + + This is your wallet seed. Please back it up carefully and safely. + + + + + + Save File + + + + + + Unable to open file + + + + + Error getting private keys + + + + + Error loading private keys: + + + + + These are all the private keys for all the addresses in your wallet + + + + + Private key for + + + + + + Copy address + + + + + + + + Copied to clipboard + + + + + Get private key + + + + + + View on block explorer + + + + + View Payment Request + + + + + View Memo + + + + + Reply to + + + + + Copied message to clipboard + + + + + Copied Txid to clipboard + + + + + Created new t-Addr + + + + + Copy Address + + + + + Address has been previously used + + + + + Address is unused + + + + + Cannot support multiple addresses + + + + + Recurring payments doesn't currently support multiple addresses + + + + + Recipient + + + + + Only z-addresses can have memos + + + + + Transaction Error + + + + + + Please wait... + + + + + Computing your transaction + + + + + + Done! + + + + + + + Recipient Address + + + + + + You have to select a contact and insert a Memo + + + + + + You have selected no Contact from Contactlist, + + + + + + + +or your Memo is empty + + + + + + Your Message is too long + + + + + + You can only write messages with 235 character maximum + + + + + + + + Please reduce your message to 235 character. + + + + + + Message Error + + + + + + + is Invalid + + + + + + + Amount for address '%1' is invalid! + + + + + + + Not enough available funds to send this transaction + +Have: %1 +Need: %2 + +Note: Funds need 1 confirmations before they can be spent + + + + + Missing HushChat Address + + + + + You have to create your HushChat address to send a contact request, + + + + + + Your contact request will be sent + + + + + MemoDialog + + + + Memo + + + + + Include Reply Address + + + + + MemoEdit + + + Reply to + + + + + MigrationDialog + + + Migration Turnstile + + + + + Migration History + + + + + Migrated Amount + + + + + Unmigrated Amount + + + + + Sprout -> Sapling migration enabled + + + + + If enabled, hushd will slowly migrate your Sprout shielded funds to your Sapling address. + + + + + MobileAppConnector + + + Mobile Connector App + + + + + Scan this QRCode from your silentdragon companion app to connect your phone + + + + + QR Code + + + + + Connection String + + + + + Allow connections over the internet via silentdragon wormhole + + + + + silentdragon Companion App + + + + + Disconnect + + + + + + TextLabel + + + + + Last seen: + + + + + Connection type: + + + + + NewOrRestorePage + + + Passphrase don't match or You have entered too few letters (16 minimum) + + + + + NewSeedForm + + + Form + + + + + This is your new wallet's seed phrase. PLEASE BACK IT UP SECURELY. + + + + + The seed phrase is the only way to restore the wallet. If you forget the seed phrase, THERE IS NO WAY TO RESTORE YOUR WALLET AND THE FUNDS in it + + + + + NewSeedPage + + + Error creating a wallet + + + + + Failed to save wallet + + + + + Couldn't save the wallet + + + + + PrivKey + + + Private Keys + + + + + QObject + + + Pick + + + + + + + Address or Label Error + + + + + + + Address or Label cannot be empty + + + + + + + Address Format Error + + + + + + + %1 doesn't seem to be a valid hush address. + + + + + Label Error + + + + + The label '%1' already exists. Please remove the existing label. + + + + + + Added Contact + + + + + + successfully added your new contact + + + + + Import Address Book + + + + + Unable to open file + + + + + Address Book Import Done + + + + + Imported %1 new Address book entries + + + + + Copy address + + + + + Copied to clipboard + + + + + Delete label + + + + + Attempting to initialize library with + + + + + Using existing wallet. + + + + + Create/restore wallet. + + + + + + Connection Error + + + + + + + + + Transaction Error + + + + + There was an error sending the transaction. The error was: + + + + + + No Connection + + + + + + + + + Tx + + + + + + + + + failed + + + + + + + + The transaction with id + + + + + + + + failed. The error was + + + + + There was an error connecting to the server. Please check your internet connection. The error was + + + + + Update Available + + + + + A new release v%1 is available! You have v%2. + +Would you like to visit the releases page? + + + + + No updates available + + + + + You already have the latest release v%1 + + + + + + Please wait for SilentDragonLite to exit + + + + + + Waiting for hushd to exit + + + + + No hush price was available to convert from USD + + + + + View on block explorer + + + + + View Error + + + + + Reported Error + + + + + + Are you sure you want to delete the recurring payment? + + + + + All future payments will be cancelled. + + + + + Tx submitted (right click to copy) txid: + + + + + Type + + + + + Address + + + + + Date/Time + + + + + Confirmations + + + + + Amount + + + + + Connected directly + + + + + Connected over the internet via silentdragon wormhole service + + + + + + Node is still syncing. + + + + + + No sapling or transparent addresses with enough balance to spend. + + + + + RecurringDialog + + + Reccuring Dialog + + + + + View + + + + + Delete + + + + + RecurringListViewModel + + + Amount + + + + + Schedule + + + + + Payments Left + + + + + Next Payment + + + + + To + + + + + Every + + + + + None + + + + + RecurringPayments + + + Reocurring Payments + + + + + RecurringPaymentsListViewModel + + + Date + + + + + Status + + + + + Txid + + + + + Not due yet + + + + + Pending + + + + + Skipped + + + + + Paid + + + + + Error + + + + + + Unknown + + + + + RecurringPending + + + Recurring Multiple Payments + + + + + No payments will be processed. You can manually pay them from the Recurring Payments Dialog box + + + + + Schedule + + + + + How should silentdragon proceed? + + + + + Pay All in 1 Tx + + + + + Only the latest pending payment will be processed. All previous pending payments will be skipped + + + + + Pay Latest Only + + + + + Pay None + + + + + All pending payments collected, added up and paid in a single transaction + + + + + Description + + + + + To + + + + + The following recurring payment has multiple payments pending + + + + + RequestDialog + + + Payment Request + + + + + AddressBook + + + + + Request From + + + + + My Address + + + + + Amount in + + + + + z address + + + + + Amount + + + + + The recipient will see this address in the "to" field when they pay your request. + + + + + Amount USD + + + + + Memo + + + + + TextLabel + + + + + Request payment from a Sapling address. You'll send a hush 0.0001 transaction to the address with a hush payment URI. The memo will be included in the transaction when the address pays you. + + + + + Error paying hush URI + + + + + URI should be of the form 'hush:<addr>?amt=x&memo=y + + + + + Pay To + + + + + Pay + + + + + You are paying a payment request. Your address will not be visible to the person requesting this payment. + + + + + Can only request from Sapling addresses + + + + + RestoreSeedForm + + + Restore Wallet Seed + + + + + Please enter your 24-word seed below + + + + + Wallet Seed + + + + + Wallet Birthday + + + + + 0 + + + + + Wallet birthday is the block height at which the wallet had the first transaction. If you don't know this, you can leave it as "0" (It'll take longer to rescan) + + + + + RestoreSeedPage + + + + Failed to restore wallet + + + + + SilentDragonLite needs 24 words to restore wallet + + + + + Failed to parse wallet birthday + + + + + Couldn't understand wallet birthday. This should be a block height from where to rescan the wallet. You can leave it as '0' if you don't know what it should be. + + + + + Couldn't restore the wallet + + + + + Failed to save wallet + + + + + Couldn't save the wallet + + + + + Settings + + + Settings + + + + + Connection + + + + + Lightwallet Server + + + + + Options + + + + + Dark + + + + + Midnight + + + + + Light + + + + + Blue + + + + + Default + + + + + Fetch hush prices + + + + + Check github for updates at startup + + + + + Connect to github on startup to check for updates + + + + + Theme + + + + + Connect to the internet to fetch hush prices + + + + + Currency + + + + + AUD + + + + + BTC + + + + + CAD + + + + + CHF + + + + + CNY + + + + + EUR + + + + + GBP + + + + + INR + + + + + RUB + + + + + USD + + + + + ViewAddressesDialog + + + All Addresses + + + + + Export All Keys + + + + + ViewAllAddressesModel + + + Address + + + + + Balance (%1) + + + + + about + + + About + + + + + addressBook + + + Address Book + + + + + Add New Address + + + + + Address (z-Addr or t-Addr) + + + + + <html><head/><body><p>Nickname :</p></body></html> + + + + + HushChat Address - give this Address only to your contact + + + + + <html><head/><body><p>Conversation ID:</p></body></html> + + + + + SDLogo + + + + + Duke + + + + + Denio + + + + + Berg + + + + + Sharpee + + + + + Elsa + + + + + Yoda + + + + + Garflied + + + + + Snoopy + + + + + Popey + + + + + Pinguin + + + + + Mickey + + + + + Stag + + + + + <html><head/><body><p>Avatar :</p></body></html> + + + + + Create a new HushChat zaddr + + + + + Add to Address Book + + + + + Import Address Book + + + + + confirm + + + Confirm Transaction + + + + + To + + + + + Recurring Payment + + + + + TextLabel + + + + + You are sending a transaction while your node is still syncing. This may not work. + + + + + createhushConf + + + Configure hush.conf + + + + + Your hush node will be configured for you automatically + + + + + Show Advanced Configuration + + + + + Allow connections to the internet to check for updates, get hush prices etc... + + + + + Use custom datadir + + + + + Choose directory + + + + + Please note that you'll need to already have a Tor service configured on port 9050 + + + + + Connect to the internet for updates and price feeds + + + + + Please choose a directory to store your wallet.dat and blockchain + + + + + Connect over Tor + + + + + deposithush + + + Deposit Hush + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Ubuntu'; font-size:16pt;">Please use the following hush address to transfer funds to SilentDragonLite. You can either copy the address or use the QR Code. </span></p></body></html> + + + + + <html><head/><body><p align="center">QR Code of your Hush Address</p></body></html> + + + + + <html><head/><body><p align="center"><span style=" text-decoration: underline;">Your Hush Address </span></p></body></html> + + + + + Hush zaddr + + + + + Copy Address + + + + + encryptionDialog + + + Encrypt Your Wallet + + + + + Encryption Passphrase: + + + + + <html><head/><body><p><span style=" font-size:14pt; color:#ef2929;">WARNING:</span> If you forget your passphrase, the only way to recover the wallet is from the seed phrase. If you don't have a backup of your seed phrase, please do it now!</p></body></html> + + + + + Confirm Passphrase: + + + + + <html><head/><body><p><span style=" font-style:italic;">Passphrase don't match</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-style:italic;">16 letters minimum</span></p></body></html> + + + + + hushrequest + + + Request Payment + + + + + TextLabel + + + + + Request payment from a Sapling address. You'll send a hush 0.0001 transaction to the address with a hush payment URI. The memo will be included in the transaction when the address pays you. + + + + + Request From + + + + + zaddr + + + + + Amount in + + + + + Amount + + + + + Amount USD + + + + + Memo + + + + + My Address + + + + + The recipient will see this address in the "to" field when they pay your request. + + + + + newRecurringDialog + + + Edit Schedule + + + + + Payment Description + + + + + Schedule + + + + + Next Payment + + + + + Amount + + + + + Memo + + + + + To + + + + + From + + + + + Number of payments + + + + + removeencryption + + + Decrypt Your Wallet + + + + + <html><head/><body><p><span style=" font-size:14pt; color:#ef2929;">WARNING:</span> If you remove your wallet.dat encryption, all your transactions and contacts are plaintext on disk!<br/><br/>Messages sent and received are always encrypted.</p></body></html> + + + + + <html><head/><body><p><span style=" font-style:italic;">16 letters minimum</span></p></body></html> + + + + + Encryption Passphrase: + + + + + Confirm Passphrase: + + + + + <html><head/><body><p><span style=" font-style:italic;">Passphrase don't match</span></p></body></html> + + + + + requestDialog + + + Incoming Contact Request + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Memo of the request</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Open requests</span></p></body></html> + + + + + Request from: + + + + + Add New Contact + + + + + <html><head/><body><p>Choose an avatar for your contact:</p></body></html> + + + + + My Zaddr: + + + + + Cancel + + + + + SDLogo + + + + + Duke + + + + + Denio + + + + + Berg + + + + + Sharpee + + + + + Elsa + + + + + Yoda + + + + + Garfield + + + + + Snoopy + + + + + Popey + + + + + Pinguin + + + + + Mickey + + + + + Stag + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Recently closed requests</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Details of the request</span></p></body></html> + + + + + Give a Nickname: + + + + + startup + + + SDL Startup Decryption + + + + + <html><head/><body><p>If you have forgotten your passphrase, restore your wallet with your seed!</p></body></html> + + + + + Encryption Passphrase: + + + + diff --git a/res/silentdragonlite_de.qm b/res/silentdragonlite_de.qm index 1c109628b9f49f9920737f9ce18a3e80c1c15029..3fbb62f016ac59f4c6f031d29971bbce09d46264 100644 GIT binary patch delta 2949 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 AddressBookModel - + Label Adressbuch - + Address Adresse + + + Avatar + + + + + HushChatAddress + + + + + CID + + BalancesTableModel @@ -27,6 +42,42 @@ Betrag + + ChatBubbleMe + + + Form + + + + + Lorem ipsum dolor sit amet + + + + + 12/03/2020 12:34 + + + + + ChatBubblePartner + + + Form + + + + + Lorem ipsum dolor sit amet + + + + + 12/03/2020 12:34 + + + ConnectionDialog @@ -34,42 +85,46 @@ SilentDragonLite - + SilentDragonLite SilentDragonLite - + + The Dragon Awakens... + + + Starting Up - Starte + Starte Controller - + Wallet Password Wallet Passwort - + Your wallet is encrypted. Please enter your wallet password Ihr Wallet ist verschlüsselt. Bitte geben Sie das Passwort ein - - + + Wallet Decryption Failed Entschlüsslung gescheitert - + Please enter a valid password Bitte geben Sie ein gültiges Passwort ein - + Failed to unlock wallet Konnte das Wallet nicht entsperren @@ -77,31 +132,187 @@ Please enter your wallet password CreateWalletForm - Form - Neues Wallet erstellen + Neues Wallet erstellen + + + + Create New SDL Wallet + + + + + Confirm Passphrase: + - + Restore wallet from seed Wallet mit dem Seed wiederherstellen - + Restore an existing wallet, using the 24-word seed. Der Seed benötigt 24 Wörter um das Wallet mit dem Seed wiederherzustellen. - + + Create a new wallet + + + + + Encryption Passphrase: + + + + + <html><head/><body><p><span style=" font-style:italic;">Passphrase don't match</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-style:italic;">16 letters minimum</span></p></body></html> + + + Create a new Wallet - Wallet neu erstellen + Wallet neu erstellen - + Create a new wallet with a randomly generated seed. Neues Wallet mit einem zufälligen Seed erstellen. + + Dialog + + + Send Contact Request + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert a nickname for your contact:</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Choose an avatar for your contact:</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert a memo for your request:</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Your HushChat Address:</span></p></body></html> + + + + + Create New Address + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert the address of your contact:</span></p></body></html> + + + + + <html><head/><body><p><span style=" color:#d3d7cf;">Generate your HushChat Address - please wait a second - </span></p></body></html> + + + + + SDLogo + + + + + Duke + + + + + Denio + + + + + Berg + + + + + Stag + + + + + Sharpee + + + + + Elsa + + + + + Yoda + + + + + Garfield + + + + + Snoopy + + + + + Popey + + + + + Pinguin + + + + + Mickey + + + + + 0/512 + + + + + Add a memo to your request + + + + + Cancel + Abbrechen + + + + Add Contact and Send Request + + + MainWindow @@ -109,52 +320,52 @@ Please enter your wallet password SilentDragonLite - + Balance Guthaben - + Summary Zusammenfassung - + Shielded Verborgen - + Notarized Notarisiert - + Transparent Sichtbar - + Total Gesamt - + Your node is still syncing, balances may not be updated. Synchronisierung noch nicht abgeschlossen. Beträge sind noch nicht aktuell. - + Some transactions are not yet confirmed. Balances may change. Einige Transaktionen sind noch nicht bestätigt. - + Total notarized funds available: Insgesammter notarisierter Betrag: - + Your node is still syncing, balances may not be updated Synchronisierung noch nicht abgeschlossen. Beträge sind noch nicht aktuell @@ -163,13 +374,13 @@ Please enter your wallet password Einige Transaktionen sind noch nicht bestätigt - + Address Balances Guthaben der Adresse - - + + Send Senden @@ -178,104 +389,101 @@ Please enter your wallet password Guthaben der Adresse - + Send To Sende an - + Recipient Empfänger - - - + + + Address Adresse - + Address Book Adressbuch - - + + Amount Betrag - + Max Available Maximal verfügbare Summe - - - + + + Memo Nachricht - + Add Recipient Weiteren Empfänger hinzufügen - Recurring payment - Wiederkehrende Zahlung + Wiederkehrende Zahlung - Every month, starting 12-May-2012, for 6 payments - Jeden Monat, startet am 12. Mai 2019, für 6 Monate + Jeden Monat, startet am 12. Mai 2019, für 6 Monate - Edit Schedule - Zeitplan bearbeiten + Zeitplan bearbeiten - + Miner Fee Gebühr - + 0 - + Cancel Abbrechen - + Receive Empfangen - + Address Type Adressen Format - + z-Addr Verborgene Adresse - + t-Addr Sichtbare Adresse @@ -284,38 +492,38 @@ Please enter your wallet password Neue Adresse - + View All Addresses Alle Adressen ansehen - + Label Bezeichnung - + Update Label Bezeichnung ändern - + Address balance Guthaben der Adresse - + Optional Optional - - + + Export Private Key Private Key exportieren - + Transactions Transaktionen @@ -328,32 +536,32 @@ Please enter your wallet password Blockhöhe - + Version hushlightd Hushdlight Version - + &Send DenioD Feedback Sende DenioD Feedback - + &Export seed phrase Seed exportieren - + Encrypt Wallet Wallet verschlüsseln - + Remove Wallet Encryption Verschlüsslung entfernen - + Rescan Neu Scannen @@ -362,23 +570,23 @@ Please enter your wallet password Dies ist ein Lightwallet, sie können damit nicht Minen! - + SilentDragonLite SilentDragonLite - - - - - - - - - - - - + + + + + + + + + + + + Loading... Lade... @@ -391,230 +599,275 @@ Please enter your wallet password Version hushd light - + Vendor Vendor - + Next Address Nächste Adresse - + + Deposit Hush + + + + Information about Hush Informationen über Hush - + <html><head/><body><p align="center"><span style=" font-weight:600;">Hush Blockchain Information</span></p></body></html> <html><head/><body><p align="center"><span style=" font-weight:600;">Hush Blockchain Informationen</span></p></body></html> - - - - - - - - - - - - + + + + + + + + + + + + <html><head/><body><p align="center">|</p></body></html> - + Next Halving Nächstes Block Halving - + Difficulty Difficulty - + Last Notarized Block Letzter notarisierter Block - + Total Supply Gesamt Coins im Netzwerk - + Longestchain Längste Chain - + BlockHeight Blockhöhe - + Supply zAddr Verborgene Coins im Netzwerk - + Supply tAddr Transparente Coins im Netzwerk - + <html><head/><body><p align="center"><span style=" font-weight:600;">Hush Market Information</span></p></body></html> <html><head/><body><p align="center"><span style=" font-weight:600;">Hush Markt Informationen</span></p></body></html> - + Market Cap Marktkapitalisierung - + Volume on Exchanges Volumen auf allen Börsen - + <html><head/><body><p align="center">This is a Lightwallet, you cant mine with it!</p></body></html> <html><head/><body><p align="center">Dies ist ein Lightwallet. Sie können damit nicht Minen!!!</p></body></html> + HushChat + + + + + Incoming contact request + + + + + Add a new contact + + + + + Get a new Address + + + + + <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Contactlist</span></p></body></html> + + + + + <html><head/><body><p align="center"><span style=" font-weight:600;">Contact Name :</span></p></body></html> + + + + + <html><head/><body><p align="center"><br/></p></body></html> + + + + + The locks shows you the status of the message. Red lock = unconfirmed, green lock = min. 1 confirmations, orange lock = message is notarized + + + + &File Datei - + &Help Hilfe - + &Apps Smartphone - + &Edit Bearbeiten - + E&xit Beenden - + &About Über - + &Settings Einstellungen - + Ctrl+P Ctrl+P - + &Hush Discord &Hush Discord - + &Hush Website &Hush Website - + Check github.com for &updates Überprüfe Github für Updates - + &Export all private keys Alle private Keys exportieren - + Address &book Adressbuch - + Ctrl+B Ctrl+B - - + + Export transactions Transaktionen exportieren - + Pay hush &URI... Zahlungs Hush &URI... - + Connect mobile &app Smartphone verbinden - + Ctrl+M Ctrl+M - + &Recurring Payments Wiederkehrende Zahlung - + Request hush... Hush anfordern... - + File a bug... Fehler melden... - - + + Copy txid Transaktions ID kopieren - + View tx on block explorer Transaktions ID auf dem Blockexplorer anschauen - + Refresh Aktualisieren - + Restart Neustart - + Please restart Silentdragonlite to have the theme apply Bitte starten sie SilentDragonLite neu @@ -623,7 +876,7 @@ Please enter your wallet password Starte SilentDragonLite neu - + Some feedback about SilentDragonlite or Hush... Etwas Feedback über SilentDragonLite... @@ -632,160 +885,146 @@ Please enter your wallet password Sende DenioD anonym Feedback über - + or SilentDragonLite oder SilentDragonLite - + Send DenioD some private and shielded feedback about Sende DenioD anonym Feedback über - + Paste HUSH URI Hush URI einfügen - + Error paying HUSH URI Fehler bei HUSH URI - + URI should be of the form 'hush:<addr>?amt=x&memo=y Die URI sollte folgendemaßen aussehen 'hush:<addr>?amt=x&memo=y - + Error Fehler - + Error exporting transactions, file was not saved Fehler beim exportieren der Transaktionen. Die Datei wurde nicht gespeichert - + Error getting private keys Fehler beim empfangen der private Keys - + Error loading private keys: Fehler beim laden der private Keys: - + These are all the private keys for all the addresses in your wallet Dies sind alle private Keys für ihr Wallet - + Private key for Private Key für - - + + Save File Datei sichern - Wallet is already encrypted - SilentDragonLite ist bereits verschlüsselt + SilentDragonLite ist bereits verschlüsselt - Your wallet is already encrypted with a password. Please use 'Remove Wallet Encryption' if you want to remove the wallet encryption. - SilentDragonLite ist bereits mit einem Passwort verschlüsselt. Bitte benutzen Sie die Funktion 'Verschlüsselung entfernen'. + SilentDragonLite ist bereits mit einem Passwort verschlüsselt. Bitte benutzen Sie die Funktion 'Verschlüsselung entfernen'. - + Passwords don't match Passwort falsch - Error was: - Der Fehler war: + Der Fehler war: - Wallet Encrypted - SilentDragonLite verschlüsselt + SilentDragonLite verschlüsselt - Your wallet was successfully encrypted! The password will be needed to send funds or export private keys. - SilentDragonLite wurde erfolgreich verschlüsselt. Sie benötigen Ihr Passwort um Zahlungen zu senden oder Ihre private Keys zu exportieren. + SilentDragonLite wurde erfolgreich verschlüsselt. Sie benötigen Ihr Passwort um Zahlungen zu senden oder Ihre private Keys zu exportieren. - - + + Wallet Encryption Failed Verschlüsslung gescheitert - + Wallet is not encrypted SilentDragonLite ist nicht verschlüsselt - Your wallet is not encrypted with a password. - SilentDragonLite ist nicht mit einem Passwort verschlüsselt. + SilentDragonLite ist nicht mit einem Passwort verschlüsselt. - Wallet Password - SilentDragonLite Passwort + SilentDragonLite Passwort - Please enter your wallet password - Bitte geben sie Ihr Passwort ein + Bitte geben sie Ihr Passwort ein - - - Wallet Decryption Failed - SilentDragonLite konnte nicht entschlüsselt werden + SilentDragonLite konnte nicht entschlüsselt werden - Please enter a password to decrypt your wallet! - Bitte geben Sie das Passwort ein, um SilentDragonLite zu entschlüsseln! + Bitte geben Sie das Passwort ein, um SilentDragonLite zu entschlüsseln! - Wallet Encryption Removed - Verschlüsselung wurde entfernt + Verschlüsselung wurde entfernt - Your wallet was successfully decrypted! You will no longer need a password to send funds or export private keys. - SilentDragonLite wurde erfolgreich entschlüsselt. Sie benötigen Ihr Passwort nicht mehr. + SilentDragonLite wurde erfolgreich entschlüsselt. Sie benötigen Ihr Passwort nicht mehr. - - + + Copy block explorer link Blockexplorer Link kopieren - + Currency Change Währungszeichen wechseln - + This change can take a few seconds. Die übernahme der Änderung kann ein paar sekunden dauern. @@ -794,72 +1033,104 @@ Please use 'Remove Wallet Encryption' if you want to remove the wallet Bitte starten sie SilentDragonLite neu - + This is your wallet seed. Please back it up carefully and safely. Dies ist Ihr SilentDragonLite Seed. Bitte sichern Sie ihn sorgfältig. - - + + Unable to open file Konnte die Datei nicht öffnen - - + + Copy address Adresse kopieren - - - + + + + Copied to clipboard In die Zwischenablage kopiert - + + + Wallet Encryption Success + + + + + Your wallet is not encrypted with a passphrase. + + + + + Wallet decryption Success + + + + + You still have plaintext data on your disk! + + + + Get private key Private Key erhalten - - + + View on block explorer Auf dem Blockexplorer anschauen - + View Payment Request Zahlungsanforderung ansehen - + View Memo Nachricht ansehen - + Reply to Antworten an - + + Copied message to clipboard + + + + + Copied Txid to clipboard + + + + Created new t-Addr Neue sichtbare Adresse erstellen - + Copy Address Adresse kopieren - + Address has been previously used Diese Adresse wurde schon einmal benutzt - + Address is unused Adresse ist unbenutzt @@ -884,48 +1155,46 @@ Please use 'Remove Wallet Encryption' if you want to remove the wallet Nur verborgene Adressen können Nachrichten enthalten - Memos can only be used with z-addresses - Nur verborgene Adressen können Nachrichten enthalten + Nur verborgene Adressen können Nachrichten enthalten - The memo field can only be used with a z-address. - Nur verborgene Adressen können Nachrichten enthalten. + Nur verborgene Adressen können Nachrichten enthalten. - doesn't look like a z-address - + sieht nicht nach einer verborgenen Adresse aus (Zs...) - + + Please wait... Bitte warten... - + Computing your transaction Generiere Ihre Transaktion - + + Done! Fertig! - Not enough available funds to send this transaction Have: %1 Need: %2 Note: Funds need 5 confirmations before they can be spent - Nicht genügend Guthaben für die Transaktion verfügbar. + Nicht genügend Guthaben für die Transaktion verfügbar. Sie haben:%1 Sie benötigen:%2 @@ -938,20 +1207,107 @@ Anmerkung: Sie bnötigen 2 Bestätigungen Fehler bei der Transaktion - + + + You have to select a contact and insert a Memo + + + + + + You have selected no Contact from Contactlist, + + + + + + + +or your Memo is empty + + + + + + Your Message is too long + + + + + + You can only write messages with 235 character maximum + + + + + + + + Please reduce your message to 235 character. + + + + + + Message Error + + + + + + Recipient Address Adresse des Empfängers - + + + is Invalid ist ungültig - + + + Amount for address '%1' is invalid! Betrag für die Adresse '%1' ist nicht gültig! + + + + + Not enough available funds to send this transaction + +Have: %1 +Need: %2 + +Note: Funds need 1 confirmations before they can be spent + Nicht genügend Guthaben für die Transaktion verfügbar. + +Sie haben:%1 +Sie benötigen:%2 + +Anmerkung: Sie bnötigen 2 Bestätigungen {1 +?} {2 +?} {1 ?} + + + + Missing HushChat Address + + + + + You have to create your HushChat address to send a contact request, + + + + + + Your contact request will be sent + + MemoDialog @@ -1011,9 +1367,13 @@ Anmerkung: Sie bnötigen 2 Bestätigungen MobileAppConnector - Connect Mobile App - Smartphone verbinden + Smartphone verbinden + + + + Mobile Connector App + @@ -1062,6 +1422,14 @@ Anmerkung: Sie bnötigen 2 Bestätigungen Verbindungstyp: + + NewOrRestorePage + + + Passphrase don't match or You have entered too few letters (16 minimum) + + + NewSeedForm @@ -1075,7 +1443,7 @@ Anmerkung: Sie bnötigen 2 Bestätigungen Dies ist Ihr SilentDragonLite Seed. Bitte sichern Sie ihn sorgfältig. - + The seed phrase is the only way to restore the wallet. If you forget the seed phrase, THERE IS NO WAY TO RESTORE YOUR WALLET AND THE FUNDS in it Der Seed ist die einzige Möglichkeit ihr Guthaben wiederherzustellen. Ohne diesen Seed ist Ihr Guthaben für immer verloren @@ -1083,17 +1451,17 @@ Anmerkung: Sie bnötigen 2 Bestätigungen NewSeedPage - + Error creating a wallet Fehler beim erstellen des Wallets - + Failed to save wallet Konnte wallet.dat nicht speichern - + Couldn't save the wallet Konnte wallet.dat nicht speichern @@ -1109,152 +1477,186 @@ Anmerkung: Sie bnötigen 2 Bestätigungen QObject - + Pick Wählen - + + + Address or Label Error Die Adresse oder die Bezeichnung gab einen Fehler - + + + Address or Label cannot be empty Adresse oder Bezeichnung dürfen nicht leer sein - + + + Address Format Error Adressen Format war falsch - + + + %1 doesn't seem to be a valid hush address. %1 das scheint keine gültige Hush Adresse zu sein. - + Label Error Bezeichnungs Fehler - + The label '%1' already exists. Please remove the existing label. Die Bezeichnung ´'%1' existiert bereits. Bitte verwenden Sie eine andere Bezeichnung. - + + + Added Contact + + + + + + successfully added your new contact + + + + Import Address Book Importiere das Adressbuch - + Unable to open file Kann die Datei nicht öffnen - + Address Book Import Done Importieren des Adressbuchs beendet - + Imported %1 new Address book entries Habe %1 neue Adressen importiert - + Copy address Kopiere Adresse - + Copied to clipboard In die Zwischenablage kopiert - + Delete label Lösche Beschriftung - + Attempting to initialize library with Versuche die Bibliothek zu starten mit - + Using existing wallet. Benutze existierendes Wallet. - + Create/restore wallet. Wallet neu erstellen oder wiederherstellen. - - + + Connection Error Verbsindungsfehler - - - + + + + + Transaction Error Transaktionsfehler - + There was an error sending the transaction. The error was: Es gab einen Fehler beim senden der Transaktion: - - + + No Connection keine Verbindung - There was an error connecting to hushd. The error was - Es gab einen Fehler zum server zu verbinden + Es gab einen Fehler zum server zu verbinden - + + + - + Tx Transaktion - + + + - + failed gescheitert - - + + + + The transaction with id Die Transaktion mit der ID - - + + + + failed. The error was ist gescheitert - + + There was an error connecting to the server. Please check your internet connection. The error was + + + + Update Available Update verfügbar - + A new release v%1 is available! You have v%2. Would you like to visit the releases page? @@ -1263,22 +1665,24 @@ Would you like to visit the releases page? Möchten Sie die Release Seite besuchen? - + No updates available keine Updates verfügbar - + You already have the latest release v%1 Sie haben bereits die neueste Version v%1 - + + Please wait for SilentDragonLite to exit Bitte warten Sie bis SilentDragonLite beendet ist - + + Waiting for hushd to exit Warten auf beendigung der Serververbindung @@ -1314,7 +1718,7 @@ Möchten Sie die Release Seite besuchen? Alle geplanten zukünftigen Zahlungen werden nicht durchgeführt. - + Tx submitted (right click to copy) txid: Transaktions ID übermittelt (Rechtsklick zum anschauen) : @@ -1369,9 +1773,13 @@ Möchten Sie die Release Seite besuchen? RecurringDialog - Dialog - Wiederkehrende Zahlungen + Wiederkehrende Zahlungen + + + + Reccuring Dialog + @@ -1425,9 +1833,13 @@ Möchten Sie die Release Seite besuchen? RecurringPayments - Payments - Zahlungen + Zahlungen + + + + Reocurring Payments + @@ -1482,9 +1894,13 @@ Möchten Sie die Release Seite besuchen? RecurringPending - Dialog - Wiederkehrende Zahlungen + Wiederkehrende Zahlungen + + + + Recurring Multiple Payments + @@ -1550,57 +1966,57 @@ Möchten Sie die Release Seite besuchen? Zahlungsanfrage - + AddressBook Adressbuch - + Request From Anfrage von - + My Address Meine Adresse - + Amount in Betrag in - + z address verborgende Adresse - + Amount Betrag - + The recipient will see this address in the "to" field when they pay your request. Bei Bezahlung ist deine Adresse in dem "Empfänger" Feld sichtbar. - + Amount USD Betrag USD - + Memo Nachricht - + TextLabel Bezeichnung - + Request payment from a Sapling address. You'll send a hush 0.0001 transaction to the address with a hush payment URI. The memo will be included in the transaction when the address pays you. Bezahlung über eine sichere Adresse anfordern. Sende 0.0001 HUSH an die Adresse der Zahlungsanfrage, mit einer HUSH bezahl URI. Die Nachricht wird zur Transaktion hinzugefügt, sobald bezahlt wird. @@ -1638,9 +2054,13 @@ Möchten Sie die Release Seite besuchen? RestoreSeedForm - Form - Wallet wiederherstellen + Wallet wiederherstellen + + + + Restore Wallet Seed + @@ -1671,38 +2091,38 @@ Möchten Sie die Release Seite besuchen? RestoreSeedPage - - + + Failed to restore wallet Konnte das Wallet nicht wiederherstellen - + SilentDragonLite needs 24 words to restore wallet Der Seed benötigt 24 Wörter um das Wallet mit dem Seed wiederherzustellen - + Failed to parse wallet birthday Konnte das Erstellungsdatum nicht bestätigen - + Couldn't understand wallet birthday. This should be a block height from where to rescan the wallet. You can leave it as '0' if you don't know what it should be. Das Erstellungsdatum ist die Blockhöhe bei der das Wallet erstellt wurde. Wenn Sie dies nicht mehr wissen tragen sie einfach "0" ein. - + Couldn't restore the wallet Konnte Wallet nicht wiederherstellen - + Failed to save wallet Konnte wallet.dat nicht speichern - + Couldn't save the wallet Konnte wallet.dat nicht speichern @@ -1710,32 +2130,57 @@ Möchten Sie die Release Seite besuchen? Settings - + Settings Einstellungen - + Lightwallet Server Lightwallet Server - + Options Optionen - + + Dark + + + + + Midnight + + + + + Light + + + + + Blue + + + + + Default + + + + Connect to github on startup to check for updates Überprüfe Github für Updates - + Connect to the internet to fetch hush prices Hush Preise abrufen (dies kann Ihre Privatssphäre einschränken) - + Check github for updates at startup Überprüfe Github beim Start auf Updates @@ -1744,17 +2189,16 @@ Möchten Sie die Release Seite besuchen? Hush Preise abrufen - + Theme Design - default - default + default - + Connection Verbindung @@ -1763,77 +2207,74 @@ Möchten Sie die Release Seite besuchen? Server - blue - blue + blue - light - light + light - dark - dark + dark - + Fetch hush prices Hush Preise abrufen - + Currency Währung - + AUD - + BTC - + CAD - + CHF - + CNY - + EUR - + GBP - + INR - + RUB RUB - + USD @@ -1892,27 +2333,116 @@ Möchten Sie die Release Seite besuchen? Adressbuch - + Add New Address Neue Adresse hinzufügen - + Address (z-Addr or t-Addr) Adresse - + + <html><head/><body><p>Nickname :</p></body></html> + + + + + HushChat Address - give this Address only to your contact + + + + + <html><head/><body><p>Conversation ID:</p></body></html> + + + + + SDLogo + + + + + Duke + + + + + Denio + + + + + Berg + + + + + Sharpee + + + + + Elsa + + + + + Yoda + + + + + Garflied + + + + + Snoopy + + + + + Popey + + + + + Pinguin + + + + + Mickey + + + + + Stag + + + + + <html><head/><body><p>Avatar :</p></body></html> + + + + + Create a new HushChat zaddr + + + Label - Adressbuch + Adressbuch - + Add to Address Book Zum Adressbuch hinzufügen - + Import Address Book Adressbuch importieren @@ -2010,32 +2540,148 @@ Möchten Sie die Release Seite besuchen? Überspringt die meisten Checks beim Start + + deposithush + + + Deposit Hush + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Ubuntu'; font-size:16pt;">Please use the following hush address to transfer funds to SilentDragonLite. You can either copy the address or use the QR Code. </span></p></body></html> + + + + + <html><head/><body><p align="center">QR Code of your Hush Address</p></body></html> + + + + + <html><head/><body><p align="center"><span style=" text-decoration: underline;">Your Hush Address </span></p></body></html> + + + + + Hush zaddr + + + + + Copy Address + Adresse kopieren + + encryptionDialog - + Encrypt Your Wallet SilentDragonLite verschlüsseln - + + Encryption Passphrase: + + + + + <html><head/><body><p><span style=" font-size:14pt; color:#ef2929;">WARNING:</span> If you forget your passphrase, the only way to recover the wallet is from the seed phrase. If you don't have a backup of your seed phrase, please do it now!</p></body></html> + + + + + Confirm Passphrase: + + + + + <html><head/><body><p><span style=" font-style:italic;">Passphrase don't match</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-style:italic;">16 letters minimum</span></p></body></html> + + + Encryption Password: - Passwort: + Passwort: - Confirm Password: - Passwort bestätigen: + Passwort bestätigen: - Passwords don't match - Passwort stimmen nicht überein + Passwort stimmen nicht überein - WARNING: If you forget your password, the only way to recover the wallet is from the seed phrase. - Der Seed ist die einzige Möglichkeit ihr Guthaben wiederherzustellen. Ohne diesen Seed ist Ihr Guthaben für immer verloren. + Der Seed ist die einzige Möglichkeit ihr Guthaben wiederherzustellen. Ohne diesen Seed ist Ihr Guthaben für immer verloren. + + + + hushrequest + + + Request Payment + + + + + TextLabel + Bezeichnung + + + + Request payment from a Sapling address. You'll send a hush 0.0001 transaction to the address with a hush payment URI. The memo will be included in the transaction when the address pays you. + Bezahlung über eine sichere Adresse anfordern. Sende 0.0001 HUSH an die Adresse der Zahlungsanfrage, mit einer HUSH bezahl URI. Die Nachricht wird zur Transaktion hinzugefügt, sobald bezahlt wird. + + + + Request From + Anfrage von + + + + zaddr + + + + + Amount in + Betrag in + + + + Amount + Betrag + + + + Amount USD + Betrag USD + + + + Memo + Nachricht + + + + My Address + Meine Adresse + + + + The recipient will see this address in the "to" field when they pay your request. + Bei Bezahlung ist deine Adresse in dem "Empfänger" Feld sichtbar. @@ -2086,4 +2732,178 @@ Möchten Sie die Release Seite besuchen? Anzahl der Zahlungen + + removeencryption + + + Decrypt Your Wallet + + + + + <html><head/><body><p><span style=" font-size:14pt; color:#ef2929;">WARNING:</span> If you remove your wallet.dat encryption, all your transactions and contacts are plaintext on disk!<br/><br/>Messages sent and received are always encrypted.</p></body></html> + + + + + <html><head/><body><p><span style=" font-style:italic;">16 letters minimum</span></p></body></html> + + + + + Encryption Passphrase: + + + + + Confirm Passphrase: + + + + + <html><head/><body><p><span style=" font-style:italic;">Passphrase don't match</span></p></body></html> + + + + + requestDialog + + + Incoming Contact Request + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Memo of the request</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Open requests</span></p></body></html> + + + + + Request from: + + + + + Add New Contact + + + + + <html><head/><body><p>Choose an avatar for your contact:</p></body></html> + + + + + My Zaddr: + + + + + Cancel + Abbrechen + + + + SDLogo + + + + + Duke + + + + + Denio + + + + + Berg + + + + + Sharpee + + + + + Elsa + + + + + Yoda + + + + + Garfield + + + + + Snoopy + + + + + Popey + + + + + Pinguin + + + + + Mickey + + + + + Stag + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Recently closed requests</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Details of the request</span></p></body></html> + + + + + Give a Nickname: + + + + + startup + + + SDL Startup Decryption + + + + + <html><head/><body><p>If you have forgotten your passphrase, restore your wallet with your seed!</p></body></html> + + + + + Encryption Passphrase: + + + diff --git a/res/silentdragonlite_es.ts b/res/silentdragonlite_es.ts index 84db05c..b2dc770 100644 --- a/res/silentdragonlite_es.ts +++ b/res/silentdragonlite_es.ts @@ -4,69 +4,124 @@ AddressBookModel - + Label Etiqueta - + Address Dirección + + + Avatar + + + + + HushChatAddress + + + + + CID + + BalancesTableModel - + Address Dirección - + Amount Cantidad + + ChatBubbleMe + + + Form + Formulario + + + + Lorem ipsum dolor sit amet + + + + + 12/03/2020 12:34 + 12/03/2020 12:34 + + + + ChatBubblePartner + + + Form + Formulario + + + + Lorem ipsum dolor sit amet + + + + + 12/03/2020 12:34 + 12/03/2020 12:34 + + ConnectionDialog - + SilentDragonLite DragónSilenciosoLigero - + + The Dragon Awakens... + + + Starting Up - Iniciando + Iniciando Controller - + Wallet Password Contraseña de billetera - + Your wallet is encrypted. Please enter your wallet password Su billetera está encriptada. Ingrese la contraseña de su billetera - - + + Wallet Decryption Failed Error de descifrado de billetera - + Please enter a valid password Ingrese una contraseña válida - + Failed to unlock wallet Error al desbloquear la billetera @@ -74,741 +129,957 @@ Ingrese la contraseña de su billetera CreateWalletForm - Form - Formulario + Formulario + + + + Create New SDL Wallet + + + + + Confirm Passphrase: + - + Restore wallet from seed Restaurar billetera desde semilla - + Restore an existing wallet, using the 24-word seed. Restaurar una billetera existente, usando la semilla de 24 palabras. - + + Create a new wallet + + + + + Encryption Passphrase: + + + + + <html><head/><body><p><span style=" font-style:italic;">Passphrase don't match</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-style:italic;">16 letters minimum</span></p></body></html> + + + Create a new Wallet - Crear una nueva billetera + Crear una nueva billetera - + Create a new wallet with a randomly generated seed. Crear una nueva billetera con una semilla generada aleatoriamente. + + Dialog + + + Send Contact Request + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert a nickname for your contact:</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Choose an avatar for your contact:</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert a memo for your request:</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Your HushChat Address:</span></p></body></html> + + + + + Create New Address + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert the address of your contact:</span></p></body></html> + + + + + <html><head/><body><p><span style=" color:#d3d7cf;">Generate your HushChat Address - please wait a second - </span></p></body></html> + + + + + SDLogo + + + + + Duke + + + + + Denio + + + + + Berg + + + + + Stag + + + + + Sharpee + + + + + Elsa + + + + + Yoda + + + + + Garfield + + + + + Snoopy + + + + + Popey + + + + + Pinguin + + + + + Mickey + + + + + 0/512 + 0/512 + + + + Add a memo to your request + + + + + Cancel + Cancelar + + + + Add Contact and Send Request + + + MainWindow - + Balance Saldo - + Summary Resumen - + Shielded Blindado - + Notarized Notarizado - + Transparent Transparente - + Total Total - + Your node is still syncing, balances may not be updated. Su nodo todavía se está sincronizando, los saldos pueden no actualizarse. - + Some transactions are not yet confirmed. Balances may change. Algunas transacciones aún no están confirmadas. Los saldos pueden cambiar. - + Total notarized funds available: Total de fondos notariales disponibles: - + Next Address Siguiente dirección - + Your node is still syncing, balances may not be updated Su nodo todavía se está sincronizando, los saldos pueden no actualizarse - + Address Balances Saldos de direcciones - + SilentDragonLite DragónSilenciosoLigero - - + + Send Enviar - + Send To Enviar a - + Recipient Destinatario - - - + + + Address Dirección - + Address Book Libreta de direcciones - - + + Amount Cantidad - + Max Available Máx. disponible - - - + + + Memo Nota - + Add Recipient Agregar destinatario - Recurring payment - Pago recurrente + Pago recurrente - Every month, starting 12-May-2012, for 6 payments - Todos los meses, a partir del 12 de mayo de 2012, para 6 pagos + Todos los meses, a partir del 12 de mayo de 2012, para 6 pagos - Edit Schedule - Editar horario + Editar horario - + Miner Fee Tarifa de minero - + 0 0 - + Cancel Cancelar - + Receive Recibir - + Address Type Tipo de dirección - + z-Addr z-Direc - + t-Addr t-Direcc - + Information about Hush Información sobre Hush - + <html><head/><body><p align="center"><span style=" font-weight:600;">Hush Blockchain Information</span></p></body></html> <html><cabeza/><cuerpo><palign="centro"><estilo Span=" peso de fuente: 600;"> Información de la cadena de bloques de Hush</span></p></cuerpo></html> - - - - - - - - - - - - + + + + + + + + + + + + <html><head/><body><p align="center">|</p></body></html> <html><cabeza/><cuerpo><palign="centro">El|</p></cuerpo></html> - + Difficulty Dificultad - + Last Notarized Block Último bloque notario - + Total Supply Suministro Total - + Longestchain Cadena más larga - + View All Addresses Ver todas las direcciones - + Label Etiqueta - + Update Label Actualizar etiqueta - + Address balance Saldo de dirección - + Optional Opcional - - + + Export Private Key Exportar clave privada - + Transactions Transacciones - + Version hushlightd Versión hushlightd - + BlockHeight AlturaDelBloque - + Supply zAddr Suministro zDirecc - + Supply tAddr Suministro tDirecc - + <html><head/><body><p align="center"><span style=" font-weight:600;">Hush Market Information</span></p></body></html> <html><head/><body><p align="center"><span style=" font-weight:600;">Información de mercado de Hush</span></p></body></html> - + Market Cap Capitalización de mercado - + Volume on Exchanges Volumen en intercambios - + <html><head/><body><p align="center">This is a Lightwallet, you cant mine with it!</p></body></html> <html><cabeza/><cuerpo><palign="centro">Esta es una Billetera Light,¡no puedes minar con ella!</p></cuerpo></html> - + &Send DenioD Feedback Enviar comentarios de DenioD - + &Export seed phrase Exportar frase semilla - + Encrypt Wallet Encriptar billetera - + Remove Wallet Encryption Eliminar encriptado de billetera - + Rescan Volver a escanear - - - - - - - - - - - - + + + + + + + + + + + + Loading... Cargando... - + + Deposit Hush + + + + Next Halving Siguiente reducción a la mitad - + Vendor Proveedor + HushChat + + + + + Incoming contact request + + + + + Add a new contact + + + + + Get a new Address + + + + + <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Contactlist</span></p></body></html> + + + + + <html><head/><body><p align="center"><span style=" font-weight:600;">Contact Name :</span></p></body></html> + + + + + <html><head/><body><p align="center"><br/></p></body></html> + + + + + The locks shows you the status of the message. Red lock = unconfirmed, green lock = min. 1 confirmations, orange lock = message is notarized + + + + &File Archivo - + &Help Ayuda - + &Apps Aplicaciones - + &Edit Editar - + E&xit E&xit - + &About Sobre - + &Settings Configuraciones - + Ctrl+P Ctrl+P - + &Hush Discord Discord de Hush - + &Hush Website Pagina web de Hush - + Check github.com for &updates Compruebe github.com para & actualizaciones - + &Export all private keys Exportar todas las claves privadas - + Address &book Libro - + Ctrl+B Ctrl+B - - + + Export transactions Transacciones de exportación - + Pay hush &URI... Paga con Hush &URI... - + Connect mobile &app Conectar móvil &Aplicación - + Ctrl+M Ctrl+M - + &Recurring Payments &Pagos recurrentes - + Request hush... Solicitar Hush… - + File a bug... Archivar un error... - - + + Copy txid Copiar txid - + View tx on block explorer Ver en el explorador de bloques - + Refresh Actualizar - + Restart Reiniciar - + Please restart Silentdragonlite to have the theme apply Reinicie Dragón silencioso ligero para que se aplique el tema - + This change can take a few seconds. Este cambio puede tardar unos segundos. - + Some feedback about SilentDragonlite or Hush... Algunos comentarios sobre Dragón silencioso ligero o Hush ... - + or SilentDragonLite o Dragón silencioso ligero - + Send DenioD some private and shielded feedback about Enviar DenioD algunos comentarios privados y protegidos sobre - + Paste HUSH URI Pegar URI HUSH - + Error paying HUSH URI Error al pagar HUSH URI - + URI should be of the form 'hush:<addr>?amt=x&memo=y URI debe tener la forma 'Hush:<Direct>?amt=x&nota=y - + Error Error - + Error exporting transactions, file was not saved Error al exportar transacciones, el archivo no se guardó - + Error getting private keys Error al obtener claves privadas - + Error loading private keys: Error al cargar claves privadas: - + These are all the private keys for all the addresses in your wallet Estas son todas las claves privadas para todas las direcciones en su billetera - + Private key for Clave privada para - - + + Save File Guardar archivo - Wallet is already encrypted - La billetera ya está encriptada + La billetera ya está encriptada - Your wallet is already encrypted with a password. Please use 'Remove Wallet Encryption' if you want to remove the wallet encryption. - Su billetera ya está encriptada con una contraseña. + Su billetera ya está encriptada con una contraseña. Por favor use 'Eliminar la encriptacion de la billetera 'si desea eliminar el encriptado de billetera. - + Passwords don't match Contraseñas don't partido - Error was: - El error fue: + El error fue: - Wallet Encrypted - Billetera Encriptada + Billetera Encriptada - Your wallet was successfully encrypted! The password will be needed to send funds or export private keys. - ¡Su billetera fue encriptada con éxito! La contraseña será necesaria para enviar fondos o exportar claves privadas. + ¡Su billetera fue encriptada con éxito! La contraseña será necesaria para enviar fondos o exportar claves privadas. - - + + Wallet Encryption Failed Encriptacion - + Wallet is not encrypted Error en el encriptado de billetera - Your wallet is not encrypted with a password. - Billetera no está encriptada + Billetera no está encriptada - Wallet Password - Contraseña de billetera + Contraseña de billetera - Please enter your wallet password - Por favor ingrese la contraseña de su billetera + Por favor ingrese la contraseña de su billetera - - - Wallet Decryption Failed - Error de descifrado de billetera + Error de descifrado de billetera - Please enter a password to decrypt your wallet! - ¡Ingrese una contraseña para descifrar su billetera! + ¡Ingrese una contraseña para descifrar su billetera! - Wallet Encryption Removed - Encriptacion de billetera eliminado + Encriptacion de billetera eliminado - Your wallet was successfully decrypted! You will no longer need a password to send funds or export private keys. - ¡Su billetera fue descifrada con éxito! Ya no necesitará una contraseña para enviar fondos o exportar claves privadas. + ¡Su billetera fue descifrada con éxito! Ya no necesitará una contraseña para enviar fondos o exportar claves privadas. - - + + Copy block explorer link Copiar enlace del explorador de bloques - + Currency Change Cambio de moneda - + This is your wallet seed. Please back it up carefully and safely. Esta es la semilla de tu billetera. Haga una copia de seguridad con cuidado y seguridad. - - + + Unable to open file No se puede abrir el archivo - - + + Copy address Copiar dirección - - - + + + + Copied to clipboard Copiado al portapapeles - + + + Wallet Encryption Success + + + + + Your wallet is not encrypted with a passphrase. + + + + + Wallet decryption Success + + + + + You still have plaintext data on your disk! + + + + Get private key Obtener clave privada - - + + View on block explorer Ver en el explorador de bloques - + View Payment Request Ver solicitud de pago - + View Memo Ver Nota - + Reply to Responder a - + + Copied message to clipboard + + + + + Copied Txid to clipboard + + + + Created new t-Addr Creado nuevo t-Direcc - + Copy Address Copiar dirección - + Address has been previously used La dirección se ha utilizado previamente - + Address is unused La dirección no se utiliza @@ -833,46 +1104,44 @@ Por favor use 'Eliminar la encriptacion de la billetera 'si desea elim Solo las direcciones z pueden tener notas - Memos can only be used with z-addresses - Las notas solo se pueden usar con direcciones z + Las notas solo se pueden usar con direcciones z - The memo field can only be used with a z-address. - El campo nota solo se puede usar con una dirección z. + El campo nota solo se puede usar con una dirección z. - doesn't look like a z-address - no't parece una dirección z + no't parece una dirección z - + + Please wait... Por favor espera... - + Computing your transaction Calculando su transacción - + + Done! Listo! - Not enough available funds to send this transaction Have: %1 Need: %2 Note: Funds need 5 confirmations before they can be spent - No hay suficientes fondos disponibles para enviar esta transacción + No hay suficientes fondos disponibles para enviar esta transacción Tener:% 1 Necesidad:% 2 @@ -884,20 +1153,106 @@ Nota: Los fondos necesitan 5 confirmaciones antes de que puedan gastarseError de transacción - + + + You have to select a contact and insert a Memo + + + + + + You have selected no Contact from Contactlist, + + + + + + + +or your Memo is empty + + + + + + Your Message is too long + + + + + + You can only write messages with 235 character maximum + + + + + + + + Please reduce your message to 235 character. + + + + + + Message Error + + + + + + Recipient Address Dirección del destinatario - + + + is Invalid es inválido - + + + Amount for address '%1' is invalid! Cantidad para dirección '%1' es inválido! + + + + + Not enough available funds to send this transaction + +Have: %1 +Need: %2 + +Note: Funds need 1 confirmations before they can be spent + No hay suficientes fondos disponibles para enviar esta transacción +Tener:% 1 +Necesidad:% 2 + +Nota: Los fondos necesitan 5 confirmaciones antes de que puedan gastarse {1 +?} {2 +?} {1 ?} + + + + Missing HushChat Address + + + + + You have to create your HushChat address to send a contact request, + + + + + + Your contact request will be sent + + MemoDialog @@ -957,9 +1312,13 @@ Nota: Los fondos necesitan 5 confirmaciones antes de que puedan gastarse MobileAppConnector - Connect Mobile App - Conectar aplicación móvil + Conectar aplicación móvil + + + + Mobile Connector App + @@ -1008,6 +1367,14 @@ Nota: Los fondos necesitan 5 confirmaciones antes de que puedan gastarseTipo de conexión: + + NewOrRestorePage + + + Passphrase don't match or You have entered too few letters (16 minimum) + + + NewSeedForm @@ -1021,7 +1388,7 @@ Nota: Los fondos necesitan 5 confirmaciones antes de que puedan gastarseEsta es su nueva billetera 's frase de semilla. POR FAVOR HAGA UNA COPIA DE SEGURIDAD. - + The seed phrase is the only way to restore the wallet. If you forget the seed phrase, THERE IS NO WAY TO RESTORE YOUR WALLET AND THE FUNDS in it La frase semilla es la única forma de restaurar la billetera. Si olvida la frase semilla, NO HAY FORMA DE RESTAURAR SU BILLETERA Y LOS FONDOS en ella @@ -1029,17 +1396,17 @@ Nota: Los fondos necesitan 5 confirmaciones antes de que puedan gastarse NewSeedPage - + Error creating a wallet Error al crear una billetera - + Failed to save wallet Error al guardar la billetera - + Couldn't save the wallet Podría 't guardar la billetera @@ -1055,152 +1422,186 @@ Nota: Los fondos necesitan 5 confirmaciones antes de que puedan gastarse QObject - + Pick Elegir - + + + Address or Label Error Dirección o error de etiqueta - + + + Address or Label cannot be empty La dirección o etiqueta no puede estar vacía - + + + Address Format Error Error de formato de dirección - + + + %1 doesn't seem to be a valid hush address. >% 1 no' parece ser una dirección de Hush válida. - + Label Error Error de etiqueta - + The label '%1' already exists. Please remove the existing label. La etiqueta '%1' ya existe. Elimine la etiqueta existente. - - Import Address Book - Importar libreta de direcciones + + + Added Contact + + + + + + successfully added your new contact + + + + + Import Address Book + Importar libreta de direcciones - + Unable to open file No se puede abrir el archivo - + Address Book Import Done Importación de libreta de direcciones realizada - + Imported %1 new Address book entries Importado% 1 nuevas entradas de la libreta de direcciones - + Copy address Copiar dirección - + Copied to clipboard Copiado al portapapeles - + Delete label Eliminar etiqueta - + Attempting to initialize library with Intentando inicializar la biblioteca con - + Using existing wallet. Utilizando la billetera existente. - + Create/restore wallet. Crear/restaurar billetera. - - + + Connection Error Error de conexión - - - + + + + + Transaction Error Error de transacción - + There was an error sending the transaction. The error was: Hubo un error al enviar la transacción. El error fue: - - + + No Connection Sin conexión - There was an error connecting to hushd. The error was - Hubo un error al conectarse a hushd. El error fue + Hubo un error al conectarse a hushd. El error fue - + + + - + Tx Tx - + + + - + failed falló - - + + + + The transaction with id La transacción con id - - + + + + failed. The error was falló. El error fue - + + There was an error connecting to the server. Please check your internet connection. The error was + + + + Update Available Actualización disponible - + A new release v%1 is available! You have v%2. Would you like to visit the releases page? @@ -1209,22 +1610,24 @@ Would you like to visit the releases page? ¿Te gustaría visitar la página de lanzamientos? - + No updates available No hay actualizaciones disponibles - + You already have the latest release v%1 Ya tienes la última versión v% 1 - + + Please wait for SilentDragonLite to exit Espere a que DragónSilenciosoLigero salga - + + Waiting for hushd to exit Esperando a que hushd salga @@ -1260,7 +1663,7 @@ Would you like to visit the releases page? Todos los pagos futuros serán cancelados. - + Tx submitted (right click to copy) txid: Tx enviado (clic derecho para copiar) txid: @@ -1315,9 +1718,13 @@ Would you like to visit the releases page? RecurringDialog - Dialog - Diálogo + Diálogo + + + + Reccuring Dialog + @@ -1371,9 +1778,13 @@ Would you like to visit the releases page? RecurringPayments - Payments - Pagos + Pagos + + + + Reocurring Payments + @@ -1428,9 +1839,13 @@ Would you like to visit the releases page? RecurringPending - Dialog - Diálogo + Diálogo + + + + Recurring Multiple Payments + @@ -1496,57 +1911,57 @@ Would you like to visit the releases page? Solicitud de pago - + AddressBook Libreta de direcciones - + Request From Solicitud de - + My Address Mi dirección - + Amount in Cantidad en - + z address dirección z - + Amount Cantidad - + The recipient will see this address in the "to" field when they pay your request. El destinatario verá esta dirección en el " a " campo cuando pagan su solicitud. - + Amount USD Cantidad USD - + Memo Nota - + TextLabel Etiqueta de texto - + Request payment from a Sapling address. You'll send a hush 0.0001 transaction to the address with a hush payment URI. The memo will be included in the transaction when the address pays you. Solicitar pago de una dirección de Sapling. Usted ' Enviaré una transacción de silencio 0.0001 a la dirección con un URI de pago de hush. La nota se incluirá en la transacción cuando la dirección le pague. @@ -1584,9 +1999,13 @@ Would you like to visit the releases page? RestoreSeedForm - Form - Formulario + Formulario + + + + Restore Wallet Seed + @@ -1617,38 +2036,38 @@ Would you like to visit the releases page? RestoreSeedPage - - + + Failed to restore wallet Error al restaurar la billetera - + SilentDragonLite needs 24 words to restore wallet Dragón silencioso ligero necesita 24 palabras para restaurar la billetera - + Failed to parse wallet birthday Error al analizar el cumpleaños de la billetera - + Couldn't understand wallet birthday. This should be a block height from where to rescan the wallet. You can leave it as '0' if you don't know what it should be. Podría ' No entiendo el cumpleaños de la billetera. Esto debe ser una altura de bloque desde donde volver a escanear la billetera. Puedes dejarlo como ' 0 ' si no lo haces ' No sé lo que debería ser. - + Couldn't restore the wallet Podría 't restaurar la billetera - + Failed to save wallet Error al guardar la billetera - + Couldn't save the wallet Podría 't guardar la billetera @@ -1656,122 +2075,131 @@ Would you like to visit the releases page? Settings - + Settings Configuración - + Lightwallet Server Billetera Servidor Light - + Options Opciones - + + Dark + + + + + Midnight + + + + + Light + + + + + Blue + + + + + Default + + + + Connect to github on startup to check for updates Conéctese a github en el inicio para buscar actualizaciones - + Connect to the internet to fetch hush prices Conéctese a internet para obtener precios de Hush - + Check github for updates at startup Verifique github para actualizaciones al inicio - + Theme Tema - default - Predeterminado + Predeterminado - + Connection Conexión - - blue - - - - - light - - - - - dark - - - - + Fetch hush prices Ir a buscar precios de Hush - + Currency Moneda - + AUD AUD - + BTC BTC - + CAD CAD - + CHF CHF - + CNY CNY - + EUR EUR - + GBP GBP - + INR INR - + RUB RUB - + USD USD @@ -1818,27 +2246,116 @@ Would you like to visit the releases page? Libreta de direcciones - + Add New Address Agregar nueva dirección - + Address (z-Addr or t-Addr) Dirección (z-Direcc o t-Direcc) - + + <html><head/><body><p>Nickname :</p></body></html> + + + + + HushChat Address - give this Address only to your contact + + + + + <html><head/><body><p>Conversation ID:</p></body></html> + + + + + SDLogo + + + + + Duke + + + + + Denio + + + + + Berg + + + + + Sharpee + + + + + Elsa + + + + + Yoda + + + + + Garflied + + + + + Snoopy + + + + + Popey + + + + + Pinguin + + + + + Mickey + + + + + Stag + + + + + <html><head/><body><p>Avatar :</p></body></html> + + + + + Create a new HushChat zaddr + + + Label - Etiqueta + Etiqueta - + Add to Address Book Agregar a la libreta de direcciones - + Import Address Book Importar libreta de direcciones @@ -1924,32 +2441,148 @@ Would you like to visit the releases page? Conectar a través de Tor + + deposithush + + + Deposit Hush + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Ubuntu'; font-size:16pt;">Please use the following hush address to transfer funds to SilentDragonLite. You can either copy the address or use the QR Code. </span></p></body></html> + + + + + <html><head/><body><p align="center">QR Code of your Hush Address</p></body></html> + + + + + <html><head/><body><p align="center"><span style=" text-decoration: underline;">Your Hush Address </span></p></body></html> + + + + + Hush zaddr + + + + + Copy Address + Copiar dirección + + encryptionDialog - + Encrypt Your Wallet Encriptar su billetera - + + Encryption Passphrase: + + + + + <html><head/><body><p><span style=" font-size:14pt; color:#ef2929;">WARNING:</span> If you forget your passphrase, the only way to recover the wallet is from the seed phrase. If you don't have a backup of your seed phrase, please do it now!</p></body></html> + + + + + Confirm Passphrase: + + + + + <html><head/><body><p><span style=" font-style:italic;">Passphrase don't match</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-style:italic;">16 letters minimum</span></p></body></html> + + + Encryption Password: - Encriptar Contraseña: + Encriptar Contraseña: - Confirm Password: - Confirmar contraseña: + Confirmar contraseña: - Passwords don't match - Contraseñas don't no coincide + Contraseñas don't no coincide - WARNING: If you forget your password, the only way to recover the wallet is from the seed phrase. - ADVERTENCIA: Si olvida su contraseña, la única forma de recuperar la billetera es desde la frase inicial. + ADVERTENCIA: Si olvida su contraseña, la única forma de recuperar la billetera es desde la frase inicial. + + + + hushrequest + + + Request Payment + + + + + TextLabel + Etiqueta de texto + + + + Request payment from a Sapling address. You'll send a hush 0.0001 transaction to the address with a hush payment URI. The memo will be included in the transaction when the address pays you. + Solicitar pago de una dirección de Sapling. Usted ' Enviaré una transacción de silencio 0.0001 a la dirección con un URI de pago de hush. La nota se incluirá en la transacción cuando la dirección le pague. + + + + Request From + Solicitud de + + + + zaddr + + + + + Amount in + Cantidad en + + + + Amount + Cantidad + + + + Amount USD + Cantidad USD + + + + Memo + Nota + + + + My Address + Mi dirección + + + + The recipient will see this address in the "to" field when they pay your request. + El destinatario verá esta dirección en el " a " campo cuando pagan su solicitud. @@ -2000,4 +2633,178 @@ Would you like to visit the releases page? Número de pagos + + removeencryption + + + Decrypt Your Wallet + + + + + <html><head/><body><p><span style=" font-size:14pt; color:#ef2929;">WARNING:</span> If you remove your wallet.dat encryption, all your transactions and contacts are plaintext on disk!<br/><br/>Messages sent and received are always encrypted.</p></body></html> + + + + + <html><head/><body><p><span style=" font-style:italic;">16 letters minimum</span></p></body></html> + + + + + Encryption Passphrase: + + + + + Confirm Passphrase: + + + + + <html><head/><body><p><span style=" font-style:italic;">Passphrase don't match</span></p></body></html> + + + + + requestDialog + + + Incoming Contact Request + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Memo of the request</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Open requests</span></p></body></html> + + + + + Request from: + + + + + Add New Contact + + + + + <html><head/><body><p>Choose an avatar for your contact:</p></body></html> + + + + + My Zaddr: + + + + + Cancel + Cancelar + + + + SDLogo + + + + + Duke + + + + + Denio + + + + + Berg + + + + + Sharpee + + + + + Elsa + + + + + Yoda + + + + + Garfield + + + + + Snoopy + + + + + Popey + + + + + Pinguin + + + + + Mickey + + + + + Stag + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Recently closed requests</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Details of the request</span></p></body></html> + + + + + Give a Nickname: + + + + + startup + + + SDL Startup Decryption + + + + + <html><head/><body><p>If you have forgotten your passphrase, restore your wallet with your seed!</p></body></html> + + + + + Encryption Passphrase: + + + diff --git a/res/silentdragonlite_fa.ts b/res/silentdragonlite_fa.ts index d586e8b..23398ab 100644 --- a/res/silentdragonlite_fa.ts +++ b/res/silentdragonlite_fa.ts @@ -4,68 +4,123 @@ AddressBookModel - + Label برچسب - + Address آدرس + + + Avatar + + + + + HushChatAddress + + + + + CID + + BalancesTableModel - + Address آدرس - + Amount مقدار + + ChatBubbleMe + + + Form + ساخت/بازیابی کیف پول + + + + Lorem ipsum dolor sit amet + + + + + 12/03/2020 12:34 + 12/03/2020 12:34 + + + + ChatBubblePartner + + + Form + ساخت/بازیابی کیف پول + + + + Lorem ipsum dolor sit amet + + + + + 12/03/2020 12:34 + 12/03/2020 12:34 + + ConnectionDialog - + SilentDragonLite سایلنت دراگون سبک - + + The Dragon Awakens... + + + Starting Up - درحال راه‌اندازی + درحال راه‌اندازی Controller - + Wallet Password رمزعبور کیف پول - + Your wallet is encrypted. Please enter your wallet password کیف پول شما رمزنگاری شده است. لطفا رمزعبور کیف پول خود را وارد کنید - - + + Wallet Decryption Failed رمزگشایی کیف پول ناموفق بود - + Please enter a valid password لطفاً رمزعبور صحیحی وارد کنید - + Failed to unlock wallet باز کردن کیف پول ناموفق بود @@ -73,284 +128,442 @@ Please enter your wallet password CreateWalletForm - Form - ساخت/بازیابی کیف پول + ساخت/بازیابی کیف پول + + + + Create New SDL Wallet + + + + + Confirm Passphrase: + - + Restore wallet from seed بازیابی کیف پول با عبارت بازیابی - + Restore an existing wallet, using the 24-word seed. بازیابی کیف پول موجود با عبارت بازیابی 24 کلمه ای - + + Create a new wallet + + + + + Encryption Passphrase: + + + + + <html><head/><body><p><span style=" font-style:italic;">Passphrase don't match</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-style:italic;">16 letters minimum</span></p></body></html> + + + Create a new Wallet - ساخت کیف پول جدید + ساخت کیف پول جدید - + Create a new wallet with a randomly generated seed. ساخت کیف پول جدید با عبارت بازیابی تصادفی + + Dialog + + + Send Contact Request + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert a nickname for your contact:</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Choose an avatar for your contact:</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert a memo for your request:</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Your HushChat Address:</span></p></body></html> + + + + + Create New Address + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert the address of your contact:</span></p></body></html> + + + + + <html><head/><body><p><span style=" color:#d3d7cf;">Generate your HushChat Address - please wait a second - </span></p></body></html> + + + + + SDLogo + + + + + Duke + + + + + Denio + + + + + Berg + + + + + Stag + + + + + Sharpee + + + + + Elsa + + + + + Yoda + + + + + Garfield + + + + + Snoopy + + + + + Popey + + + + + Pinguin + + + + + Mickey + + + + + 0/512 + 0/512 + + + + Add a memo to your request + + + + + Cancel + انصراف + + + + Add Contact and Send Request + + + MainWindow - + SilentDragonLite سایلنت دراگون سبک - + Balance اعتبار - + Summary خلاصه - + Shielded حفاظت شده - + Notarized محضری - + Transparent عمومی - + Total جمع کل - + Your node is still syncing, balances may not be updated. نود شما در حال همگام سازی است، اعتبارات ممکن است بروز نباشند - + Some transactions are not yet confirmed. Balances may change. برخی تراکنش ها تاکنون تأیید نشده اند. اعتبارات ممکن است تغییر کنند - + + Deposit Hush + + + + Address Balances اعتبارات آدرس ها - - + + Send ارسال - + Total notarized funds available: کل اعتبارات محضری دردسترس - + Send To ارسال به - + Recipient دریافت کننده - - - + + + Address آدرس - + Address Book دفترچه آدرس - - + + Amount مقدار - + Max Available حداکثر دردسترس - - - + + + Memo یادداشت - + Add Recipient اضافه کردن دریافت کننده - Recurring payment - تکرار پرداخت + تکرار پرداخت - Every month, starting 12-May-2012, for 6 payments - 12-May-20برای 6 پرداخت، هر ماه شروع می‌شود از 12 + 12-May-20برای 6 پرداخت، هر ماه شروع می‌شود از 12 - Edit Schedule - ویرایش برنامه زمانی + ویرایش برنامه زمانی - + Miner Fee کارمزد استخراج کننده - + 0 0 - + Cancel انصراف - + Receive دریافت - + Address Type نوع آدرس - + z-Addr آدرس حفاظت شده - + t-Addr آدرس عمومی - + Next Address آدرس بعدی - + Information about Hush Hush اطلاعات مربوط به - + <html><head/><body><p align="center"><span style=" font-weight:600;">Hush Blockchain Information</span></p></body></html> Hush اطلاعات زنجیره بلوک - - - - - - - - - - - - + + + + + + + + + + + + <html><head/><body><p align="center">|</p></body></html> - + Next Halving نصف شدن پاداش بلوک بعدی - + Difficulty سختی - + Last Notarized Block آخرین بلوک محضری - + Total Supply کل عرضه - + Longestchain بلندترین زنجیره - + BlockHeight ارتفاع بلوک - + Supply zAddr تعداد سکه های حفاظت شده - + Supply tAddr تعداد سکه های عمومی - + <html><head/><body><p align="center"><span style=" font-weight:600;">Hush Market Information</span></p></body></html> <html><head/><body><p align="center"><span style=" font-weight:600;">Hush اطلاعات </span></p></body></html> - + Market Cap حجم معاملات در بازار - + Volume on Exchanges حجم معاملات در صرافی ها - + <html><head/><body><p align="center">This is a Lightwallet, you cant mine with it!</p></body></html> <html><head/><body><p align="center">این کیف پول سبک است. شما نمی توانید با آن استخراج کنید</p></body></html> @@ -359,43 +572,43 @@ Please enter your wallet password آدرس جدید - + View All Addresses مشاهده تمام آدرس ها - + Label برچسب - + Update Label بروزرسانی برچسب - + Address balance اعتبار آدرس - + Optional اختیاری - - + + Export Private Key صدور کلید خصوصی - + Your node is still syncing, balances may not be updated نود شما درحال همگام سازی است، اعتبارات ممکن است بروز نباشند - + Transactions تراکنش ها @@ -408,18 +621,18 @@ Please enter your wallet password این یک کیف پول سبک است و شما نمی توانید با آن استخراج کنید - - - - - - - - - - - - + + + + + + + + + + + + Loading... ...درحال بارگذاری @@ -428,12 +641,12 @@ Please enter your wallet password ارتفاع بلوک - + Version hushlightd Hushنسخه کیف پول سبک - + Vendor فروشنده @@ -443,251 +656,277 @@ Please enter your wallet password + HushChat + + + + + Incoming contact request + + + + + Add a new contact + + + + + Get a new Address + + + + + <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Contactlist</span></p></body></html> + + + + + <html><head/><body><p align="center"><span style=" font-weight:600;">Contact Name :</span></p></body></html> + + + + + <html><head/><body><p align="center"><br/></p></body></html> + + + + + The locks shows you the status of the message. Red lock = unconfirmed, green lock = min. 1 confirmations, orange lock = message is notarized + + + + &File پرونده - + &Help امداد - + &Apps برنامه ها - + &Edit ویرایش - + E&xit خروج - + &About درباره - + &Settings تنظیمات - + Ctrl+P Ctrl+P - + &Send DenioD Feedback DenioDارسال بازخورد به - + &Hush Discord Hushدیسکورد - + &Hush Website Hushوبسایت - + Check github.com for &updates بررسی گیت هاب ما برای بروزرسانی - + &Export all private keys صدور تمام کلید های خصوصی - + Address &book دفترچه آدرس - + Ctrl+B Ctrl+B - + &Export seed phrase صدور عبارت بازیابی - - + + Export transactions صدور تراکنش‌ها - + Pay hush &URI... URI پرداخت هاش با - + Connect mobile &app اتصال برنامه تلفن همراه - + Ctrl+M Ctrl+M - + &Recurring Payments تکرار پرداخت ها - + Request hush... Hushدرخواست - + File a bug... گزارش اشکال - + Encrypt Wallet رمزنگاری کیف پول - + Remove Wallet Encryption حذف رمزنگاری کیف پول - + Rescan بررسی دوباره - Wallet is already encrypted - کیف پول در حال حاضر رمزنگاری شده است + کیف پول در حال حاضر رمزنگاری شده است - Your wallet is already encrypted with a password. Please use 'Remove Wallet Encryption' if you want to remove the wallet encryption. - کیف پول شما درحال حاضر توسط رمزعبور، رمزنگاری شده است + کیف پول شما درحال حاضر توسط رمزعبور، رمزنگاری شده است لطفا از حذف رمزنگاری کیف پول استفاده کنید اگر می خواهید رمزنگاری کیف پولتان را حذف کنید. - + Passwords don't match رمزعبور همخوانی ندارد - Error was: - خطا: + خطا: - Wallet Encrypted - کیف پول رمزنگاری شده است + کیف پول رمزنگاری شده است - Your wallet was successfully encrypted! The password will be needed to send funds or export private keys. - کیف پول شما با موفقیت رمزنگاری شد! این رمز عبور برای ارسال اعتبار و صدور کلید های خصوصی ضروری است + کیف پول شما با موفقیت رمزنگاری شد! این رمز عبور برای ارسال اعتبار و صدور کلید های خصوصی ضروری است - - + + Wallet Encryption Failed رمزنگاری کیف پول ناموفق بود - + Wallet is not encrypted کیف پول، رمزنگاری نشده است - Your wallet is not encrypted with a password. - کیف پول شما با رمزعبور، رمزنگاری نشده است + کیف پول شما با رمزعبور، رمزنگاری نشده است - Wallet Password - رمزعبور کیف پول + رمزعبور کیف پول - Please enter your wallet password - لطفاً رمزعبور کیف پول خود را وارد کنید + لطفاً رمزعبور کیف پول خود را وارد کنید - - - Wallet Decryption Failed - رمزگشایی کیف پول ناموفق بود + رمزگشایی کیف پول ناموفق بود - Please enter a password to decrypt your wallet! - لطفاً رمزعبور خود را وارد کنید تا کیف پول شما رمزگشایی شود + لطفاً رمزعبور خود را وارد کنید تا کیف پول شما رمزگشایی شود - Wallet Encryption Removed - رمزنگاری کیف پول حذف شد + رمزنگاری کیف پول حذف شد - Your wallet was successfully decrypted! You will no longer need a password to send funds or export private keys. - کیف پول شما با موفقیت رمزگشایی شد! شما دیگر برای ارسال اعتبار و صدور کلید های خصوصی به رمز عبور نیازی ندارید + کیف پول شما با موفقیت رمزگشایی شد! شما دیگر برای ارسال اعتبار و صدور کلید های خصوصی به رمز عبور نیازی ندارید - - + + Copy txid کپی شناسه تراکنش - - + + Copy block explorer link کپی لینک وبسایت مشاهده تراکنش - + View tx on block explorer مشاهده تراکنش در وبسایت - + Refresh تازه سازی - + Restart اجرای مجدد - + Please restart Silentdragonlite to have the theme apply لطفا برای اعمال پوسته، سایلنت دراگون سبک خود را مجدداً اجرا کنید - + Currency Change تغییر واحد پول @@ -696,7 +935,7 @@ Please use 'Remove Wallet Encryption' if you want to remove the wallet لطفا برای اعمال واحد پول جدید، سایلنت دراگون سبک خود را مجدداً اجرا کنید - + Some feedback about SilentDragonlite or Hush... Hushبرخی بازخوردها درباره سایلنت دراگون سبک یا @@ -705,138 +944,170 @@ Please use 'Remove Wallet Encryption' if you want to remove the wallet بفرستید Duke تعدادی بازخورد به صورت خصوصی و حفاظت شده برای - + This change can take a few seconds. - + or SilentDragonLite یا سایلنت دراگون سبک - + Send DenioD some private and shielded feedback about بفرستید DenioD تعدادی بازخورد به صورت خصوصی و حفاظت شده به - + Paste HUSH URI Hush URI چسبانیدن - + Error paying HUSH URI HUSH URI خطا در پرداخت - + URI should be of the form 'hush:<addr>?amt=x&memo=y یو-آر-آی باید از این قالب باشد'hush:<addr>?amt=x&memo=y - + Error خطا - + Error exporting transactions, file was not saved خطا در صدور تراکنش ها، پرونده ذخیره نشد - + This is your wallet seed. Please back it up carefully and safely. این، عبارت بازیابی کیف پول شما است. لطفا با دقت و اطمینان از آن نسخه پشتیبان تهیه کنید - - + + Save File ذخیره پرونده - - + + Unable to open file خطا در بازکردن پرونده - + Error getting private keys خطا در دریافت کلید های خصوصی - + Error loading private keys: خطا در بارگذاری کلید های خصوصی - + These are all the private keys for all the addresses in your wallet این ها تمام کلید های خصوصی برای تمام آدرس های کیف پول های شما است - + Private key for کلید خصوصی برای - - + + Copy address کپی آدرس - - - + + + + Copied to clipboard در کلیپ بورد کپی شد - + + + Wallet Encryption Success + + + + + Your wallet is not encrypted with a passphrase. + + + + + Wallet decryption Success + + + + + You still have plaintext data on your disk! + + + + Get private key دریافت کلید خصوصی - - + + View on block explorer مشاهده در وبسایت - + View Payment Request مشاهده درخواست پرداخت - + View Memo مشاهده یادداشت - + Reply to پاسخ به - + + Copied message to clipboard + + + + + Copied Txid to clipboard + + + + Created new t-Addr آدرس عمومی جدید، ساخته شد - + Copy Address کپی آدرس - + Address has been previously used آدرس، قبلا هم استفاده شده بود - + Address is unused آدرس استفاده نشده @@ -861,21 +1132,18 @@ Please use 'Remove Wallet Encryption' if you want to remove the wallet فقط آدرس های حفاظت شده می توانند یادداشت داشته باشند - Memos can only be used with z-addresses - یادداشت ها تنها می توانند توسط آدرس های حفاظت شده، مورد استفاده قرار گیرند + یادداشت ها تنها می توانند توسط آدرس های حفاظت شده، مورد استفاده قرار گیرند - The memo field can only be used with a z-address. - یادداشت ها تنها می توانند توسط آدرس های حفاظت شده، مورد استفاده قرار گیرند + یادداشت ها تنها می توانند توسط آدرس های حفاظت شده، مورد استفاده قرار گیرند - doesn't look like a z-address - به نظر نمی رسد این یک آدرس حفاظت شده باشد + به نظر نمی رسد این یک آدرس حفاظت شده باشد @@ -883,44 +1151,133 @@ doesn't look like a z-address خطای تراکنش - + + Please wait... ...لطفا منتظر بمانید - + Computing your transaction درحال محاسبه تراکنش شما - + + Done! !انجام شد - + + + Recipient Address آدرس دریافت کننده - + + + You have to select a contact and insert a Memo + + + + + + You have selected no Contact from Contactlist, + + + + + + + +or your Memo is empty + + + + + + Your Message is too long + + + + + + You can only write messages with 235 character maximum + + + + + + + + Please reduce your message to 235 character. + + + + + + Message Error + + + + + + is Invalid صحیح نیست - + + + Amount for address '%1' is invalid! صحیح نمی باشد '%1' این مقدار برای آدرس - + + + + Not enough available funds to send this transaction + +Have: %1 +Need: %2 + +Note: Funds need 1 confirmations before they can be spent + اعتبار برای ارسال این تراکنش کافی نیست + + %1 :دارای + %2 :نیازمند + + توجه: اعتبارات قبل از اینکه بتوانند خرج شوند، نیاز به 5 تاییدیه دارند + {1 +?} {2 +?} {1 ?} + + + + Missing HushChat Address + + + + + You have to create your HushChat address to send a contact request, + + + + + + Your contact request will be sent + + + Not enough available funds to send this transaction Have: %1 Need: %2 Note: Funds need 5 confirmations before they can be spent - اعتبار برای ارسال این تراکنش کافی نیست + اعتبار برای ارسال این تراکنش کافی نیست %1 :دارای %2 :نیازمند @@ -987,9 +1344,13 @@ Note: Funds need 5 confirmations before they can be spent MobileAppConnector - Connect Mobile App - اتصال به برنامه تلفن همراه + اتصال به برنامه تلفن همراه + + + + Mobile Connector App + @@ -1038,6 +1399,14 @@ Note: Funds need 5 confirmations before they can be spent نوع اتصال + + NewOrRestorePage + + + Passphrase don't match or You have entered too few letters (16 minimum) + + + NewSeedForm @@ -1051,7 +1420,7 @@ Note: Funds need 5 confirmations before they can be spent این عبارت بازیابی کیف پول جدید شما است. لطفا با اطمینان از آن پشتیبانی بگیرید - + The seed phrase is the only way to restore the wallet. If you forget the seed phrase, THERE IS NO WAY TO RESTORE YOUR WALLET AND THE FUNDS in it این عبارت بازیابی، تنها راه بازگرداندن کیف پولتان است. اگر این عبارت بازیابی را فراموش کنید، دیگر هیچ راهی برای بازگرداندن کیف پول و اعتبارات درون آن وجود ندارد @@ -1059,17 +1428,17 @@ Note: Funds need 5 confirmations before they can be spent NewSeedPage - + Error creating a wallet خطا در ساختن کیف پول جدید - + Failed to save wallet ذخیره کیف پول ناموفق بود - + Couldn't save the wallet ذخیره کیف پول مقدور نبود @@ -1085,174 +1454,210 @@ Note: Funds need 5 confirmations before they can be spent QObject - + Pick انتخاب - + + + Address or Label Error خطای آدرس یا برچسب - + + + Address or Label cannot be empty آدرس یا برچسب، نمی تواند خالی باشد - + + + Address Format Error خطای قالب آدرس - + + + %1 doesn't seem to be a valid hush address. آدرس هاش صحیحی باشد '%1' به نظر نمی رسد - + Label Error خطای برچسب - + The label '%1' already exists. Please remove the existing label. موجود بوده است. لطفا برچسب موجود را حذف کنید '%1' ِبرچسب - + + + Added Contact + + + + + + successfully added your new contact + + + + Import Address Book وارد کردن دفترچه آدرس - + Unable to open file قادر به بازکردن پرونده نیست - + Address Book Import Done وارد کردن دفترچه آدرس انجام شد - + Imported %1 new Address book entries به دفترچه آدرس، 1% آدرس جدید اضافه شد - + Copy address کپی آدرس - + Copied to clipboard در کلیپ بورد کپی شد - + Delete label حذف برچسب - + Attempting to initialize library with درحال تلاش برای راه‌اندازی کتابخانه با: - + Using existing wallet. استفاده از کیف پول موجود - + Create/restore wallet. ساخت/بازیابی کیف پول - - + + Connection Error خطا در برقراری اتصال - - - + + + + + Transaction Error خطا در تراکنش - + There was an error sending the transaction. The error was: خطایی در ارسال تراکنش رخ داد: - - + + No Connection متصل نیست - There was an error connecting to hushd. The error was - خطایی در اتصال به سرویس هاشد رخ داد: + خطایی در اتصال به سرویس هاشد رخ داد: - + + + - + Tx تراکنش - + + + - + failed ناموفق بود - - + + + + The transaction with id تراکنش با شناسه - - + + + + failed. The error was ناموفق بود - + + There was an error connecting to the server. Please check your internet connection. The error was + + + + Update Available بروزرسانی دردسترس است - + A new release v%1 is available! You have v%2. Would you like to visit the releases page? آیا مایل به بازدید از صفحه انتشار نسخه ها هستید؟ - + No updates available هیچ بروزرسانی ای دردسترس نیست - + You already have the latest release v%1 هستید v%1 شما هم‌اکنون دارای آخرین نسخه - + + Please wait for SilentDragonLite to exit لطفا تا خروج سایلنت دراگون سبک، منتظر بمانید - + + Waiting for hushd to exit لطفا تا خروج سرویس هاشد، منتظر بمانید @@ -1288,7 +1693,7 @@ Would you like to visit the releases page? تمام پرداخت های آینده، لغو می‌شوند - + Tx submitted (right click to copy) txid: تراکنش ارسال شد. برای کپی شناسه تراکنش راست کلیک کنید @@ -1343,9 +1748,13 @@ Would you like to visit the releases page? RecurringDialog - Dialog - گفتگو + گفتگو + + + + Reccuring Dialog + @@ -1399,9 +1808,13 @@ Would you like to visit the releases page? RecurringPayments - Payments - پرداخت ها + پرداخت ها + + + + Reocurring Payments + @@ -1456,9 +1869,13 @@ Would you like to visit the releases page? RecurringPending - Dialog - گفتگو + گفتگو + + + + Recurring Multiple Payments + @@ -1524,57 +1941,57 @@ Would you like to visit the releases page? درخواست پرداخت - + AddressBook دفترچه آدرس - + Request From درخواست از - + My Address آدرس من - + Amount in مقدار - + z address آدرس حفاظت شده - + Amount مقدار - + The recipient will see this address in the "to" field when they pay your request. در هنگام پرداخت درخواست شما خواهد دید "به"دریافت کننده، این آدرس را در قسمت - + Amount USD USD مقدار - + Memo یادداشت - + TextLabel برچسب متن - + Request payment from a Sapling address. You'll send a hush 0.0001 transaction to the address with a hush payment URI. The memo will be included in the transaction when the address pays you. درخواست پرداخت از یک آدرس سپلینگ. شما 0.0001 هاش به آن آدرس با یو-آر-آی پرداخت هاش ارسال خواهید کرد @@ -1612,9 +2029,13 @@ Would you like to visit the releases page? RestoreSeedForm - Form - ساخت/بازیابی کیف پول + ساخت/بازیابی کیف پول + + + + Restore Wallet Seed + @@ -1645,38 +2066,38 @@ Would you like to visit the releases page? RestoreSeedPage - - + + Failed to restore wallet بازیابی کیف پول ناموفق بود - + SilentDragonLite needs 24 words to restore wallet سایلنت دراگون سبک برای بازیابی کیف پول، به 24 کلمه نیاز دارد - + Failed to parse wallet birthday تجزیه روز تولد کیف پول ناموفق بود - + Couldn't understand wallet birthday. This should be a block height from where to rescan the wallet. You can leave it as '0' if you don't know what it should be. نمی توان این روز تولد کیف پول را فهمید. این باید ارتفاع بلوکی باشد که از آنجا شروع به بررسی شود. اگر نمی دانید، می توانید آن را 0 قرار دهید - + Couldn't restore the wallet نتوانست کیف پول را بازیابی کند - + Failed to save wallet ذخیره کیف پول ناموفق بود - + Couldn't save the wallet نتوانست کیف پول را ذخیره کند @@ -1684,122 +2105,143 @@ Would you like to visit the releases page? Settings - + Settings تنظیمات - + Connection اتصال - + Lightwallet Server سرور کیف پول سبک - + Options گزینه ها - default - پیش فرض + پیش فرض - blue - آبی + آبی - light - روشن + روشن - dark - تاریک + تاریک + + + + Dark + + + + + Midnight + + + + + Light + - + + Blue + + + + + Default + + + + Fetch hush prices Hush جمع آوری نرخ های - + Check github for updates at startup بررسی گیت هاب برای بروزرسانی ها در هنگام راه‌اندازی - + Connect to github on startup to check for updates اتصال به گیت هاب در هنگام راه‌اندازی، برای بررسی بروزرسانی ها - + Theme پوسته - + Connect to the internet to fetch hush prices Hushاتصال به اینترنت برای جمع‌آوری نرخ های - + Currency واحد پول - + AUD AUD - + BTC BTC - + CAD CAD - + CHF CHF - + CNY CNY - + EUR EUR - + GBP GBP - + INR INR - + RUB RUB - + USD USD @@ -1846,27 +2288,116 @@ Would you like to visit the releases page? دفترچه آدرس - + Add New Address اضافه کردن آدرس جدید - + Address (z-Addr or t-Addr) آدرس عمومی/حفاظت شده - + + <html><head/><body><p>Nickname :</p></body></html> + + + + + HushChat Address - give this Address only to your contact + + + + + <html><head/><body><p>Conversation ID:</p></body></html> + + + + + SDLogo + + + + + Duke + + + + + Denio + + + + + Berg + + + + + Sharpee + + + + + Elsa + + + + + Yoda + + + + + Garflied + + + + + Snoopy + + + + + Popey + + + + + Pinguin + + + + + Mickey + + + + + Stag + + + + + <html><head/><body><p>Avatar :</p></body></html> + + + + + Create a new HushChat zaddr + + + Label - برچسب + برچسب - + Add to Address Book اضافه به دفترچه آدرس - + Import Address Book وارد کردن دفترچه آدرس @@ -1963,32 +2494,148 @@ Would you like to visit the releases page? + + deposithush + + + Deposit Hush + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Ubuntu'; font-size:16pt;">Please use the following hush address to transfer funds to SilentDragonLite. You can either copy the address or use the QR Code. </span></p></body></html> + + + + + <html><head/><body><p align="center">QR Code of your Hush Address</p></body></html> + + + + + <html><head/><body><p align="center"><span style=" text-decoration: underline;">Your Hush Address </span></p></body></html> + + + + + Hush zaddr + + + + + Copy Address + کپی آدرس + + encryptionDialog - + Encrypt Your Wallet رمزنگاری کیف پول شما - + + Encryption Passphrase: + + + + + <html><head/><body><p><span style=" font-size:14pt; color:#ef2929;">WARNING:</span> If you forget your passphrase, the only way to recover the wallet is from the seed phrase. If you don't have a backup of your seed phrase, please do it now!</p></body></html> + + + + + Confirm Passphrase: + + + + + <html><head/><body><p><span style=" font-style:italic;">Passphrase don't match</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-style:italic;">16 letters minimum</span></p></body></html> + + + Encryption Password: - رمزعبور رمزنگاری: + رمزعبور رمزنگاری: - Confirm Password: - تایید رمز عبور + تایید رمز عبور - Passwords don't match - رمزعبور همخوانی ندارد + رمزعبور همخوانی ندارد - WARNING: If you forget your password, the only way to recover the wallet is from the seed phrase. - هشدار: اگر شما رمزعبورتان را فراموش کنید، تنها راه بازیابی کیف پول، استفاده از عبارت بازیابی است + هشدار: اگر شما رمزعبورتان را فراموش کنید، تنها راه بازیابی کیف پول، استفاده از عبارت بازیابی است + + + + hushrequest + + + Request Payment + + + + + TextLabel + برچسب متن + + + + Request payment from a Sapling address. You'll send a hush 0.0001 transaction to the address with a hush payment URI. The memo will be included in the transaction when the address pays you. + درخواست پرداخت از یک آدرس سپلینگ. شما 0.0001 هاش به آن آدرس با یو-آر-آی پرداخت هاش ارسال خواهید کرد + + + + Request From + درخواست از + + + + zaddr + + + + + Amount in + مقدار + + + + Amount + مقدار + + + + Amount USD + USD مقدار + + + + Memo + یادداشت + + + + My Address + آدرس من + + + + The recipient will see this address in the "to" field when they pay your request. + در هنگام پرداخت درخواست شما خواهد دید "به"دریافت کننده، این آدرس را در قسمت @@ -2039,4 +2686,178 @@ Would you like to visit the releases page? تعداد پرداخت ها + + removeencryption + + + Decrypt Your Wallet + + + + + <html><head/><body><p><span style=" font-size:14pt; color:#ef2929;">WARNING:</span> If you remove your wallet.dat encryption, all your transactions and contacts are plaintext on disk!<br/><br/>Messages sent and received are always encrypted.</p></body></html> + + + + + <html><head/><body><p><span style=" font-style:italic;">16 letters minimum</span></p></body></html> + + + + + Encryption Passphrase: + + + + + Confirm Passphrase: + + + + + <html><head/><body><p><span style=" font-style:italic;">Passphrase don't match</span></p></body></html> + + + + + requestDialog + + + Incoming Contact Request + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Memo of the request</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Open requests</span></p></body></html> + + + + + Request from: + + + + + Add New Contact + + + + + <html><head/><body><p>Choose an avatar for your contact:</p></body></html> + + + + + My Zaddr: + + + + + Cancel + انصراف + + + + SDLogo + + + + + Duke + + + + + Denio + + + + + Berg + + + + + Sharpee + + + + + Elsa + + + + + Yoda + + + + + Garfield + + + + + Snoopy + + + + + Popey + + + + + Pinguin + + + + + Mickey + + + + + Stag + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Recently closed requests</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Details of the request</span></p></body></html> + + + + + Give a Nickname: + + + + + startup + + + SDL Startup Decryption + + + + + <html><head/><body><p>If you have forgotten your passphrase, restore your wallet with your seed!</p></body></html> + + + + + Encryption Passphrase: + + + diff --git a/res/silentdragonlite_fr.ts b/res/silentdragonlite_fr.ts index b874a16..8bc8d92 100644 --- a/res/silentdragonlite_fr.ts +++ b/res/silentdragonlite_fr.ts @@ -4,29 +4,80 @@ AddressBookModel - + Label Nom - + Address Adresse + + + Avatar + + + + + HushChatAddress + + + + + CID + + BalancesTableModel - + Address Adresse - + Amount Montant + + ChatBubbleMe + + + Form + + + + + Lorem ipsum dolor sit amet + + + + + 12/03/2020 12:34 + 12/03/2020 12:34 + + + + ChatBubblePartner + + + Form + + + + + Lorem ipsum dolor sit amet + + + + + 12/03/2020 12:34 + 12/03/2020 12:34 + + ConnectionDialog @@ -34,43 +85,47 @@ silentdragon - + SilentDragonLite SilentDragonLite - + + The Dragon Awakens... + + + Starting Up - Démarrage + Démarrage Controller - + Wallet Password Mot de passe du wallet - + Your wallet is encrypted. Please enter your wallet password Votre portefeuille est crypté. Veuillez entrer le mot de passe du wallet - - + + Wallet Decryption Failed Échec du déchiffrement du portefeuille - + Please enter a valid password Veuillez entrer un mot de passe valide - + Failed to unlock wallet Impossible de déverrouiller le wallet @@ -78,31 +133,187 @@ Veuillez entrer le mot de passe du wallet CreateWalletForm - Form - Création / Restauration d'un wallet + Création / Restauration d'un wallet + + + + Create New SDL Wallet + + + + + Confirm Passphrase: + - + Restore wallet from seed Restaurer le wallet de la phrase clé (graine) - + Restore an existing wallet, using the 24-word seed. Restaurez un wallet existant à l'aide de la phrase clé de 24 mots. - + + Create a new wallet + + + + + Encryption Passphrase: + + + + + <html><head/><body><p><span style=" font-style:italic;">Passphrase don't match</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-style:italic;">16 letters minimum</span></p></body></html> + + + Create a new Wallet - Créer un nouveau wallet + Créer un nouveau wallet - + Create a new wallet with a randomly generated seed. Créer un nouveau wallet avec une graine générée aléatoirement. + + Dialog + + + Send Contact Request + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert a nickname for your contact:</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Choose an avatar for your contact:</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert a memo for your request:</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Your HushChat Address:</span></p></body></html> + + + + + Create New Address + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert the address of your contact:</span></p></body></html> + + + + + <html><head/><body><p><span style=" color:#d3d7cf;">Generate your HushChat Address - please wait a second - </span></p></body></html> + + + + + SDLogo + + + + + Duke + + + + + Denio + + + + + Berg + + + + + Stag + + + + + Sharpee + + + + + Elsa + + + + + Yoda + + + + + Garfield + + + + + Snoopy + + + + + Popey + + + + + Pinguin + + + + + Mickey + + + + + 0/512 + 0/512 + + + + Add a memo to your request + + + + + Cancel + Annuler + + + + Add Contact and Send Request + + + MainWindow @@ -110,57 +321,57 @@ Veuillez entrer le mot de passe du wallet silentdragon - + Balance Solde - + Summary Résumé - + Shielded Privé - + Notarized Notarizé - + Transparent Transparant - + Total Total - + Your node is still syncing, balances may not be updated. Votre nœud est toujours en cours de synchronisation, les soldes peuvent ne pas être mis à jour. - + Some transactions are not yet confirmed. Balances may change. Certaines transactions ne sont pas encore confirmées. Les soldes peuvent changer. - + Total notarized funds available: Total des fonds notariés disponibles: - + Next Address - + Your node is still syncing, balances may not be updated Votre nœud est toujours en cours de synchronisation, les soldes peuvent ne pas être mis à jour @@ -169,13 +380,13 @@ Veuillez entrer le mot de passe du wallet Certaines transactions ne sont pas encore confirmées - + Address Balances Solde des adresses - - + + Send Envoyer @@ -188,226 +399,268 @@ Veuillez entrer le mot de passe du wallet Solde de l'adresse - + Send To Envoyer à - + Recipient Destinataire - - - + + + Address Adresse - + Address Book Carnet d'adresses - - + + Amount Montant - + Max Available Maximum disponible - - - + + + Memo Mémo - + Add Recipient Ajouter un destinataire - Recurring payment - Paiement récurrent + Paiement récurrent - Every month, starting 12-May-2012, for 6 payments - Chaque mois, à partir du 12 mai 2012, pour 6 paiements + Chaque mois, à partir du 12 mai 2012, pour 6 paiements - Edit Schedule - Modifier la programmation + Modifier la programmation - + Miner Fee I replaced this with "transaction fee" which sounds much better in French.. I hope it's correct too.. Frais de transaction - + 0 0 - + Cancel Annuler - + Receive Recevoir - + Address Type Type d'adresse - + Version hushlightd - + &Send DenioD Feedback &amp;Envoyer des commentaires à DenioD - + &Export seed phrase &amp;Exporter la phrase clé (graine) - + Encrypt Wallet Chiffrer le portefeuille - + Remove Wallet Encryption Supprimer le chiffrement de portefeuille - + Rescan Re-scanner - + &Hush Discord &amp;Discord Hush - + SilentDragonLite SilentDragonLite - + + Deposit Hush + + + + Information about Hush - + <html><head/><body><p align="center"><span style=" font-weight:600;">Hush Blockchain Information</span></p></body></html> - - - - - - - - - - - - + + + + + + + + + + + + <html><head/><body><p align="center">|</p></body></html> - + Next Halving - + Difficulty - + Last Notarized Block - + Total Supply - + Longestchain - + BlockHeight Hauteur du block - + Supply zAddr - + Supply tAddr - + <html><head/><body><p align="center"><span style=" font-weight:600;">Hush Market Information</span></p></body></html> - + Market Cap - + Volume on Exchanges - + <html><head/><body><p align="center">This is a Lightwallet, you cant mine with it!</p></body></html> Ceci est un Lightwallet, vous ne pouvez pas miner avec cette application ! - + + HushChat + + + + + Incoming contact request + + + + + Add a new contact + + + + + Get a new Address + + + + + <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Contactlist</span></p></body></html> + + + + + <html><head/><body><p align="center"><span style=" font-weight:600;">Contact Name :</span></p></body></html> + + + + + <html><head/><body><p align="center"><br/></p></body></html> + + + + + The locks shows you the status of the message. Red lock = unconfirmed, green lock = min. 1 confirmations, orange lock = message is notarized + + + + &Hush Website &Site Internet Hush @@ -416,7 +669,7 @@ Veuillez entrer le mot de passe du wallet Adresse-z(Sapling) - + t-Addr Adresse-t @@ -429,28 +682,28 @@ Veuillez entrer le mot de passe du wallet Nouvelle Adresse - + Label Etiquette - + Update Label Mettre à jour l'étiquette - + Address balance Solde de l'adresse - + Optional Optionnel - - + + Export Private Key Exporter la clef privée @@ -459,17 +712,17 @@ Veuillez entrer le mot de passe du wallet Adresse utilisée - + z-Addr z-Add - + View All Addresses Voir toutes les adresses - + Transactions Transactions @@ -482,18 +735,18 @@ Veuillez entrer le mot de passe du wallet Vous ne minez pas à présent - - - - - - - - - - - - + + + + + + + + + + + + Loading... Chargement... @@ -506,7 +759,7 @@ Veuillez entrer le mot de passe du wallet Taux de solution du réseau - + Vendor Connections @@ -515,42 +768,42 @@ Veuillez entrer le mot de passe du wallet | - + &File &Fichier - + &Help &Aide - + &Apps &Applications - + &Edit &Edition - + E&xit Q&uiter - + &About &À propos - + &Settings &Préférences - + Ctrl+P Ctrl+P @@ -559,7 +812,7 @@ Veuillez entrer le mot de passe du wallet &Faire un don - + Check github.com for &updates Vérifier &github.com pour des mises à jour @@ -576,7 +829,7 @@ Veuillez entrer le mot de passe du wallet &Importer une clef privée - + &Export all private keys &Exporter toutes les clefs privées @@ -589,12 +842,12 @@ Veuillez entrer le mot de passe du wallet Ctrl+A, Ctrl+Z - + Address &book Carnet &d'adresse - + Ctrl+B Ctrl+B @@ -603,38 +856,38 @@ Veuillez entrer le mot de passe du wallet &Sauvegarder "wallet.dat" - - + + Export transactions Exporter les transactions - + Pay hush &URI... Payer une &URI Hush... - + Connect mobile &app Connexion à l'&application Mobile - + Ctrl+M Ctrl+M - + &Recurring Payments &Paiements récurrents - + Request hush... Demande de Hush... - + File a bug... Déclarer un bug ... @@ -691,12 +944,12 @@ Veuillez entrer le mot de passe du wallet Rescan de l'import de la clef privée achevé - + View tx on block explorer Voir la tx sur l'explorateur de blocs - + Refresh Rafraîchir @@ -705,7 +958,7 @@ Veuillez entrer le mot de passe du wallet Erreur lors du payement du URI hush - + URI should be of the form 'hush:<addr>?amt=x&memo=y Le format URI doit être comme suit: 'hush:<addr>?amt=x&memo=y @@ -730,12 +983,12 @@ Veuillez entrer le mot de passe du wallet Les clef seront importées dans votre noeud hushd connecté - + Error Erreur - + Error exporting transactions, file was not saved Erreur lors de l'exportation des transactions. Le fichier n'a pas été sauvegardé @@ -768,150 +1021,158 @@ Veuillez entrer le mot de passe du wallet Vous devez le sauvegarder manuellement. - + These are all the private keys for all the addresses in your wallet Ce sont toutes les clés privées pour toutes les adresses de votre portefeuille - + Private key for Clef privée pour - - + + Save File Sauvegarder le fichier - Wallet is already encrypted - Votre wallet est maintenant crypté + Votre wallet est maintenant crypté - Your wallet is already encrypted with a password. Please use 'Remove Wallet Encryption' if you want to remove the wallet encryption. - Votre portefeuille est déjà crypté avec un mot de passe. + Votre portefeuille est déjà crypté avec un mot de passe. Veuillez utiliser "Supprimer le chiffrement du wallet" si vous souhaitez supprimer le chiffrement du portefeuille. - + Passwords don't match Les mots de passe ne correspondent pas - Error was: - L'erreur est la suivante : + L'erreur est la suivante : - Wallet Encrypted - wallet crypté + wallet crypté - Your wallet was successfully encrypted! The password will be needed to send funds or export private keys. - Votre portefeuille a été crypté avec succès! Le mot de passe sera nécessaire pour envoyer des fonds ou exporter des clés privées. + Votre portefeuille a été crypté avec succès! Le mot de passe sera nécessaire pour envoyer des fonds ou exporter des clés privées. - - + + Wallet Encryption Failed Échec du chiffrement du wallet - + Wallet is not encrypted Votre wallet n'est pas crypté - Your wallet is not encrypted with a password. - Votre wallet n'est pas crypté avec un mot de passe. + Votre wallet n'est pas crypté avec un mot de passe. - Wallet Password - Mot de passe du wallet + Mot de passe du wallet - Please enter your wallet password - Veuillez entrer votre mot de passe portefeuille + Veuillez entrer votre mot de passe portefeuille - - - Wallet Decryption Failed - Échec du déchiffrement du wallet + Échec du déchiffrement du wallet - Please enter a password to decrypt your wallet! - Veuillez entrer un mot de passe pour décrypter votre wallet! + Veuillez entrer un mot de passe pour décrypter votre wallet! - Wallet Encryption Removed - Cryptage du wallet supprimé + Cryptage du wallet supprimé - Your wallet was successfully decrypted! You will no longer need a password to send funds or export private keys. - Votre portefeuille a été déchiffré avec succès! Vous n'aurez plus besoin d'un mot de passe pour envoyer des fonds ou exporter des clés privées. + Votre portefeuille a été déchiffré avec succès! Vous n'aurez plus besoin d'un mot de passe pour envoyer des fonds ou exporter des clés privées. - - + + Copy block explorer link - + Currency Change Changement de la devise - + This is your wallet seed. Please back it up carefully and safely. Ceci est la graine de wallet. Veuillez le sauvegarder avec soin et en toute sécurité. - - + + Unable to open file mpossible d'ouvrir le fichier - + Error getting private keys Erreur lors de l'obtention des clés privées - + Error loading private keys: Erreur lors du chargement des clés privées: - - + + Copy address Copier l'adresse - - - + + + + Copied to clipboard Copié dans le presse-papier - + + + Wallet Encryption Success + + + + + Your wallet is not encrypted with a passphrase. + + + + + Wallet decryption Success + + + + + You still have plaintext data on your disk! + + + + Get private key Obtenir la clef privée @@ -920,8 +1181,8 @@ Veuillez utiliser "Supprimer le chiffrement du wallet" si vous souhait Rendre privé le solde vers Sapling - - + + View on block explorer Voir dans l'explorateur de block @@ -930,83 +1191,93 @@ Veuillez utiliser "Supprimer le chiffrement du wallet" si vous souhait Migrer vers Sapling - - + + Copy txid Copier l'ID de transaction - + Restart Redémarrer - + Please restart Silentdragonlite to have the theme apply Veuillez redémarrer SilentDragonLite pour aplliqué le thème. - + This change can take a few seconds. - + Some feedback about SilentDragonlite or Hush... Quelques commentaires sur SilentDragonlite ou Hush ... - + or SilentDragonLite ou SilentDragonLite - + Send DenioD some private and shielded feedback about Envoyez à DenioD des commentaires privés et protégés sur - + Paste HUSH URI Coller l'URI Hush - + Error paying HUSH URI Erreur lors du paiement de l'URI Hush - + View Payment Request Afficher la demande de paiement - + View Memo Voir le mémo - + Reply to Répondre à - + + Copied message to clipboard + + + + + Copied Txid to clipboard + + + + Created new t-Addr Nouvelle Adresse-t créée - + Copy Address Copier l'adresse - + Address has been previously used L'adresse a été utilisée précédemment - + Address is unused L'adresse est inutilisée @@ -1021,48 +1292,46 @@ Veuillez utiliser "Supprimer le chiffrement du wallet" si vous souhait Seules les Adresses-z peuvent avoir un mémo - Memos can only be used with z-addresses - Les mémos peuvent seulement être utilisés avec des Adresses-z + Les mémos peuvent seulement être utilisés avec des Adresses-z - The memo field can only be used with a z-address. - Le champs mémo ne peut uniquement être utilisé avec une adresse-z. + Le champs mémo ne peut uniquement être utilisé avec une adresse-z. - doesn't look like a z-address - + Cette adresse ne semble pas être de type adresse-z - + + Please wait... Veuillez patienter... - + Computing your transaction Calcul de votre transaction - + + Done! Terminé! - Not enough available funds to send this transaction Have: %1 Need: %2 Note: Funds need 5 confirmations before they can be spent - Vous n'avez pas assez de fonds disponibles pour envoyer cette transaction + Vous n'avez pas assez de fonds disponibles pour envoyer cette transaction Ont:%1 Besoin:%2 @@ -1105,20 +1374,107 @@ Remarque: Les fonds nécessitent 5 confirmations avant de pouvoir être dépens L'adresse de l'émetteur est invalide - + + + You have to select a contact and insert a Memo + + + + + + You have selected no Contact from Contactlist, + + + + + + + +or your Memo is empty + + + + + + Your Message is too long + + + + + + You can only write messages with 235 character maximum + + + + + + + + Please reduce your message to 235 character. + + + + + + Message Error + + + + + + Recipient Address Adresse du destinataire - + + + is Invalid est invalide - + + + Amount for address '%1' is invalid! Le montant pour l'adresse '%1' est invalide! + + + + + Not enough available funds to send this transaction + +Have: %1 +Need: %2 + +Note: Funds need 1 confirmations before they can be spent + Vous n'avez pas assez de fonds disponibles pour envoyer cette transaction + +Ont:%1 +Besoin:%2 + +Remarque: Les fonds nécessitent 5 confirmations avant de pouvoir être dépensés {1 +?} {2 +?} {1 ?} + + + + Missing HushChat Address + + + + + You have to create your HushChat address to send a contact request, + + + + + + Your contact request will be sent + + Amount '%1' is invalid! Le montant '%1' est invalide. @@ -1182,9 +1538,8 @@ Remarque: Les fonds nécessitent 5 confirmations avant de pouvoir être dépens MobileAppConnector - Connect Mobile App - Connexion à l'application Mobile + Connexion à l'application Mobile @@ -1206,6 +1561,11 @@ Remarque: Les fonds nécessitent 5 confirmations avant de pouvoir être dépens Scan this QRCode from your silentdragon companion app to connect your phone Scannez ce code QR à partir de votre application mobile SilentDragon pour connecter votre téléphone + + + Mobile Connector App + + silentdragon Companion App @@ -1233,6 +1593,14 @@ Remarque: Les fonds nécessitent 5 confirmations avant de pouvoir être dépens Type de connection : + + NewOrRestorePage + + + Passphrase don't match or You have entered too few letters (16 minimum) + + + NewSeedForm @@ -1246,7 +1614,7 @@ Remarque: Les fonds nécessitent 5 confirmations avant de pouvoir être dépens Ceci est la phrase clé de votre nouveau wallet. VEUILLEZ LE GARDER EN TOUTE SECURITE. - + The seed phrase is the only way to restore the wallet. If you forget the seed phrase, THERE IS NO WAY TO RESTORE YOUR WALLET AND THE FUNDS in it La phrase clé (graine) est le seul moyen de restaurer le wallet. Si vous oubliez la phrase clé, IL N'Y A AUCUN MOYEN DE RESTAURER VOTRE WALLET ET LES FONDS @@ -1254,17 +1622,17 @@ Remarque: Les fonds nécessitent 5 confirmations avant de pouvoir être dépens NewSeedPage - + Error creating a wallet Erreur lors de la création du wallet - + Failed to save wallet Échec lors de la sauvvegarde du wallet - + Couldn't save the wallet Impossible d'enregister le wallet @@ -1388,33 +1756,40 @@ Not starting embedded hushd because --no-embedded was passed hushd n'a aucune connexion à un pair - There was an error connecting to hushd. The error was - Une erreur est survenue lors de la connection à hushd. L'erreur est + Une erreur est survenue lors de la connection à hushd. L'erreur est - - + + + + The transaction with id La transaction avec ID - - + + + + failed. The error was a échoué. L'erreur était - + + + - + failed a échoué - + + + - + Tx Tx @@ -1423,12 +1798,17 @@ Not starting embedded hushd because --no-embedded was passed tx en cours de calcul. Ceci peut prendre quelques minutes. - + + There was an error connecting to the server. Please check your internet connection. The error was + + + + Update Available MàJ disponible - + A new release v%1 is available! You have v%2. Would you like to visit the releases page? @@ -1437,17 +1817,18 @@ Would you like to visit the releases page? Voulez-vous visiter la page des nouvelles versions ? - + No updates available Pas de MàJ disponible - + You already have the latest release v%1 Vous utilisez déjà la dernière version v%1 - + + Please wait for SilentDragonLite to exit Merci d'attendre la fermeture de SilentDragonLite @@ -1456,7 +1837,8 @@ Voulez-vous visiter la page des nouvelles versions ? Veuillez patienter. Fermeture de silentdragon en cours - + + Waiting for hushd to exit Attente de la fermeture de hushd @@ -1493,61 +1875,69 @@ Veuillez configurer l'hôte/port et utilisateur/mot de passe dans le menu E Votre hushd est en cours de démarrage. Veuillez patienter. - + Attempting to initialize library with Tentative d’initialisation de la bibliothèque avec - + Using existing wallet. Utiliser le wallet existant. - + Create/restore wallet. Créer / restaurer un wallet. - - + + Connection Error Erreur de connection - - - + + + + + Transaction Error Erreur de transaction - + There was an error sending the transaction. The error was: Une erreur est survenue en envoyant la transaction. L'erreur est: - - + + No Connection Pas de connection - + Pick Choisir - + + + Address or Label Error Erreur dans l'adresse ou le libellé - + + + Address or Label cannot be empty L'adresse ou le libellé ne peuvent pas être vide - + + + Address Format Error Erreur de format d'adresse @@ -1556,57 +1946,71 @@ Veuillez configurer l'hôte/port et utilisateur/mot de passe dans le menu E ne semble pas être une adresse hush valide. - + + + %1 doesn't seem to be a valid hush address. %1 ne semble pas être une adresse Hush valide. - + Label Error Erreur sur le libellé - + The label '%1' already exists. Please remove the existing label. Le libellé '%1' existe déjà. Veuillez supprimer l'étiquette existante. - + + + Added Contact + + + + + + successfully added your new contact + + + + Import Address Book Importer le carnet d'adresses - + Unable to open file Impossible d'ouvrir le fichier - + Address Book Import Done Import du carnet d'adresses terminé - + Imported %1 new Address book entries %1 nouvelle(s) entrée(s) importée(s) dans le carnet d'adresses - + Copy address Copier l'adresse - + Copied to clipboard Copiée dans le presse papier - + Delete label Effacer l'étiquette - + Tx submitted (right click to copy) txid: Tx soumise. (clic droit pour copier) txid: @@ -1706,9 +2110,13 @@ Vous avez soit des fonds non confirmés soit le solde est trop petit pour une mi RecurringDialog - Dialog - Dialogue + Dialogue + + + + Reccuring Dialog + @@ -1762,9 +2170,13 @@ Vous avez soit des fonds non confirmés soit le solde est trop petit pour une mi RecurringPayments - Payments - Paiements + Paiements + + + + Reocurring Payments + @@ -1819,9 +2231,13 @@ Vous avez soit des fonds non confirmés soit le solde est trop petit pour une mi RecurringPending - Dialog - Paiements récurrents + Paiements récurrents + + + + Recurring Multiple Payments + @@ -1887,57 +2303,57 @@ Vous avez soit des fonds non confirmés soit le solde est trop petit pour une mi Demande de paiement - + AddressBook Carnet d'adresses - + Request From Demande de - + My Address Mon adresse - + Amount in Montant en - + z address z address - + Amount Montant - + The recipient will see this address in the "to" field when they pay your request. Le destinataire verra cette adresse dans le champ "à" lorsqu'il paiera votre demande. - + Amount USD Montant en USD - + Memo Mémo - + TextLabel TextLabel - + Request payment from a Sapling address. You'll send a hush 0.0001 transaction to the address with a hush payment URI. The memo will be included in the transaction when the address pays you. Demander le paiement à une adresse de type Sapling. Vous enverrez une transaction de 0.0001 Hush à l'adresse avec un URI de paiement Hush. Le mémo sera inclus dans la transaction lorsque l'adresse vous payera. @@ -1975,9 +2391,13 @@ Vous avez soit des fonds non confirmés soit le solde est trop petit pour une mi RestoreSeedForm - Form - Graine + Graine + + + + Restore Wallet Seed + @@ -2008,38 +2428,38 @@ Vous avez soit des fonds non confirmés soit le solde est trop petit pour une mi RestoreSeedPage - - + + Failed to restore wallet Échec de la restoration du wallet - + SilentDragonLite needs 24 words to restore wallet SilentDragonLite a besoin de 24 mots pour restaurer son wallet - + Failed to parse wallet birthday Impossible d'analyser l'anniversaire du wallet - + Couldn't understand wallet birthday. This should be a block height from where to rescan the wallet. You can leave it as '0' if you don't know what it should be. L'anniversaire du wallet n'est pas reconnue. Cela devrait être une hauteur de bloc à partir de laquelle numériser à nouveau le portefeuille. Vous pouvez laisser «0» si vous ne savez pas ce que cela devrait être. - + Couldn't restore the wallet Impossible de restaurer le wallet - + Failed to save wallet Échec de la sauvegarde du wallet - + Couldn't save the wallet Impossible d'enregister le wallet @@ -2047,7 +2467,7 @@ Vous avez soit des fonds non confirmés soit le solde est trop petit pour une mi Settings - + Settings Paramétres @@ -2072,12 +2492,37 @@ Vous avez soit des fonds non confirmés soit le solde est trop petit pour une mi Mot de passe RPC - + Options Options - + + Dark + + + + + Midnight + + + + + Light + + + + + Blue + + + + + Default + + + + Check github for updates at startup Rechercher les mises à jour sur GitHub au démarrage @@ -2094,107 +2539,103 @@ Vous avez soit des fonds non confirmés soit le solde est trop petit pour une mi Se connecter via Tor - + Connect to github on startup to check for updates Connexion à GitHub au démarragede l'application pour rechercher les mises à jour - + Connect to the internet to fetch hush prices Connexion à Internet pour obtenir des prix de Hush - + Theme Thème - + Lightwallet Server Serveur Lightwallet - default - Standard + Standard - + Connection Connexion - blue - Bleu + Bleu - light - Light + Light - dark - Dark + Dark - + Fetch hush prices Récupérer les prix de Hush - + Currency Devise - + AUD AUD - + BTC BTC - + CAD CAD - + CHF CHF - + CNY CNY - + EUR EUR - + GBP GBP - + INR INR - + RUB RUB - + USD USD @@ -2327,27 +2768,116 @@ Vous avez soit des fonds non confirmés soit le solde est trop petit pour une mi Carnet d'adresses - + Add New Address Ajouter une nouvelle adresse - + Address (z-Addr or t-Addr) Adresse (Adresse-z ou Adresse-t) - + + <html><head/><body><p>Nickname :</p></body></html> + + + + + HushChat Address - give this Address only to your contact + + + + + <html><head/><body><p>Conversation ID:</p></body></html> + + + + + SDLogo + + + + + Duke + + + + + Denio + + + + + Berg + + + + + Sharpee + + + + + Elsa + + + + + Yoda + + + + + Garflied + + + + + Snoopy + + + + + Popey + + + + + Pinguin + + + + + Mickey + + + + + Stag + + + + + <html><head/><body><p>Avatar :</p></body></html> + + + + + Create a new HushChat zaddr + + + Label - Etiquette + Etiquette - + Add to Address Book Ajouter au carnet d'adresse - + Import Address Book Importer de carnet d'adresses @@ -2445,32 +2975,148 @@ Vous avez soit des fonds non confirmés soit le solde est trop petit pour une mi Veuillez noter que vous devez déjà avoir un service Tor configuré sur le port 9050 + + deposithush + + + Deposit Hush + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Ubuntu'; font-size:16pt;">Please use the following hush address to transfer funds to SilentDragonLite. You can either copy the address or use the QR Code. </span></p></body></html> + + + + + <html><head/><body><p align="center">QR Code of your Hush Address</p></body></html> + + + + + <html><head/><body><p align="center"><span style=" text-decoration: underline;">Your Hush Address </span></p></body></html> + + + + + Hush zaddr + + + + + Copy Address + Copier l'adresse + + encryptionDialog - + Encrypt Your Wallet Cryptez votre wallet - + + Encryption Passphrase: + + + + + <html><head/><body><p><span style=" font-size:14pt; color:#ef2929;">WARNING:</span> If you forget your passphrase, the only way to recover the wallet is from the seed phrase. If you don't have a backup of your seed phrase, please do it now!</p></body></html> + + + + + Confirm Passphrase: + + + + + <html><head/><body><p><span style=" font-style:italic;">Passphrase don't match</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-style:italic;">16 letters minimum</span></p></body></html> + + + Encryption Password: - Mot de passe du cryptage: + Mot de passe du cryptage: - Confirm Password: - Confirmez le mot de passe: + Confirmez le mot de passe: - Passwords don't match - Les mots de passe ne correspondent pas + Les mots de passe ne correspondent pas - WARNING: If you forget your password, the only way to recover the wallet is from the seed phrase. - AVERTISSEMENT: Si vous oubliez votre mot de passe, le seul moyen de récupérer le portefeuille consiste à utiliser la phrase clé. + AVERTISSEMENT: Si vous oubliez votre mot de passe, le seul moyen de récupérer le portefeuille consiste à utiliser la phrase clé. + + + + hushrequest + + + Request Payment + + + + + TextLabel + TextLabel + + + + Request payment from a Sapling address. You'll send a hush 0.0001 transaction to the address with a hush payment URI. The memo will be included in the transaction when the address pays you. + Demander le paiement à une adresse de type Sapling. Vous enverrez une transaction de 0.0001 Hush à l'adresse avec un URI de paiement Hush. Le mémo sera inclus dans la transaction lorsque l'adresse vous payera. + + + + Request From + Demande de + + + + zaddr + + + + + Amount in + Montant en + + + + Amount + Montant + + + + Amount USD + Montant en USD + + + + Memo + Mémo + + + + My Address + Mon adresse + + + + The recipient will see this address in the "to" field when they pay your request. + Le destinataire verra cette adresse dans le champ "à" lorsqu'il paiera votre demande. @@ -2521,6 +3167,180 @@ Vous avez soit des fonds non confirmés soit le solde est trop petit pour une mi Mémo + + removeencryption + + + Decrypt Your Wallet + + + + + <html><head/><body><p><span style=" font-size:14pt; color:#ef2929;">WARNING:</span> If you remove your wallet.dat encryption, all your transactions and contacts are plaintext on disk!<br/><br/>Messages sent and received are always encrypted.</p></body></html> + + + + + <html><head/><body><p><span style=" font-style:italic;">16 letters minimum</span></p></body></html> + + + + + Encryption Passphrase: + + + + + Confirm Passphrase: + + + + + <html><head/><body><p><span style=" font-style:italic;">Passphrase don't match</span></p></body></html> + + + + + requestDialog + + + Incoming Contact Request + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Memo of the request</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Open requests</span></p></body></html> + + + + + Request from: + + + + + Add New Contact + + + + + <html><head/><body><p>Choose an avatar for your contact:</p></body></html> + + + + + My Zaddr: + + + + + Cancel + Annuler + + + + SDLogo + + + + + Duke + + + + + Denio + + + + + Berg + + + + + Sharpee + + + + + Elsa + + + + + Yoda + + + + + Garfield + + + + + Snoopy + + + + + Popey + + + + + Pinguin + + + + + Mickey + + + + + Stag + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Recently closed requests</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Details of the request</span></p></body></html> + + + + + Give a Nickname: + + + + + startup + + + SDL Startup Decryption + + + + + <html><head/><body><p>If you have forgotten your passphrase, restore your wallet with your seed!</p></body></html> + + + + + Encryption Passphrase: + + + zboard diff --git a/res/silentdragonlite_hr.ts b/res/silentdragonlite_hr.ts index 2113af1..430ec6f 100644 --- a/res/silentdragonlite_hr.ts +++ b/res/silentdragonlite_hr.ts @@ -4,69 +4,124 @@ AddressBookModel - + Label Oznaka - + Address Adresa + + + Avatar + + + + + HushChatAddress + + + + + CID + + BalancesTableModel - + Address Adresa - + Amount Količina + + ChatBubbleMe + + + Form + Od + + + + Lorem ipsum dolor sit amet + + + + + 12/03/2020 12:34 + 12/03/2020 12:34 + + + + ChatBubblePartner + + + Form + Od + + + + Lorem ipsum dolor sit amet + + + + + 12/03/2020 12:34 + 12/03/2020 12:34 + + ConnectionDialog - + SilentDragonLite SilentDragonLite - + + The Dragon Awakens... + + + Starting Up - Početak + Početak Controller - + Wallet Password Lozinka novčanika - + Your wallet is encrypted. Please enter your wallet password Vaš novčanik je šifriran. Molimo unesite vašu lozinku - - + + Wallet Decryption Failed Dešifriranje novčanika neuspjelo - + Please enter a valid password Molimo unesite valjanu lozinku - + Failed to unlock wallet Neuspjeh prilikom otključavanja novčanika @@ -74,284 +129,442 @@ Molimo unesite vašu lozinku CreateWalletForm - Form - Od + Od + + + + Create New SDL Wallet + + + + + Confirm Passphrase: + - + Restore wallet from seed Vraćanje novčanika u početno stanje iz seed riječi - + Restore an existing wallet, using the 24-word seed. Vratite postojeći novčanik u početno stanje koristeći seed od 24 riječi. - + + Create a new wallet + + + + + Encryption Passphrase: + + + + + <html><head/><body><p><span style=" font-style:italic;">Passphrase don't match</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-style:italic;">16 letters minimum</span></p></body></html> + + + Create a new Wallet - Napravite novi novčanik + Napravite novi novčanik - + Create a new wallet with a randomly generated seed. Napravite novi novčanik sa nasumice odabranim seed riječima. + + Dialog + + + Send Contact Request + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert a nickname for your contact:</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Choose an avatar for your contact:</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert a memo for your request:</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Your HushChat Address:</span></p></body></html> + + + + + Create New Address + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert the address of your contact:</span></p></body></html> + + + + + <html><head/><body><p><span style=" color:#d3d7cf;">Generate your HushChat Address - please wait a second - </span></p></body></html> + + + + + SDLogo + + + + + Duke + + + + + Denio + + + + + Berg + + + + + Stag + + + + + Sharpee + + + + + Elsa + + + + + Yoda + + + + + Garfield + + + + + Snoopy + + + + + Popey + + + + + Pinguin + + + + + Mickey + + + + + 0/512 + 0/512 + + + + Add a memo to your request + + + + + Cancel + Odustani + + + + Add Contact and Send Request + + + MainWindow - + SilentDragonLite SilentDragonLite - + Balance Saldo - + Summary Sažetak - + Shielded Zaštićeno - + Notarized Potvrđeno - + Transparent Transparentno - + Total Ukupno - + Your node is still syncing, balances may not be updated. Vaš čvor se još uvijek sinkronizira, saldo neće biti ažuriran. - + Some transactions are not yet confirmed. Balances may change. Neke transakcije još nisu potvrđene. Saldo se može promijeniti. - + + Deposit Hush + + + + Address Balances Saldo adrese - - + + Send Šalji - + Total notarized funds available: Ukopna dostupna potvrđena sredstva: - + Send To Pošalji - + Recipient Primatelj - - - + + + Address Adresa - + Address Book Adresar - - + + Amount Količina - + Max Available Max dostupno - - - + + + Memo Poruka (memo) - + Add Recipient Dodaj primatelja - Recurring payment - Ponavljajuće plaćanje + Ponavljajuće plaćanje - Every month, starting 12-May-2012, for 6 payments - Svaki mjesec s početkom 12-Svibnja-2012, u 6 rata + Svaki mjesec s početkom 12-Svibnja-2012, u 6 rata - Edit Schedule - Uredi raspored + Uredi raspored - + Miner Fee Naknada za rudarenje - + 0 0 - + Cancel Odustani - + Receive Primiti - + Address Type Vrsta adrese - + z-Addr z-Adr - + t-Addr t-adr - + Next Address - + Information about Hush - + <html><head/><body><p align="center"><span style=" font-weight:600;">Hush Blockchain Information</span></p></body></html> - - - - - - - - - - - - + + + + + + + + + + + + <html><head/><body><p align="center">|</p></body></html> - + Next Halving - + Difficulty - + Last Notarized Block - + Total Supply - + Longestchain - + BlockHeight - + Supply zAddr - + Supply tAddr - + <html><head/><body><p align="center"><span style=" font-weight:600;">Hush Market Information</span></p></body></html> - + Market Cap - + Volume on Exchanges - + <html><head/><body><p align="center">This is a Lightwallet, you cant mine with it!</p></body></html> @@ -360,43 +573,43 @@ Molimo unesite vašu lozinku Nova adresa - + View All Addresses Pogledaj sve adrese - + Label Oznaka - + Update Label Ažuriraj oznaku - + Address balance Saldo na adresi - + Optional Opcionalno - - + + Export Private Key Izvoz privatnog ključa - + Your node is still syncing, balances may not be updated Vaš čvor se još uvijek sinkronizira, saldo neće biti ažuriran - + Transactions Transakcije @@ -409,18 +622,18 @@ Molimo unesite vašu lozinku Ovo je LaganiNovčanik, s njim ne možete rudariti! - - - - - - - - - - - - + + + + + + + + + + + + Loading... Učitavanje... @@ -429,12 +642,12 @@ Molimo unesite vašu lozinku visinaBloka - + Version hushlightd Verzija hushlightd - + Vendor Prodavač @@ -444,251 +657,277 @@ Molimo unesite vašu lozinku + HushChat + + + + + Incoming contact request + + + + + Add a new contact + + + + + Get a new Address + + + + + <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Contactlist</span></p></body></html> + + + + + <html><head/><body><p align="center"><span style=" font-weight:600;">Contact Name :</span></p></body></html> + + + + + <html><head/><body><p align="center"><br/></p></body></html> + + + + + The locks shows you the status of the message. Red lock = unconfirmed, green lock = min. 1 confirmations, orange lock = message is notarized + + + + &File &Datoteka - + &Help &Pomoć - + &Apps &Apps - + &Edit &Uredi - + E&xit &Izlaz - + &About &O - + &Settings &Postavke - + Ctrl+P Ctrl+P - + &Send DenioD Feedback &Pošalji DenioD povratne informacije - + &Hush Discord &Hush Discord - + &Hush Website &Hush Web stranica - + Check github.com for &updates Provjeri na github.com &dopune - + &Export all private keys &Izvoz svih privatnih ključeva - + Address &book Adresna &knjiga - + Ctrl+B Ctrl+B - + &Export seed phrase &Izvoz seed fraze - - + + Export transactions Izvoz transakcija - + Pay hush &URI... Plati hush &URI... - + Connect mobile &app Spoji mobilnu &app - + Ctrl+M Ctrl+M - + &Recurring Payments &Ponavljajuća plaćanja - + Request hush... Zatraži hush... - + File a bug... Prijavi grešku... - + Encrypt Wallet Šifriraj novčanik - + Remove Wallet Encryption Uklonite šifriranje novčanika - + Rescan Rescan - Wallet is already encrypted - Novčanik je već šifriran + Novčanik je već šifriran - Your wallet is already encrypted with a password. Please use 'Remove Wallet Encryption' if you want to remove the wallet encryption. - Vaš novčanik je već šifriran lozinkom. + Vaš novčanik je već šifriran lozinkom. Molimo koristite 'Uklonite šifriranje novčanika' ako želite ukloniti šifriranje novčanika. - + Passwords don't match Lozinke se ne podudaraju - Error was: - Greška je : + Greška je : - Wallet Encrypted - Novčanik šifriran + Novčanik šifriran - Your wallet was successfully encrypted! The password will be needed to send funds or export private keys. - Vaš novčanik je uspješno šifriran! Lozinka će vam trebati za slanje sredstava ili za izvoz privatnih ključeva. + Vaš novčanik je uspješno šifriran! Lozinka će vam trebati za slanje sredstava ili za izvoz privatnih ključeva. - - + + Wallet Encryption Failed Šifriranje novčanika neuspjelo - + Wallet is not encrypted Novčanik nije šifriran - Your wallet is not encrypted with a password. - Vaš novčanik nije šifriran sa lozinkom. + Vaš novčanik nije šifriran sa lozinkom. - Wallet Password - Lozinka novčanika + Lozinka novčanika - Please enter your wallet password - Molimo unesite lozinku novčanika + Molimo unesite lozinku novčanika - - - Wallet Decryption Failed - Dešifriranje novčanika neuspjelo + Dešifriranje novčanika neuspjelo - Please enter a password to decrypt your wallet! - Molimo unesite lozinku za dešifriranje novčanika! + Molimo unesite lozinku za dešifriranje novčanika! - Wallet Encryption Removed - Šifriranje novčanika uklonjeno + Šifriranje novčanika uklonjeno - Your wallet was successfully decrypted! You will no longer need a password to send funds or export private keys. - Vaš novčanik je uspješno dešifriran! Lozinka vam više neće trebati za slanje sredstava ili za izvoz privatnih ključeva. + Vaš novčanik je uspješno dešifriran! Lozinka vam više neće trebati za slanje sredstava ili za izvoz privatnih ključeva. - - + + Copy txid Kopitajte txid - - + + Copy block explorer link - + View tx on block explorer Pogledaj tx na blok pregledniku - + Refresh Osvježi - + Restart Ponovno pokreni - + Please restart Silentdragonlite to have the theme apply Molimo ponovno pokrenite SilentDragonLite ako želite primjeniti temu - + Currency Change Razmjena valuta @@ -697,12 +936,12 @@ Molimo koristite 'Uklonite šifriranje novčanika' ako želite uklonit Molimo ponovno pokrenite SilentDragonLite ako želite primjeniti novu valutu - + This change can take a few seconds. - + Some feedback about SilentDragonlite or Hush... Neke povratne informaciej o SilentDragonLite ili Hush... @@ -711,133 +950,165 @@ Molimo koristite 'Uklonite šifriranje novčanika' ako želite uklonit Pošaljite Duke neku privatnu i zaštićenu povratnu informaciju - + or SilentDragonLite ili SilentDragonLite - + Send DenioD some private and shielded feedback about - + Paste HUSH URI Zalijepi HUSH URI - + Error paying HUSH URI Greška u plaćanju HUSH URI - + URI should be of the form 'hush:<addr>?amt=x&memo=y URI treba biti formata 'hush:<addr>?amt=x&memo=y - + Error Greška - + Error exporting transactions, file was not saved Greška prilikom izvoza transakcija, datoteka nije spremljena - + This is your wallet seed. Please back it up carefully and safely. Ovo je vaš seed novčanika. Molimo izradite sigurnosnu kopiju. - - + + Save File Spremi datoteku - - + + Unable to open file Nije moguće otvoriti datoteku - + Error getting private keys Greška u dohvaćanju privatnih ključeva - + Error loading private keys: Greška prilikom učitavanja privatnog ključa: - + These are all the private keys for all the addresses in your wallet Ovo su svi privatni ključevi svih adresa u vašem novčaniku - + Private key for Privatni ključ za - - + + Copy address Kopirajte adresu - - - + + + + Copied to clipboard Kopirano u mađuspremnik - + + + Wallet Encryption Success + + + + + Your wallet is not encrypted with a passphrase. + + + + + Wallet decryption Success + + + + + You still have plaintext data on your disk! + + + + Get private key Dobavi privatni ključ - - + + View on block explorer Pogledaj na blok pregledniku - + View Payment Request Pogledajte zahtjev o plaćanju - + View Memo Pogledajte poruku (memo) - + Reply to Odgovorite - + + Copied message to clipboard + + + + + Copied Txid to clipboard + + + + Created new t-Addr Napravljena je nova transparentna adresa - + Copy Address Kopirajte adresu - + Address has been previously used Adresa je već korištena - + Address is unused Adresa nije korištena @@ -862,22 +1133,19 @@ Molimo koristite 'Uklonite šifriranje novčanika' ako želite uklonit Samo z-adrese mogu imati poruke - Memos can only be used with z-addresses - Poruke se mogu koristiti samo sa z-adresama + Poruke se mogu koristiti samo sa z-adresama - The memo field can only be used with a z-address. - Prostor za poruku se može koristiti samo sa z-adresom. + Prostor za poruku se može koristiti samo sa z-adresom. - doesn't look like a z-address - + ne izgleda kao z-adresa @@ -886,44 +1154,132 @@ ne izgleda kao z-adresa Greška u transakciji - + + Please wait... Molimo pričekajte... - + Computing your transaction Računamo vašu transakciju - + + Done! Gotovo! - + + + Recipient Address Adresa primatelja - + + + You have to select a contact and insert a Memo + + + + + + You have selected no Contact from Contactlist, + + + + + + + +or your Memo is empty + + + + + + Your Message is too long + + + + + + You can only write messages with 235 character maximum + + + + + + + + Please reduce your message to 235 character. + + + + + + Message Error + + + + + + is Invalid je neispravna - + + + Amount for address '%1' is invalid! Količina za adresu '%1' je nevaljala! - + + + + Not enough available funds to send this transaction + +Have: %1 +Need: %2 + +Note: Funds need 1 confirmations before they can be spent + Nema dovoljno dostupnih sredstava za slanje transakcije + +Imate: %1 +Trebate: %2 + +Opaska: Za trošenje sredstava potrebno je 5 konfirmacija {1 +?} {2 +?} {1 ?} + + + + Missing HushChat Address + + + + + You have to create your HushChat address to send a contact request, + + + + + + Your contact request will be sent + + + Not enough available funds to send this transaction Have: %1 Need: %2 Note: Funds need 5 confirmations before they can be spent - Nema dovoljno dostupnih sredstava za slanje transakcije + Nema dovoljno dostupnih sredstava za slanje transakcije Imate: %1 Trebate: %2 @@ -989,9 +1345,13 @@ Opaska: Za trošenje sredstava potrebno je 5 konfirmacija MobileAppConnector - Connect Mobile App - Spojite mobilnu applikaciju + Spojite mobilnu applikaciju + + + + Mobile Connector App + @@ -1040,6 +1400,14 @@ Opaska: Za trošenje sredstava potrebno je 5 konfirmacija Vrsta veze: + + NewOrRestorePage + + + Passphrase don't match or You have entered too few letters (16 minimum) + + + NewSeedForm @@ -1053,7 +1421,7 @@ Opaska: Za trošenje sredstava potrebno je 5 konfirmacija Ovo je vaša nova seed fraza novčanika. MOLIMO SIGURNO JU SPREMITE. - + The seed phrase is the only way to restore the wallet. If you forget the seed phrase, THERE IS NO WAY TO RESTORE YOUR WALLET AND THE FUNDS in it Jedino je pomoću seed fraze moguće ponovno obnoviti novčanik. Ako zaboravite seed frazu, NE POSTOJI NAČIN DA PONOVNO OBNOVITE NOVČANIK I SREDSTVA unutra @@ -1061,17 +1429,17 @@ Opaska: Za trošenje sredstava potrebno je 5 konfirmacija NewSeedPage - + Error creating a wallet Greška u kreiranju novčanika - + Failed to save wallet Neuspjelo spremanje novčanika - + Couldn't save the wallet Ne mogu spremiti novčanik @@ -1087,152 +1455,186 @@ Opaska: Za trošenje sredstava potrebno je 5 konfirmacija QObject - + Pick Odaberite - + + + Address or Label Error Greška u adresi ili oznaci - + + + Address or Label cannot be empty Adresa ili oznaka ne može biti prazno - + + + Address Format Error Greška u formatu adrese - + + + %1 doesn't seem to be a valid hush address. %1 čini se da nije valjana hush adresa. - + Label Error Greška oznake - + The label '%1' already exists. Please remove the existing label. Oznaka %1 već postoji.Molimo uklonite postojeću adresu. - + + + Added Contact + + + + + + successfully added your new contact + + + + Import Address Book Uvezite adresar - + Unable to open file Nije moguće otvoriti datoteku - + Address Book Import Done Završen unos adresara - + Imported %1 new Address book entries Uvezeno %1 novih adresa - + Copy address Kopirajte adresu - + Copied to clipboard Kopirano u mađuspremnik - + Delete label Izbrišite oznaku - + Attempting to initialize library with Poušavam pokrenuti zbirku sa - + Using existing wallet. Koristim postojeći novčanik. - + Create/restore wallet. Napravi/obnovi novčanik. - - + + Connection Error Greška sa vezom - - - + + + + + Transaction Error Greška u transakciji - + There was an error sending the transaction. The error was: Pojavila se greška prilikom slanja transakcije. Greška je: - - + + No Connection Nema veze - There was an error connecting to hushd. The error was - Pojavila se greška prilikom spajanja na hushd. Greška je + Pojavila se greška prilikom spajanja na hushd. Greška je - + + + - + Tx Tx - + + + - + failed neuspjelo - - + + + + The transaction with id Transakcija sa ID - - + + + + failed. The error was nesupjela. Greška je - + + There was an error connecting to the server. Please check your internet connection. The error was + + + + Update Available Dostupno ažuriranje - + A new release v%1 is available! You have v%2. Would you like to visit the releases page? @@ -1241,22 +1643,24 @@ Would you like to visit the releases page? Želite li posjetiti stranicu sa izadnjima? - + No updates available Nema dostupnih ažuriranja - + You already have the latest release v%1 Već imate najnovije izdanje v%1 - + + Please wait for SilentDragonLite to exit Molimo pričekajte da se SilentDragonLite zatvori - + + Waiting for hushd to exit Čekam da hushd završi @@ -1292,7 +1696,7 @@ Would you like to visit the releases page? Sva buduća plaćanja će biti otkazana. - + Tx submitted (right click to copy) txid: Tx poslan (desni klik za kopiranje) txid: @@ -1347,9 +1751,13 @@ Would you like to visit the releases page? RecurringDialog - Dialog - Dialog + Dialog + + + + Reccuring Dialog + @@ -1403,9 +1811,13 @@ Would you like to visit the releases page? RecurringPayments - Payments - Plaćanja + Plaćanja + + + + Reocurring Payments + @@ -1460,9 +1872,13 @@ Would you like to visit the releases page? RecurringPending - Dialog - Dialog + Dialog + + + + Recurring Multiple Payments + @@ -1528,57 +1944,57 @@ Would you like to visit the releases page? Zahtjev o plaćanju - + AddressBook Adresar - + Request From Zatraži od - + My Address Moja adresa - + Amount in Količina u - + z address z adresa - + Amount Količina - + The recipient will see this address in the "to" field when they pay your request. Primatelj će prilikom plaćanja vidjeti ovu adresu u "za" polju. - + Amount USD Količina USD - + Memo Poruka (memo) - + TextLabel TekstOznaka - + Request payment from a Sapling address. You'll send a hush 0.0001 transaction to the address with a hush payment URI. The memo will be included in the transaction when the address pays you. Zatraži plaćanje iz sapling adrese. Poslat ćete 0.0001 husha transakciju na adresu sa hush URI nalogom. Poruka (memo) će biti uključena u transakciji kada vas adresa plati. @@ -1616,9 +2032,13 @@ Would you like to visit the releases page? RestoreSeedForm - Form - Od + Od + + + + Restore Wallet Seed + @@ -1649,38 +2069,38 @@ Would you like to visit the releases page? RestoreSeedPage - - + + Failed to restore wallet Neuspjelo obnavljanje novčanika - + SilentDragonLite needs 24 words to restore wallet SilentDragonLite treba 24 riječi za obnovu novčanika - + Failed to parse wallet birthday Neuspjelo očitanje rođendana novčanika - + Couldn't understand wallet birthday. This should be a block height from where to rescan the wallet. You can leave it as '0' if you don't know what it should be. Nisam u mogućnosti razumijeti rođendan novčanika. To bi trebala bi biti visina bloka od koje počinje rescan novčanika. Ako ne znate koja je, možete ostaviti '0'. - + Couldn't restore the wallet Nemoguće obnoviti novčanik - + Failed to save wallet Neuspjeh spremanja novčanika - + Couldn't save the wallet Nemoguće spremiti novčanik @@ -1688,122 +2108,143 @@ Would you like to visit the releases page? Settings - + Settings Postavke - + Connection Veza - + Lightwallet Server Server LaganiNovčanik - + Options Opcije - default - početno + početno - blue - plavo + plavo - light - svijetlo + svijetlo - dark - tamno + tamno + + + + Dark + - + + Midnight + + + + + Light + + + + + Blue + + + + + Default + + + + Fetch hush prices Dohvati hush cijene - + Check github for updates at startup Prilikom pokretanja provjetite ažuriranja na githubu - + Connect to github on startup to check for updates Prilikom pokretanja provjetite ažuriranja na githubu - + Theme Teme - + Connect to the internet to fetch hush prices Spoji se na Internet i dohvati hush cijene - + Currency Valuta - + AUD AUD - + BTC BTC - + CAD CAD - + CHF CHF - + CNY CNY - + EUR EUR - + GBP GBP - + INR INR - + RUB - + USD USD @@ -1850,27 +2291,116 @@ Would you like to visit the releases page? Adresar - + Add New Address Dodaj novu adresu - + Address (z-Addr or t-Addr) Adresa (z-adresa ili t-adresa) - + + <html><head/><body><p>Nickname :</p></body></html> + + + + + HushChat Address - give this Address only to your contact + + + + + <html><head/><body><p>Conversation ID:</p></body></html> + + + + + SDLogo + + + + + Duke + + + + + Denio + + + + + Berg + + + + + Sharpee + + + + + Elsa + + + + + Yoda + + + + + Garflied + + + + + Snoopy + + + + + Popey + + + + + Pinguin + + + + + Mickey + + + + + Stag + + + + + <html><head/><body><p>Avatar :</p></body></html> + + + + + Create a new HushChat zaddr + + + Label - Oznaka + Oznaka - + Add to Address Book Dodaj u adresar - + Import Address Book Uvezite adresar @@ -1964,32 +2494,148 @@ Would you like to visit the releases page? <html><head/><body><p>Preskače najskuplje provjere tokom početnog preuzimanja bloka. <a href="https://docs.silentdragon.co/using-silentdragon/#fastsync"><span style=" text-decoration: underline; color:#0000ff;">Saznaj više</span></a></p></body></html> + + deposithush + + + Deposit Hush + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Ubuntu'; font-size:16pt;">Please use the following hush address to transfer funds to SilentDragonLite. You can either copy the address or use the QR Code. </span></p></body></html> + + + + + <html><head/><body><p align="center">QR Code of your Hush Address</p></body></html> + + + + + <html><head/><body><p align="center"><span style=" text-decoration: underline;">Your Hush Address </span></p></body></html> + + + + + Hush zaddr + + + + + Copy Address + Kopirajte adresu + + encryptionDialog - + Encrypt Your Wallet Šifrirajte vaš novčanik - + + Encryption Passphrase: + + + + + <html><head/><body><p><span style=" font-size:14pt; color:#ef2929;">WARNING:</span> If you forget your passphrase, the only way to recover the wallet is from the seed phrase. If you don't have a backup of your seed phrase, please do it now!</p></body></html> + + + + + Confirm Passphrase: + + + + + <html><head/><body><p><span style=" font-style:italic;">Passphrase don't match</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-style:italic;">16 letters minimum</span></p></body></html> + + + Encryption Password: - Lozinka šifriranja: + Lozinka šifriranja: - Confirm Password: - Potvrdite lozinku: + Potvrdite lozinku: - Passwords don't match - Lozinke se ne podudaraju + Lozinke se ne podudaraju - WARNING: If you forget your password, the only way to recover the wallet is from the seed phrase. - UPOZORENJE: Ako zaboravite lozinku, jedini način da obnovite novčanik je iz seed fraze. + UPOZORENJE: Ako zaboravite lozinku, jedini način da obnovite novčanik je iz seed fraze. + + + + hushrequest + + + Request Payment + + + + + TextLabel + TekstOznaka + + + + Request payment from a Sapling address. You'll send a hush 0.0001 transaction to the address with a hush payment URI. The memo will be included in the transaction when the address pays you. + Zatraži plaćanje iz sapling adrese. Poslat ćete 0.0001 husha transakciju na adresu sa hush URI nalogom. Poruka (memo) će biti uključena u transakciji kada vas adresa plati. + + + + Request From + Zatraži od + + + + zaddr + + + + + Amount in + Količina u + + + + Amount + Količina + + + + Amount USD + Količina USD + + + + Memo + Poruka (memo) + + + + My Address + Moja adresa + + + + The recipient will see this address in the "to" field when they pay your request. + Primatelj će prilikom plaćanja vidjeti ovu adresu u "za" polju. @@ -2041,4 +2687,178 @@ Would you like to visit the releases page? Broj uplata + + removeencryption + + + Decrypt Your Wallet + + + + + <html><head/><body><p><span style=" font-size:14pt; color:#ef2929;">WARNING:</span> If you remove your wallet.dat encryption, all your transactions and contacts are plaintext on disk!<br/><br/>Messages sent and received are always encrypted.</p></body></html> + + + + + <html><head/><body><p><span style=" font-style:italic;">16 letters minimum</span></p></body></html> + + + + + Encryption Passphrase: + + + + + Confirm Passphrase: + + + + + <html><head/><body><p><span style=" font-style:italic;">Passphrase don't match</span></p></body></html> + + + + + requestDialog + + + Incoming Contact Request + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Memo of the request</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Open requests</span></p></body></html> + + + + + Request from: + + + + + Add New Contact + + + + + <html><head/><body><p>Choose an avatar for your contact:</p></body></html> + + + + + My Zaddr: + + + + + Cancel + Odustani + + + + SDLogo + + + + + Duke + + + + + Denio + + + + + Berg + + + + + Sharpee + + + + + Elsa + + + + + Yoda + + + + + Garfield + + + + + Snoopy + + + + + Popey + + + + + Pinguin + + + + + Mickey + + + + + Stag + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Recently closed requests</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Details of the request</span></p></body></html> + + + + + Give a Nickname: + + + + + startup + + + SDL Startup Decryption + + + + + <html><head/><body><p>If you have forgotten your passphrase, restore your wallet with your seed!</p></body></html> + + + + + Encryption Passphrase: + + + diff --git a/res/silentdragonlite_it.ts b/res/silentdragonlite_it.ts index aa22b26..a3dd69e 100644 --- a/res/silentdragonlite_it.ts +++ b/res/silentdragonlite_it.ts @@ -4,29 +4,80 @@ AddressBookModel - + Label Etichetta - + Address Indirizzo + + + Avatar + + + + + HushChatAddress + + + + + CID + + BalancesTableModel - + Address Indirizzo - + Amount Saldo + + ChatBubbleMe + + + Form + + + + + Lorem ipsum dolor sit amet + + + + + 12/03/2020 12:34 + 12/03/2020 12:34 + + + + ChatBubblePartner + + + Form + + + + + Lorem ipsum dolor sit amet + + + + + 12/03/2020 12:34 + 12/03/2020 12:34 + + ConnectionDialog @@ -34,42 +85,46 @@ silentdragon - + SilentDragonLite - + + The Dragon Awakens... + + + Starting Up - Avvio in corso + Avvio in corso Controller - + Wallet Password - + Your wallet is encrypted. Please enter your wallet password - - + + Wallet Decryption Failed - + Please enter a valid password - + Failed to unlock wallet @@ -78,30 +133,178 @@ Please enter your wallet password CreateWalletForm - Form + Create New SDL Wallet - + + Confirm Passphrase: + + + + Restore wallet from seed - + Restore an existing wallet, using the 24-word seed. - - Create a new Wallet + + Create a new wallet - + + Encryption Passphrase: + + + + + <html><head/><body><p><span style=" font-style:italic;">Passphrase don't match</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-style:italic;">16 letters minimum</span></p></body></html> + + + + Create a new wallet with a randomly generated seed. + + Dialog + + + Send Contact Request + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert a nickname for your contact:</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Choose an avatar for your contact:</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert a memo for your request:</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Your HushChat Address:</span></p></body></html> + + + + + Create New Address + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert the address of your contact:</span></p></body></html> + + + + + <html><head/><body><p><span style=" color:#d3d7cf;">Generate your HushChat Address - please wait a second - </span></p></body></html> + + + + + SDLogo + + + + + Duke + + + + + Denio + + + + + Berg + + + + + Stag + + + + + Sharpee + + + + + Elsa + + + + + Yoda + + + + + Garfield + + + + + Snoopy + + + + + Popey + + + + + Pinguin + + + + + Mickey + + + + + 0/512 + 0/512 + + + + Add a memo to your request + + + + + Cancel + Annulla + + + + Add Contact and Send Request + + + MainWindow @@ -109,59 +312,59 @@ Please enter your wallet password silentdragon - + Balance check Saldo - + Summary Riepilogo - + Shielded meglio tenerla in EN Shielded - + Notarized - + Transparent Trasparente - + Total Totale - + Your node is still syncing, balances may not be updated. - + Some transactions are not yet confirmed. Balances may change. - + Total notarized funds available: - + Next Address - + Your node is still syncing, balances may not be updated @@ -170,13 +373,13 @@ Please enter your wallet password Rilevate transazioni non ancora confermate - + Address Balances Saldo degli indirizzi - - + + Send Invia @@ -190,33 +393,33 @@ Please enter your wallet password Saldo Indirizzo - + Send To Inviare a - + Recipient Destinatario - - - + + + Address Indirizzo - + Address Book Rubrica - - + + Amount @@ -224,192 +427,222 @@ Please enter your wallet password Importo - + Max Available Invia tutto - - - + + + Memo Memo - + Add Recipient Aggiungi alla rubrica - - Recurring payment - - - - - Every month, starting 12-May-2012, for 6 payments - - - - - Edit Schedule - - - - + Miner Fee Commissioni di rete - + 0 0 - + Cancel Annulla - + Receive Ricevi - + Address Type Tipo Indirizzo - + Version hushlightd - + &Send DenioD Feedback - + &Export seed phrase - + Encrypt Wallet - + Remove Wallet Encryption - + Rescan - + &Hush Discord - + SilentDragonLite - + + Deposit Hush + + + + Information about Hush - + <html><head/><body><p align="center"><span style=" font-weight:600;">Hush Blockchain Information</span></p></body></html> - - - - - - - - - - - - + + + + + + + + + + + + <html><head/><body><p align="center">|</p></body></html> - + Next Halving - + Difficulty - + Last Notarized Block - + Total Supply - + Longestchain - + BlockHeight - + Supply zAddr - + Supply tAddr - + <html><head/><body><p align="center"><span style=" font-weight:600;">Hush Market Information</span></p></body></html> - + Market Cap - + Volume on Exchanges - + <html><head/><body><p align="center">This is a Lightwallet, you cant mine with it!</p></body></html> - + + HushChat + + + + + Incoming contact request + + + + + Add a new contact + + + + + Get a new Address + + + + + <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Contactlist</span></p></body></html> + + + + + <html><head/><body><p align="center"><span style=" font-weight:600;">Contact Name :</span></p></body></html> + + + + + <html><head/><body><p align="center"><br/></p></body></html> + + + + + The locks shows you the status of the message. Red lock = unconfirmed, green lock = min. 1 confirmations, orange lock = message is notarized + + + + &Hush Website @@ -418,7 +651,7 @@ Please enter your wallet password z-Addr(Sapling) - + t-Addr t-Addr (Trasparente) @@ -427,7 +660,7 @@ Please enter your wallet password z-Addr(Legacy Sprout) - + z-Addr @@ -436,38 +669,38 @@ Please enter your wallet password Crea Indirizzo - + View All Addresses - + Label Etichetta - + Update Label Aggiorna etichetta - + Address balance - + Optional Opzionale - - + + Export Private Key Esporta la chiave privata - + Transactions Transazioni @@ -480,18 +713,18 @@ Please enter your wallet password Al momento non stai minando - - - - - - - - - - - - + + + + + + + + + + + + Loading... Caricamento... @@ -506,7 +739,7 @@ Please enter your wallet password Potenza di calcolo Network - + Vendor Connessioni attive @@ -515,42 +748,42 @@ Please enter your wallet password | - + &File &File - + &Help &Aiuto - + &Apps &Apps - + &Edit &Modifica - + E&xit &Esci - + &About &About - + &Settings &Impostazioni - + Ctrl+P Ctrl+P @@ -559,7 +792,7 @@ Please enter your wallet password &Dona - + Check github.com for &updates Controllo nuovi &aggiornamenti @@ -576,7 +809,7 @@ Please enter your wallet password &Importa chiave privata - + &Export all private keys &Esporta tutte le chiavi private @@ -589,13 +822,13 @@ Please enter your wallet password Ctrl+A, Ctrl+Z - + Address &book check Rubrica &Contatti - + Ctrl+B Ctrl+B @@ -604,38 +837,38 @@ Please enter your wallet password &Backup wallet.dat - - + + Export transactions - + Pay hush &URI... - + Connect mobile &app - + Ctrl+M - + &Recurring Payments - + Request hush... - + File a bug... @@ -672,17 +905,38 @@ Please enter your wallet password L'importazione delle chiavi private è stata completata - + URI should be of the form 'hush:<addr>?amt=x&memo=y - + View tx on block explorer - + + + Wallet Encryption Success + + + + + Your wallet is not encrypted with a passphrase. + + + + + Wallet decryption Success + + + + + You still have plaintext data on your disk! + + + + Refresh @@ -696,12 +950,12 @@ Please enter your wallet password Le chiavi saranno importate nel tuo nodo hushd - + Error - + Error exporting transactions, file was not saved @@ -734,148 +988,85 @@ Please enter your wallet password Devi eseguire il backup manualmente. - + These are all the private keys for all the addresses in your wallet Queste sono le chiavi private per tutti gli indirizzi nel tuo portafoglio - + Private key for Chiave privata per - - + + Save File Salva File - - Wallet is already encrypted - - - - - Your wallet is already encrypted with a password. -Please use 'Remove Wallet Encryption' if you want to remove the wallet encryption. - - - - + Passwords don't match - - Error was: - - - - - - Wallet Encrypted - - - - - Your wallet was successfully encrypted! The password will be needed to send funds or export private keys. - - - - - + + Wallet Encryption Failed - + Wallet is not encrypted - - Your wallet is not encrypted with a password. - - - - - Wallet Password - - - - - Please enter your wallet password - - - - - - - Wallet Decryption Failed - - - - - Please enter a password to decrypt your wallet! - - - - - Wallet Encryption Removed - - - - - Your wallet was successfully decrypted! You will no longer need a password to send funds or export private keys. - - - - - + + Copy block explorer link - + Currency Change - + This is your wallet seed. Please back it up carefully and safely. - - + + Unable to open file Impossibile aprire il file - + Error getting private keys - + Error loading private keys: - - + + Copy address Copia indirizzo - - - + + + + Copied to clipboard Copiato negli appunti - + Get private key Ottieni una chiave privata @@ -884,8 +1075,8 @@ Please use 'Remove Wallet Encryption' if you want to remove the wallet Trasferisci il saldo su un indirizzo shielded Sapling - - + + View on block explorer Guarda sul block-explorer @@ -894,83 +1085,93 @@ Please use 'Remove Wallet Encryption' if you want to remove the wallet Migra a Sapling - - + + Copy txid Copia txid - + Restart - + Please restart Silentdragonlite to have the theme apply - + This change can take a few seconds. - + Some feedback about SilentDragonlite or Hush... - + or SilentDragonLite - + Send DenioD some private and shielded feedback about - + Paste HUSH URI - + Error paying HUSH URI - + View Payment Request - + View Memo Visualizza memo - + Reply to - + + Copied message to clipboard + + + + + Copied Txid to clipboard + + + + Created new t-Addr Crea nuovo t-Addr - + Copy Address - + Address has been previously used - + Address is unused @@ -995,47 +1196,36 @@ Please use 'Remove Wallet Encryption' if you want to remove the wallet Solo gli indirizzi shielded (z-address) possono avere le memo - Memos can only be used with z-addresses - Le memos possono essere utilizzate solo con z-addresses (Shielded) + Le memos possono essere utilizzate solo con z-addresses (Shielded) - The memo field can only be used with a z-address. - Il campo memo può essere utilizzato solo con z-address (Shielded) + Il campo memo può essere utilizzato solo con z-address (Shielded) - doesn't look like a z-address - Non sembra uno z-address (Shielded) + Non sembra uno z-address (Shielded) - + + Please wait... - + Computing your transaction - + + Done! - - - Not enough available funds to send this transaction - -Have: %1 -Need: %2 - -Note: Funds need 5 confirmations before they can be spent - - Change from Controllare se opportuno inserire Mittente @@ -1052,20 +1242,100 @@ Note: Funds need 5 confirmations before they can be spent L'indirizzo selezionato non è valido - + + + You have to select a contact and insert a Memo + + + + + + You have selected no Contact from Contactlist, + + + + + + + +or your Memo is empty + + + + + + Your Message is too long + + + + + + You can only write messages with 235 character maximum + + + + + + + + Please reduce your message to 235 character. + + + + + + Message Error + + + + + + Recipient Address Indirizzo Destinatario - + + + is Invalid non valido - + + + Amount for address '%1' is invalid! + + + + + Not enough available funds to send this transaction + +Have: %1 +Need: %2 + +Note: Funds need 1 confirmations before they can be spent + + + + + Missing HushChat Address + + + + + You have to create your HushChat address to send a contact request, + + + + + + Your contact request will be sent + + MemoDialog @@ -1124,11 +1394,6 @@ Note: Funds need 5 confirmations before they can be spent MobileAppConnector - - - Connect Mobile App - - QR Code @@ -1149,6 +1414,11 @@ Note: Funds need 5 confirmations before they can be spent Scan this QRCode from your silentdragon companion app to connect your phone + + + Mobile Connector App + + silentdragon Companion App @@ -1176,6 +1446,14 @@ Note: Funds need 5 confirmations before they can be spent + + NewOrRestorePage + + + Passphrase don't match or You have entered too few letters (16 minimum) + + + NewSeedForm @@ -1189,7 +1467,7 @@ Note: Funds need 5 confirmations before they can be spent - + The seed phrase is the only way to restore the wallet. If you forget the seed phrase, THERE IS NO WAY TO RESTORE YOUR WALLET AND THE FUNDS in it @@ -1197,17 +1475,17 @@ Note: Funds need 5 confirmations before they can be spent NewSeedPage - + Error creating a wallet - + Failed to save wallet - + Couldn't save the wallet @@ -1327,33 +1605,40 @@ Non è stato avviato hushd integrato perché è stato passato il comando --no-em Connesso a hushd - There was an error connecting to hushd. The error was - Si è verificato un errore durante la connessione a hushd. L'errore era + Si è verificato un errore durante la connessione a hushd. L'errore era - - + + + + The transaction with id La transazione con id - - + + + + failed. The error was fallito. l'errore era - + + + - + failed fallito - + + + - + Tx Tx @@ -1362,29 +1647,35 @@ Non è stato avviato hushd integrato perché è stato passato il comando --no-em computazione Tx. Questo può richiedere diversi minuti. - + + There was an error connecting to the server. Please check your internet connection. The error was + + + + Update Available - + A new release v%1 is available! You have v%2. Would you like to visit the releases page? - + No updates available - + You already have the latest release v%1 - + + Please wait for SilentDragonLite to exit @@ -1394,7 +1685,8 @@ Would you like to visit the releases page? Si prega di attendere che silentdragon finisca la procedura di uscita - + + Waiting for hushd to exit vedi appunto precedente Attendere l'uscita di hushd @@ -1431,61 +1723,69 @@ Impostare host/porta e utente/password nel menu Modifica-> Impostazioni.Il tuo hushd si sta avviando. Attendere prego. - + Attempting to initialize library with - + Using existing wallet. - + Create/restore wallet. - - + + Connection Error Errore di Connessione - - - + + + + + Transaction Error Errore di transazione - + There was an error sending the transaction. The error was: Si è verificato un errore durante l'invio della transazione. L'errore era: - - + + No Connection Nessuna connessione - + Pick - + + + Address or Label Error - + + + Address or Label cannot be empty - + + + Address Format Error Errore nel formato dell'indirizzo @@ -1494,57 +1794,71 @@ Impostare host/porta e utente/password nel menu Modifica-> Impostazioni. Non sembra un indirizzo hush Valido. - + + + %1 doesn't seem to be a valid hush address. - - Label Error + + Label Error + + + + + The label '%1' already exists. Please remove the existing label. + + + + + + Added Contact - - The label '%1' already exists. Please remove the existing label. + + + successfully added your new contact - + Import Address Book - + Unable to open file Impossibile aprire il file - + Address Book Import Done - + Imported %1 new Address book entries - + Copy address Copia indirizzo - + Copied to clipboard Copiato negli appunti - + Delete label elimina l'etichetta - + Tx submitted (right click to copy) txid: Tx inviato (clic destro per copiare) txid: @@ -1645,7 +1959,7 @@ Avete fondi non confermati o il saldo è troppo basso per una migrazione automat RecurringDialog - Dialog + Reccuring Dialog @@ -1701,7 +2015,7 @@ Avete fondi non confermati o il saldo è troppo basso per una migrazione automat RecurringPayments - Payments + Reocurring Payments @@ -1758,7 +2072,7 @@ Avete fondi non confermati o il saldo è troppo basso per una migrazione automat RecurringPending - Dialog + Recurring Multiple Payments @@ -1825,57 +2139,57 @@ Avete fondi non confermati o il saldo è troppo basso per una migrazione automat - + AddressBook - + Request From - + My Address - + Amount in - + z address - + Amount - + The recipient will see this address in the "to" field when they pay your request. - + Amount USD - + Memo Memo - + TextLabel - + Request payment from a Sapling address. You'll send a hush 0.0001 transaction to the address with a hush payment URI. The memo will be included in the transaction when the address pays you. @@ -1914,7 +2228,7 @@ Avete fondi non confermati o il saldo è troppo basso per una migrazione automat RestoreSeedForm - Form + Restore Wallet Seed @@ -1946,38 +2260,38 @@ Avete fondi non confermati o il saldo è troppo basso per una migrazione automat RestoreSeedPage - - + + Failed to restore wallet - + SilentDragonLite needs 24 words to restore wallet - + Failed to parse wallet birthday - + Couldn't understand wallet birthday. This should be a block height from where to rescan the wallet. You can leave it as '0' if you don't know what it should be. - + Couldn't restore the wallet - + Failed to save wallet - + Couldn't save the wallet @@ -1985,7 +2299,7 @@ Avete fondi non confermati o il saldo è troppo basso per una migrazione automat Settings - + Settings Impostazioni @@ -2010,121 +2324,126 @@ Avete fondi non confermati o il saldo è troppo basso per una migrazione automat RPC Password - + Options Opzioni - - Check github for updates at startup + + Dark - Shielded transactions are saved locally and shown in the transactions tab. If you uncheck this, shielded transactions will not appear in the transactions tab. - Le transazioni Shielded vengono salvate localmente e visualizzate nella scheda delle transazioni. Se deselezioni questa opzione, le transazioni Shielded non verranno visualizzate nella scheda delle transazioni. + + Midnight + - - Connect to github on startup to check for updates + + Light - - Connect to the internet to fetch hush prices + + Blue - - Theme + + Default - - Lightwallet Server + + Check github for updates at startup - - default + Shielded transactions are saved locally and shown in the transactions tab. If you uncheck this, shielded transactions will not appear in the transactions tab. + Le transazioni Shielded vengono salvate localmente e visualizzate nella scheda delle transazioni. Se deselezioni questa opzione, le transazioni Shielded non verranno visualizzate nella scheda delle transazioni. + + + + Connect to github on startup to check for updates - - Connection + + Connect to the internet to fetch hush prices - - blue + + Theme - - light + + Lightwallet Server - - dark + + Connection - + Fetch hush prices - + Currency - + AUD - + BTC - + CAD - + CHF - + CNY - + EUR - + GBP - + INR - + RUB - + USD @@ -2259,27 +2578,116 @@ Avete fondi non confermati o il saldo è troppo basso per una migrazione automat Rubrica - + Add New Address Aggiungi Nuovo Indirizzo - + Address (z-Addr or t-Addr) Indirizzo (z-Addr or t-Addr) - + + <html><head/><body><p>Nickname :</p></body></html> + + + + + HushChat Address - give this Address only to your contact + + + + + <html><head/><body><p>Conversation ID:</p></body></html> + + + + + SDLogo + + + + + Duke + + + + + Denio + + + + + Berg + + + + + Sharpee + + + + + Elsa + + + + + Yoda + + + + + Garflied + + + + + Snoopy + + + + + Popey + + + + + Pinguin + + + + + Mickey + + + + + Stag + + + + + <html><head/><body><p>Avatar :</p></body></html> + + + + + Create a new HushChat zaddr + + + Label - Etichetta + Etichetta - + Add to Address Book Aggiungi a Rubrica - + Import Address Book @@ -2373,31 +2781,131 @@ Avete fondi non confermati o il saldo è troppo basso per una migrazione automat + + deposithush + + + Deposit Hush + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Ubuntu'; font-size:16pt;">Please use the following hush address to transfer funds to SilentDragonLite. You can either copy the address or use the QR Code. </span></p></body></html> + + + + + <html><head/><body><p align="center">QR Code of your Hush Address</p></body></html> + + + + + <html><head/><body><p align="center"><span style=" text-decoration: underline;">Your Hush Address </span></p></body></html> + + + + + Hush zaddr + + + + + Copy Address + + + encryptionDialog - + Encrypt Your Wallet - - Encryption Password: + + Encryption Passphrase: - - Confirm Password: + + <html><head/><body><p><span style=" font-size:14pt; color:#ef2929;">WARNING:</span> If you forget your passphrase, the only way to recover the wallet is from the seed phrase. If you don't have a backup of your seed phrase, please do it now!</p></body></html> - - Passwords don't match + + Confirm Passphrase: + + + + + <html><head/><body><p><span style=" font-style:italic;">Passphrase don't match</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-style:italic;">16 letters minimum</span></p></body></html> + + + + + hushrequest + + + Request Payment + + + + + TextLabel + + + + + Request payment from a Sapling address. You'll send a hush 0.0001 transaction to the address with a hush payment URI. The memo will be included in the transaction when the address pays you. + + + + + Request From + + + + + zaddr + + + + + Amount in + + + + + Amount + + + + + Amount USD + + + + + Memo + Memo + + + + My Address - - WARNING: If you forget your password, the only way to recover the wallet is from the seed phrase. + + The recipient will see this address in the "to" field when they pay your request. @@ -2449,6 +2957,180 @@ Avete fondi non confermati o il saldo è troppo basso per una migrazione automat Memo + + removeencryption + + + Decrypt Your Wallet + + + + + <html><head/><body><p><span style=" font-size:14pt; color:#ef2929;">WARNING:</span> If you remove your wallet.dat encryption, all your transactions and contacts are plaintext on disk!<br/><br/>Messages sent and received are always encrypted.</p></body></html> + + + + + <html><head/><body><p><span style=" font-style:italic;">16 letters minimum</span></p></body></html> + + + + + Encryption Passphrase: + + + + + Confirm Passphrase: + + + + + <html><head/><body><p><span style=" font-style:italic;">Passphrase don't match</span></p></body></html> + + + + + requestDialog + + + Incoming Contact Request + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Memo of the request</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Open requests</span></p></body></html> + + + + + Request from: + + + + + Add New Contact + + + + + <html><head/><body><p>Choose an avatar for your contact:</p></body></html> + + + + + My Zaddr: + + + + + Cancel + Annulla + + + + SDLogo + + + + + Duke + + + + + Denio + + + + + Berg + + + + + Sharpee + + + + + Elsa + + + + + Yoda + + + + + Garfield + + + + + Snoopy + + + + + Popey + + + + + Pinguin + + + + + Mickey + + + + + Stag + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Recently closed requests</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Details of the request</span></p></body></html> + + + + + Give a Nickname: + + + + + startup + + + SDL Startup Decryption + + + + + <html><head/><body><p>If you have forgotten your passphrase, restore your wallet with your seed!</p></body></html> + + + + + Encryption Passphrase: + + + zboard diff --git a/res/silentdragonlite_pt.ts b/res/silentdragonlite_pt.ts index 0394c5c..515b835 100644 --- a/res/silentdragonlite_pt.ts +++ b/res/silentdragonlite_pt.ts @@ -4,29 +4,80 @@ AddressBookModel - + Label Etiqueta - + Address Endereço + + + Avatar + + + + + HushChatAddress + + + + + CID + + BalancesTableModel - + Address Endereço - + Amount Quantia + + ChatBubbleMe + + + Form + + + + + Lorem ipsum dolor sit amet + + + + + 12/03/2020 12:34 + 12/03/2020 12:34 + + + + ChatBubblePartner + + + Form + + + + + Lorem ipsum dolor sit amet + + + + + 12/03/2020 12:34 + 12/03/2020 12:34 + + ConnectionDialog @@ -34,43 +85,47 @@ silentdragon - + SilentDragonLite SilentDragonLite - + + The Dragon Awakens... + + + Starting Up - A iniciar + A iniciar Controller - + Wallet Password Palavra passe da carteira - + Your wallet is encrypted. Please enter your wallet password A sua carteira está encriptada. Por favor digite a palavra passe. - - + + Wallet Decryption Failed Falhou a decriptação da carteira - + Please enter a valid password Por favor digite uma palavra passe válida - + Failed to unlock wallet Falha ao desbloquear a carteira @@ -78,31 +133,187 @@ Please enter your wallet password CreateWalletForm - Form - Formato + Formato + + + + Create New SDL Wallet + - + + Confirm Passphrase: + + + + Restore wallet from seed Recuperar a carteira a partir da semente - + Restore an existing wallet, using the 24-word seed. Recuperar uma carteira existente, a partir da semente de 24 palavras. - + + Create a new wallet + + + + + Encryption Passphrase: + + + + + <html><head/><body><p><span style=" font-style:italic;">Passphrase don't match</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-style:italic;">16 letters minimum</span></p></body></html> + + + Create a new Wallet - Criar uma nova carteira + Criar uma nova carteira - + Create a new wallet with a randomly generated seed. A sua carteira não está encriptada com uma palavra passe. + + Dialog + + + Send Contact Request + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert a nickname for your contact:</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Choose an avatar for your contact:</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert a memo for your request:</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Your HushChat Address:</span></p></body></html> + + + + + Create New Address + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert the address of your contact:</span></p></body></html> + + + + + <html><head/><body><p><span style=" color:#d3d7cf;">Generate your HushChat Address - please wait a second - </span></p></body></html> + + + + + SDLogo + + + + + Duke + + + + + Denio + + + + + Berg + + + + + Stag + + + + + Sharpee + + + + + Elsa + + + + + Yoda + + + + + Garfield + + + + + Snoopy + + + + + Popey + + + + + Pinguin + + + + + Mickey + + + + + 0/512 + 0/512 + + + + Add a memo to your request + + + + + Cancel + Cancelar + + + + Add Contact and Send Request + + + MainWindow @@ -110,32 +321,32 @@ Please enter your wallet password silentdragon - + Balance Saldo - + Summary Sumário - + Shielded Blindado - + Notarized Reconhecido - + Transparent Transparente - + Total Total @@ -144,13 +355,13 @@ Please enter your wallet password Algumas transações ainda não estão confirmadas - + Address Balances Balanço dos Endereços - - + + Send Enviar @@ -163,220 +374,267 @@ Please enter your wallet password Saldo do Endereço - + Send To Enviar para - + Recipient Destinatário - - - + + + Address Endereço - + Address Book Agenda - - + + Amount Quantidade - + Max Available Máximo disponível - - - + + + Memo Memo - + Add Recipient Adicionar destinatário - Recurring payment - Pagamento recorrente + Pagamento recorrente - Every month, starting 12-May-2012, for 6 payments - Todos os meses, desde 12-Maio-2012, em 6 pagamentos + Todos os meses, desde 12-Maio-2012, em 6 pagamentos - Edit Schedule - Editar agendamento + Editar agendamento - + Miner Fee Taxa de mineração - + 0 0 - + Cancel Cancelar - + Receive Receber - + Address Type Tipo de Endereço - + Version hushlightd Versão de hushlightd - + &Send DenioD Feedback Enviar avaliação para DenioD - + &Export seed phrase Exportar frase semente - + Encrypt Wallet Encriptar carteira - + Remove Wallet Encryption Remover encriptação da carteira - + Rescan Redigitalizar - + &Hush Discord Discord da Hush - + + Deposit Hush + + + + Information about Hush Informação sobre a Hush - + <html><head/><body><p align="center"><span style=" font-weight:600;">Hush Blockchain Information</span></p></body></html> <html><head/><body><p align="center"><span style=" font-weight:600;">Informação da Blockchain da Hush</span></p></body></html> - - - - - - - - - - - - + + + + + + + + + + + + <html><head/><body><p align="center">|</p></body></html> <html><head/><body><p align="center">|</p></body></html> - + Next Halving Próximo Halving - + Difficulty Dificuldade - + Last Notarized Block Último bloco reconhecido - + Total Supply Provisão total - + Longestchain Cadeia mais comprida - + BlockHeight Altura dos blocos - + Supply zAddr Forneça zAddr - + Supply tAddr Forneça tAddr - + <html><head/><body><p align="center"><span style=" font-weight:600;">Hush Market Information</span></p></body></html> <html><head/><body><p align="center"><span style=" font-weight:600;">Informação do mercado da Hush</span></p></body></html> - + Market Cap Capital de mercado - + Volume on Exchanges Volume nas bolsas - + <html><head/><body><p align="center">This is a Lightwallet, you cant mine with it!</p></body></html> <html><head/><body><p align="center">Esta é uma carteira light, não consegue minerar!</p></body></html> - + + HushChat + + + + + Incoming contact request + + + + + Add a new contact + + + + + Get a new Address + + + + + <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Contactlist</span></p></body></html> + + + + + <html><head/><body><p align="center"><span style=" font-weight:600;">Contact Name :</span></p></body></html> + + + + + <html><head/><body><p align="center"><br/></p></body></html> + + + + + The locks shows you the status of the message. Red lock = unconfirmed, green lock = min. 1 confirmations, orange lock = message is notarized + + + + + E&xit + + + + &Hush Website Site da Hush @@ -385,7 +643,7 @@ Please enter your wallet password z-Addr(Jovem) - + t-Addr t-Addr @@ -398,73 +656,73 @@ Please enter your wallet password Novo Endereço - + Label Etiqueta - + Update Label Atualizar - + Address balance Balanço do endereço - + Optional Opcional - - + + Export Private Key Exportar Chave Privada - + z-Addr z-Addr - + SilentDragonLite SilentDragonLite - + Your node is still syncing, balances may not be updated. O seu nó ainda está em sincronia, os balanços apresentados podem não estar correctos. - + Some transactions are not yet confirmed. Balances may change. Algumas transacções ainda estão por confirmar. Os balanços podem mudar. - + Total notarized funds available: Total de fundos verificados disponíveis: - + Next Address Próximo Endereço - + Your node is still syncing, balances may not be updated O seu nó ainda está em sincronia, os balanços podem não estar correctos - + View All Addresses Ver Todos os Endereços - + Transactions Transações @@ -477,18 +735,18 @@ Please enter your wallet password Isto é uma carteira light, não consegue minerar! Não está a minar - - - - - - - - - - - - + + + + + + + + + + + + Loading... A carregar... @@ -501,7 +759,7 @@ Please enter your wallet password Taxa de soluções da rede - + Vendor Fornecedor @@ -510,42 +768,41 @@ Please enter your wallet password | - + &File &Ficheiro - + &Help &Ajuda - + &Apps &Aplicações - + &Edit &Editar - &Exit - Sair + Sair - + &About &Sobre - + &Settings &Opções - + Ctrl+P Ctrl+P @@ -554,7 +811,7 @@ Please enter your wallet password &Doar - + Check github.com for &updates &Verificar github.com por actualizações @@ -571,7 +828,7 @@ Please enter your wallet password &Importar chave privada - + &Export all private keys &Exportar todas as chaves privadas @@ -584,12 +841,12 @@ Please enter your wallet password Ctrl+A, Ctrl+Z - + Address &book &Livro de Endereços - + Ctrl+B Ctrl+B @@ -598,38 +855,38 @@ Please enter your wallet password &Guardar wallet.dat - - + + Export transactions Exportar transacções - + Pay hush &URI... Pagar através de &URI hush... - + Connect mobile &app Conectar &aplicação móvel - + Ctrl+M Ctrl+M - + &Recurring Payments &Pagamentos recorrentes - + Request hush... Pedir hush... - + File a bug... Denunciar um bug... @@ -666,17 +923,38 @@ Please enter your wallet password Re-escan de chave privada completo - + URI should be of the form 'hush:<addr>?amt=x&memo=y O URI deve ter a forma 'hush:<addr>?amt=x&memo=y - + View tx on block explorer Ver tx no explorador de blocos - + + + Wallet Encryption Success + + + + + Your wallet is not encrypted with a passphrase. + + + + + Wallet decryption Success + + + + + You still have plaintext data on your disk! + + + + Refresh Actualizar @@ -689,12 +967,12 @@ Please enter your wallet password As chaves serão importadas em seu nó hushd conectado - + Error Erro - + Error exporting transactions, file was not saved Erro a exportar transacções, ficheiro não guardado @@ -727,150 +1005,137 @@ Please enter your wallet password Você precisar salvá-lo manualmente. - + These are all the private keys for all the addresses in your wallet YOUR_TRANSLATION_HERE - + Private key for Chave privada para - - + + Save File Salvar Arquivo - Wallet is already encrypted - A carteira já se encontra encriptada + A carteira já se encontra encriptada - Your wallet is already encrypted with a password. Please use 'Remove Wallet Encryption' if you want to remove the wallet encryption. - A carteira já se encontra encriptada com uma palavra passe. + A carteira já se encontra encriptada com uma palavra passe. Por favor usa 'Desencriptar carteira' se quiser remover a encriptação da carteira. - + Passwords don't match As palavras passes não correspondem - Error was: - Erro era: + Erro era: - Wallet Encrypted - Cartera encriptada + Cartera encriptada - Your wallet was successfully encrypted! The password will be needed to send funds or export private keys. - A tua carteira foi encriptada com sucesso! A palavra passe vai ser precisa para enviar fundos ou exportar as chaves privadas. + A tua carteira foi encriptada com sucesso! A palavra passe vai ser precisa para enviar fundos ou exportar as chaves privadas. - - + + Wallet Encryption Failed Falhou a desencriptação da carteira - + Wallet is not encrypted A carteira não está encriptada - Your wallet is not encrypted with a password. - A sua carteira não está encriptada com uma palavra passe. + A sua carteira não está encriptada com uma palavra passe. - Wallet Password - Palavra passe da carteira + Palavra passe da carteira - Please enter your wallet password - Por favor digite a palavra passe da carteira + Por favor digite a palavra passe da carteira - - - Wallet Decryption Failed - Falhou a desencriptação da carteira + Falhou a desencriptação da carteira - Please enter a password to decrypt your wallet! - Por favor digite a palavra passe para desencriptar a carteira! + Por favor digite a palavra passe para desencriptar a carteira! - Wallet Encryption Removed - Encriptação da carteira removida + Encriptação da carteira removida - Your wallet was successfully decrypted! You will no longer need a password to send funds or export private keys. - A carteira foi desencriptada com sucesso! Não será mais necessário a palavra passe para enviar fundos ou + A carteira foi desencriptada com sucesso! Não será mais necessário a palavra passe para enviar fundos ou exportar as chaves privadas - - + + Copy block explorer link Copiar link do explorador de blocos - + Currency Change Mudar de moeda - + This is your wallet seed. Please back it up carefully and safely. Esta é a semente da sua carteira. Por favor, guarde-a em segurança. - - + + Unable to open file Não foi possível abrir o arquivo - + Error getting private keys Erro ao obter as chaves privadas - + Error loading private keys: Erro ao carregar as chaves privadas: - - + + Copy address Copiar endereço - - - + + + + Copied to clipboard Copiado - + Get private key Obter chave privada @@ -879,8 +1144,8 @@ Por favor usa 'Desencriptar carteira' se quiser remover a encriptaçã Proteger saldo para Sapling - - + + View on block explorer Ver no explorador de blocos @@ -889,83 +1154,93 @@ Por favor usa 'Desencriptar carteira' se quiser remover a encriptaçã Migrar para Sapling - - + + Copy txid Copiar txid - + Restart Reiniciar - + Please restart Silentdragonlite to have the theme apply Por favor reinicie a SilentDragonLite para aplicar o tema - + This change can take a few seconds. As alterações podem demorar alguns segundos. - + Some feedback about SilentDragonlite or Hush... Alguma sugestão acerca da SilentDragonlite ou Hush... - + or SilentDragonLite ou SilentDragonLite - + Send DenioD some private and shielded feedback about Enviar ao DenioD alguma sugestão privada e protegida acerca - + Paste HUSH URI Colar URI HUSH - + Error paying HUSH URI Erro ao pagar HUSH URI - + View Payment Request Ver o requerimento de pagamento - + View Memo Ver Memo - + Reply to Responder para - + + Copied message to clipboard + + + + + Copied Txid to clipboard + + + + Created new t-Addr Criar novo t-Addr - + Copy Address Copiar Endereço - + Address has been previously used Endereço foi usado anteriormente - + Address is unused Endereço inutilizado @@ -990,48 +1265,46 @@ Por favor usa 'Desencriptar carteira' se quiser remover a encriptaçã Apenas z-Addresses podem conter recados - Memos can only be used with z-addresses - Memos só podem ser anexados com z-Addresses + Memos só podem ser anexados com z-Addresses - The memo field can only be used with a z-address. - O campo memo só pode ser usado com z-Addresses. + O campo memo só pode ser usado com z-Addresses. - doesn't look like a z-address - + não se parece com um z-Address - + + Please wait... Por favor, aguarde... - + Computing your transaction A calcular a sua transacção - + + Done! Feito! - Not enough available funds to send this transaction Have: %1 Need: %2 Note: Funds need 5 confirmations before they can be spent - Fundos disponíveis insuficientes para enviar esta transacção + Fundos disponíveis insuficientes para enviar esta transacção Tem: %1 Precisa: %2 @@ -1052,20 +1325,107 @@ Nota: Os fundos precisam de 5 confirmações para serem gastos Endereço de partida inválido - + + + You have to select a contact and insert a Memo + + + + + + You have selected no Contact from Contactlist, + + + + + + + +or your Memo is empty + + + + + + Your Message is too long + + + + + + You can only write messages with 235 character maximum + + + + + + + + Please reduce your message to 235 character. + + + + + + Message Error + + + + + + Recipient Address Endereço destinatário - + + + is Invalid é Inválido - + + + Amount for address '%1' is invalid! Quantia para o endereço '%1' é inválido! + + + + + Not enough available funds to send this transaction + +Have: %1 +Need: %2 + +Note: Funds need 1 confirmations before they can be spent + Fundos disponíveis insuficientes para enviar esta transacção + +Tem: %1 +Precisa: %2 + +Nota: Os fundos precisam de 5 confirmações para serem gastos {1 +?} {2 +?} {1 ?} + + + + Missing HushChat Address + + + + + You have to create your HushChat address to send a contact request, + + + + + + Your contact request will be sent + + MemoDialog @@ -1125,9 +1485,8 @@ Nota: Os fundos precisam de 5 confirmações para serem gastos MobileAppConnector - Connect Mobile App - Conectar aplicação móvel + Conectar aplicação móvel @@ -1135,9 +1494,8 @@ Nota: Os fundos precisam de 5 confirmações para serem gastos Código QR - Conection String - String de Conexão + String de Conexão @@ -1149,6 +1507,16 @@ Nota: Os fundos precisam de 5 confirmações para serem gastos Scan this QRCode from your silentdragon companion app to connect your phone Digitalizar este QRCode na sua aplicação Silentdragon Companion para conectar o seu dispositivo móvel + + + Mobile Connector App + + + + + Connection String + + silentdragon Companion App @@ -1176,6 +1544,14 @@ Nota: Os fundos precisam de 5 confirmações para serem gastos Tipo de Conexão + + NewOrRestorePage + + + Passphrase don't match or You have entered too few letters (16 minimum) + + + NewSeedForm @@ -1189,7 +1565,7 @@ Nota: Os fundos precisam de 5 confirmações para serem gastos Esta é a semente da tua carteira. POR FAVOR GUARDA-A. - + The seed phrase is the only way to restore the wallet. If you forget the seed phrase, THERE IS NO WAY TO RESTORE YOUR WALLET AND THE FUNDS in it A frase semente é a ÚNICA maneira de recuperar a carteira. Se a perderes, NÃO HÁ QUALQUER MANEIRA DE A RECUPERARES JUNTAMENTE COM OS TEUS FUNDOS @@ -1197,17 +1573,17 @@ Nota: Os fundos precisam de 5 confirmações para serem gastos NewSeedPage - + Error creating a wallet Erro ao criar carteira - + Failed to save wallet Falha ao guardar carteira - + Couldn't save the wallet Não foi possível guardar a carteira @@ -1326,33 +1702,40 @@ Não iniciando hushd embebido porque nenhum foi passado como parâmetroConectado ao hushd - There was an error connecting to hushd. The error was - Ocorreu um erro conectando ao hushd. O erro foi + Ocorreu um erro conectando ao hushd. O erro foi - - + + + + The transaction with id A transação com id - - + + + + failed. The error was falhou. O erro foi - + + + - + failed falhou - + + + - + Tx Tx @@ -1361,29 +1744,35 @@ Não iniciando hushd embebido porque nenhum foi passado como parâmetro gerando transação. Isso pode levar alguns minutos. - + + There was an error connecting to the server. Please check your internet connection. The error was + + + + Update Available Actualização disponível - + A new release v%1 is available! You have v%2. Would you like to visit the releases page? Uma nova versão v%1 estã disponível! Tu tens v%2. - + No updates available Não há actualizações disponíveis - + You already have the latest release v%1 Você já tem a última release v%1 - + + Please wait for SilentDragonLite to exit Por favor aguarde pela SilentDragonLite terminar @@ -1392,7 +1781,8 @@ Would you like to visit the releases page? Por favor aguarde pela SilentDragonLite terminar - + + Waiting for hushd to exit Por favor aguarde pela hushd terminar @@ -1429,61 +1819,69 @@ Por favor, coloque o host/porta e usuário/senha no menu Editar>Preferências Seu hushd está iniciando. Por favor aguarde. - + Attempting to initialize library with A tentar iniciar a biblioteca com - + Using existing wallet. A usar a carteira existente. - + Create/restore wallet. Criar/recuperar carteira. - - + + Connection Error Erro na Conexão - - - + + + + + Transaction Error Erro na transacção - + There was an error sending the transaction. The error was: Ocorreu um erro enviando a transacção. O erro foi: - - + + No Connection Sem Conexão - + Pick Escolha - + + + Address or Label Error Erro de Endereço ou Label - + + + Address or Label cannot be empty Endereço ou Label não podem estar vazios - + + + Address Format Error Erro no Formato do Endereço @@ -1492,57 +1890,71 @@ Por favor, coloque o host/porta e usuário/senha no menu Editar>Preferências não parece um endereço válido de hush. - + + + %1 doesn't seem to be a valid hush address. não parece um endereço válido de hush. - + Label Error Erro de Label - + The label '%1' already exists. Please remove the existing label. A label '%1' já existe. Por favor remove a label existente. - + + + Added Contact + + + + + + successfully added your new contact + + + + Import Address Book Importar Livro de Endereços - + Unable to open file Não foi possível abrir o arquivo - + Address Book Import Done - + Imported %1 new Address book entries - + Copy address Copiar endereço - + Copied to clipboard Copiado - + Delete label Apagar - + Tx submitted (right click to copy) txid: Tx enviada (botão-direito para copiar) txid: @@ -1642,9 +2054,13 @@ Você possui fundos não confirmados ou o saldo é muito baixo para uma migraç RecurringDialog - Dialog - Diálogo + Diálogo + + + + Reccuring Dialog + @@ -1698,9 +2114,13 @@ Você possui fundos não confirmados ou o saldo é muito baixo para uma migraç RecurringPayments - Payments - Pagamentos + Pagamentos + + + + Reocurring Payments + @@ -1755,9 +2175,13 @@ Você possui fundos não confirmados ou o saldo é muito baixo para uma migraç RecurringPending - Dialog - Diálogo + Diálogo + + + + Recurring Multiple Payments + @@ -1823,57 +2247,57 @@ Você possui fundos não confirmados ou o saldo é muito baixo para uma migraç Pedir pagamento - + AddressBook Livro de endereços - + Request From Pedir desde - + My Address O meu endereço - + Amount in Quantia em - + z address Endereço z - + Amount Quantidade - + The recipient will see this address in the "to" field when they pay your request. O destinatários irá ver este endereço no campo "para" quando pagarem o teu pedido. - + Amount USD Quantia em USD - + Memo Memo - + TextLabel Label de texto - + Request payment from a Sapling address. You'll send a hush 0.0001 transaction to the address with a hush payment URI. The memo will be included in the transaction when the address pays you. Pedir pagamento de um endereço Sapling. Irá enviar 0.0001 hush para o endereço com o pagamento hush URI. O memo irá ser incluído na transacção quando o endereço te pagar. @@ -1912,9 +2336,13 @@ Você possui fundos não confirmados ou o saldo é muito baixo para uma migraç RestoreSeedForm - Form - Formato + Formato + + + + Restore Wallet Seed + @@ -1945,38 +2373,38 @@ Você possui fundos não confirmados ou o saldo é muito baixo para uma migraç RestoreSeedPage - - + + Failed to restore wallet Falha a recuperar carteira - + SilentDragonLite needs 24 words to restore wallet SilentDragonLite precisa de 24 palavras para recuperar a carteira - + Failed to parse wallet birthday Falha ao analisar aniversário da carteira - + Couldn't understand wallet birthday. This should be a block height from where to rescan the wallet. You can leave it as '0' if you don't know what it should be. Não foi possível perceber o aniversário da carteira. Isto deve ser uma altura de bloco donde se verifica a carteira. Pode deixá-la como '0' se não souber o que pôr. - + Couldn't restore the wallet Não foi possível recuperar a carteira - + Failed to save wallet Falha ao guardar carteira - + Couldn't save the wallet Não foi possível guardar a carteira @@ -1984,7 +2412,7 @@ Você possui fundos não confirmados ou o saldo é muito baixo para uma migraç Settings - + Settings Opções @@ -2009,12 +2437,37 @@ Você possui fundos não confirmados ou o saldo é muito baixo para uma migraç RPC-Senha - + Options Opções - + + Dark + + + + + Midnight + + + + + Light + + + + + Blue + + + + + Default + + + + Check github for updates at startup Verificar github por actualizações no início @@ -2023,107 +2476,103 @@ Você possui fundos não confirmados ou o saldo é muito baixo para uma migraç Transações blindadas são salvas localmente e exibidas na aba de transações. Se desmarcado, transações blindadas não aparecerão na aba de transações. - + Connect to github on startup to check for updates Conectar ao github no arranque para verificar actualizações - + Connect to the internet to fetch hush prices Ligar á internet para vêr os preços da hush - + Theme Tema - + Lightwallet Server Servidor da Lightwallet - default - padrão + padrão - + Connection Conexão - blue - azul + azul - light - claro + claro - dark - escuro + escuro - + Fetch hush prices Verificar preços da hush - + Currency moeda - + AUD AUD - + BTC BTC - + CAD CAD - + CHF CHF - + CNY CNY - + EUR EUR - + GBP GBP - + INR INR - + RUB RUB - + USD USD @@ -2256,27 +2705,116 @@ Você possui fundos não confirmados ou o saldo é muito baixo para uma migraç Livro de Endereços - + Add New Address Adicionar Novo Endereço - + Address (z-Addr or t-Addr) Endereço (z-Addr ou t-Addr) - + + <html><head/><body><p>Nickname :</p></body></html> + + + + + HushChat Address - give this Address only to your contact + + + + + <html><head/><body><p>Conversation ID:</p></body></html> + + + + + SDLogo + + + + + Duke + + + + + Denio + + + + + Berg + + + + + Sharpee + + + + + Elsa + + + + + Yoda + + + + + Garflied + + + + + Snoopy + + + + + Popey + + + + + Pinguin + + + + + Mickey + + + + + Stag + + + + + <html><head/><body><p>Avatar :</p></body></html> + + + + + Create a new HushChat zaddr + + + Label - Etiqueta + Etiqueta - + Add to Address Book Adicionar a Agenda - + Import Address Book Importar livro de endereços @@ -2370,35 +2908,152 @@ Você possui fundos não confirmados ou o saldo é muito baixo para uma migraç Por favor note que vai ser preciso ter o serviço Tor configurado na porta 9050 + + deposithush + + + Deposit Hush + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Ubuntu'; font-size:16pt;">Please use the following hush address to transfer funds to SilentDragonLite. You can either copy the address or use the QR Code. </span></p></body></html> + + + + + <html><head/><body><p align="center">QR Code of your Hush Address</p></body></html> + + + + + <html><head/><body><p align="center"><span style=" text-decoration: underline;">Your Hush Address </span></p></body></html> + + + + + Hush zaddr + + + + + Copy Address + Copiar Endereço + + encryptionDialog - + Encrypt Your Wallet Encripte a Sua Carteira - + + Encryption Passphrase: + + + + + <html><head/><body><p><span style=" font-size:14pt; color:#ef2929;">WARNING:</span> If you forget your passphrase, the only way to recover the wallet is from the seed phrase. If you don't have a backup of your seed phrase, please do it now!</p></body></html> + + + + + Confirm Passphrase: + + + + + <html><head/><body><p><span style=" font-style:italic;">Passphrase don't match</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-style:italic;">16 letters minimum</span></p></body></html> + + + Encryption Password: - Palavra Passe de Encriptação + Palavra Passe de Encriptação - Confirm Password: - Confirmar Palavra Passe + Confirmar Palavra Passe - Passwords don't match - Palavra Passes não correspondem + Palavra Passes não correspondem - WARNING: If you forget your password, the only way to recover the wallet is from the seed phrase. - AVISO: Se se esquecer da sua palavra passe, a única maneira de recuperar a sua carteira é com a frase- + AVISO: Se se esquecer da sua palavra passe, a única maneira de recuperar a sua carteira é com a frase- semente. + + hushrequest + + + Request Payment + + + + + TextLabel + + + + + Request payment from a Sapling address. You'll send a hush 0.0001 transaction to the address with a hush payment URI. The memo will be included in the transaction when the address pays you. + Pedir pagamento de um endereço Sapling. Irá enviar 0.0001 hush para o endereço com o pagamento hush URI. O memo irá + ser incluído na transacção quando o endereço te pagar. + + + + Request From + Pedir desde + + + + zaddr + + + + + Amount in + Quantia em + + + + Amount + + + + + Amount USD + Quantia em USD + + + + Memo + + + + + My Address + O meu endereço + + + + The recipient will see this address in the "to" field when they pay your request. + O destinatários irá ver este endereço no campo "para" quando pagarem o teu pedido. + + newRecurringDialog @@ -2447,6 +3102,180 @@ Você possui fundos não confirmados ou o saldo é muito baixo para uma migraç Memo + + removeencryption + + + Decrypt Your Wallet + + + + + <html><head/><body><p><span style=" font-size:14pt; color:#ef2929;">WARNING:</span> If you remove your wallet.dat encryption, all your transactions and contacts are plaintext on disk!<br/><br/>Messages sent and received are always encrypted.</p></body></html> + + + + + <html><head/><body><p><span style=" font-style:italic;">16 letters minimum</span></p></body></html> + + + + + Encryption Passphrase: + + + + + Confirm Passphrase: + + + + + <html><head/><body><p><span style=" font-style:italic;">Passphrase don't match</span></p></body></html> + + + + + requestDialog + + + Incoming Contact Request + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Memo of the request</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Open requests</span></p></body></html> + + + + + Request from: + + + + + Add New Contact + + + + + <html><head/><body><p>Choose an avatar for your contact:</p></body></html> + + + + + My Zaddr: + + + + + Cancel + Cancelar + + + + SDLogo + + + + + Duke + + + + + Denio + + + + + Berg + + + + + Sharpee + + + + + Elsa + + + + + Yoda + + + + + Garfield + + + + + Snoopy + + + + + Popey + + + + + Pinguin + + + + + Mickey + + + + + Stag + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Recently closed requests</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Details of the request</span></p></body></html> + + + + + Give a Nickname: + + + + + startup + + + SDL Startup Decryption + + + + + <html><head/><body><p>If you have forgotten your passphrase, restore your wallet with your seed!</p></body></html> + + + + + Encryption Passphrase: + + + zboard diff --git a/res/silentdragonlite_sr.ts b/res/silentdragonlite_sr.ts index c965670..df26e36 100644 --- a/res/silentdragonlite_sr.ts +++ b/res/silentdragonlite_sr.ts @@ -4,69 +4,124 @@ AddressBookModel - + Label Oznaka - + Address Adresa + + + Avatar + + + + + HushChatAddress + + + + + CID + + BalancesTableModel - + Address Adresa - + Amount Količina + + ChatBubbleMe + + + Form + Od + + + + Lorem ipsum dolor sit amet + + + + + 12/03/2020 12:34 + 12/03/2020 12:34 + + + + ChatBubblePartner + + + Form + Od + + + + Lorem ipsum dolor sit amet + + + + + 12/03/2020 12:34 + 12/03/2020 12:34 + + ConnectionDialog - + SilentDragonLite SilentDragonLite - + + The Dragon Awakens... + + + Starting Up - Početak + Početak Controller - + Wallet Password Lozinka novčanika - + Your wallet is encrypted. Please enter your wallet password Vaš novčanik je šifrovan. Molimo unesite vašu lozinku - - + + Wallet Decryption Failed Dešifriranje novčanika neuspelo - + Please enter a valid password Molimo unesite valjanu lozinku - + Failed to unlock wallet Neuspeh prilikom otključavanja novčanika @@ -74,284 +129,442 @@ Molimo unesite vašu lozinku CreateWalletForm - Form - Od + Od + + + + Create New SDL Wallet + + + + + Confirm Passphrase: + - + Restore wallet from seed Vraćanje novčanika u početno stanje iz seed reči - + Restore an existing wallet, using the 24-word seed. Vratite postojeći novčanik u početno stanje koristeći seed od 24 reči. - + + Create a new wallet + + + + + Encryption Passphrase: + + + + + <html><head/><body><p><span style=" font-style:italic;">Passphrase don't match</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-style:italic;">16 letters minimum</span></p></body></html> + + + Create a new Wallet - Napravite novi novčanik + Napravite novi novčanik - + Create a new wallet with a randomly generated seed. Napravite novi novčanik sa nasumično odabranim seed rečima. + + Dialog + + + Send Contact Request + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert a nickname for your contact:</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Choose an avatar for your contact:</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert a memo for your request:</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Your HushChat Address:</span></p></body></html> + + + + + Create New Address + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert the address of your contact:</span></p></body></html> + + + + + <html><head/><body><p><span style=" color:#d3d7cf;">Generate your HushChat Address - please wait a second - </span></p></body></html> + + + + + SDLogo + + + + + Duke + + + + + Denio + + + + + Berg + + + + + Stag + + + + + Sharpee + + + + + Elsa + + + + + Yoda + + + + + Garfield + + + + + Snoopy + + + + + Popey + + + + + Pinguin + + + + + Mickey + + + + + 0/512 + 0/512 + + + + Add a memo to your request + + + + + Cancel + Odustani + + + + Add Contact and Send Request + + + MainWindow - + SilentDragonLite SilentDragonLite - + Balance Saldo - + Summary Rezime - + Shielded Zaštićeno - + Notarized Potvrđeno - + Transparent Transparentno - + Total Ukupno - + Your node is still syncing, balances may not be updated. Vaš čvor se još uvijek sinhronizuje, saldo neće biti ažuriran. - + Some transactions are not yet confirmed. Balances may change. Neke transakcije još nisu potvrđene. Saldo se može promeniti. - + + Deposit Hush + + + + Address Balances Saldo adrese - - + + Send Šalji - + Total notarized funds available: Ukupna dostupna potvrđena sredstva: - + Send To Pošalji - + Recipient Primalac - - - + + + Address Adresa - + Address Book Adresar - - + + Amount Količina - + Max Available Max dostupno - - - + + + Memo Poruka (memo) - + Add Recipient Dodaj primaoca - Recurring payment - Ponavljajuće plaćanje + Ponavljajuće plaćanje - Every month, starting 12-May-2012, for 6 payments - Svaki mesec s početkom 12-Maja-2012, u 6 rata + Svaki mesec s početkom 12-Maja-2012, u 6 rata - Edit Schedule - Uredi raspored + Uredi raspored - + Miner Fee Naknada za rudarenje - + 0 0 - + Cancel Odustani - + Receive Primiti - + Address Type Vrsta adrese - + z-Addr z-Adr - + t-Addr t-Adr - + Next Address - + Information about Hush - + <html><head/><body><p align="center"><span style=" font-weight:600;">Hush Blockchain Information</span></p></body></html> - - - - - - - - - - - - + + + + + + + + + + + + <html><head/><body><p align="center">|</p></body></html> - + Next Halving - + Difficulty - + Last Notarized Block - + Total Supply - + Longestchain - + BlockHeight - + Supply zAddr - + Supply tAddr - + <html><head/><body><p align="center"><span style=" font-weight:600;">Hush Market Information</span></p></body></html> - + Market Cap - + Volume on Exchanges - + <html><head/><body><p align="center">This is a Lightwallet, you cant mine with it!</p></body></html> @@ -360,43 +573,43 @@ Molimo unesite vašu lozinku Nova adresa - + View All Addresses Pogledaj sve adrese - + Label Oznaka - + Update Label Ažuriraj oznaku - + Address balance Saldo na adresi - + Optional Opciono - - + + Export Private Key Izvoz privatnog ključa - + Your node is still syncing, balances may not be updated Vaš čvor se još uvijek sinhronizuje, saldo neće biti ažuriran - + Transactions Transakcije @@ -409,18 +622,18 @@ Molimo unesite vašu lozinku Ovo je LaganiNovčanik, s njim ne možete rudariti! - - - - - - - - - - - - + + + + + + + + + + + + Loading... Učitavanje... @@ -429,12 +642,12 @@ Molimo unesite vašu lozinku visinaBloka - + Version hushlightd Verzija hushlightd - + Vendor Prodavač @@ -444,251 +657,277 @@ Molimo unesite vašu lozinku + HushChat + + + + + Incoming contact request + + + + + Add a new contact + + + + + Get a new Address + + + + + <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Contactlist</span></p></body></html> + + + + + <html><head/><body><p align="center"><span style=" font-weight:600;">Contact Name :</span></p></body></html> + + + + + <html><head/><body><p align="center"><br/></p></body></html> + + + + + The locks shows you the status of the message. Red lock = unconfirmed, green lock = min. 1 confirmations, orange lock = message is notarized + + + + &File &Datoteka - + &Help &Pomoć - + &Apps &Apps - + &Edit &Uredi - + E&xit &Izlaz - + &About &O - + &Settings &Podešavanja - + Ctrl+P Ctrl+P - + &Send DenioD Feedback &Pošalji DenioD povratne informacije - + &Hush Discord &Hush Discord - + &Hush Website &Hush Web stranica - + Check github.com for &updates Proveri na github.com &dopune - + &Export all private keys &Izvoz svih privatnih ključeva - + Address &book Adresna &knjiga - + Ctrl+B Ctrl+B - + &Export seed phrase &Izvoz seed fraze - - + + Export transactions Izvoz transakcija - + Pay hush &URI... Plati hush &URI... - + Connect mobile &app Spoji mobilnu &app - + Ctrl+M Ctrl+M - + &Recurring Payments &Ponavljajuća plaćanja - + Request hush... Zatraži hush... - + File a bug... Prijavi grešku... - + Encrypt Wallet Šifriraj novčanik - + Remove Wallet Encryption Uklonite šifrovanje novčanika - + Rescan Rescan - Wallet is already encrypted - Novčanik je već šifrovan + Novčanik je već šifrovan - Your wallet is already encrypted with a password. Please use 'Remove Wallet Encryption' if you want to remove the wallet encryption. - Vaš novčanik je već šifrovan lozinkom. + Vaš novčanik je već šifrovan lozinkom. Molimo koristite 'Uklonite šifrovanje novčanika' ako želite ukloniti šifrovanje novčanika. - + Passwords don't match Lozinke se ne podudaraju - Error was: - Greška je : + Greška je : - Wallet Encrypted - Novčanik šifrovan + Novčanik šifrovan - Your wallet was successfully encrypted! The password will be needed to send funds or export private keys. - Vaš novčanik je uspješno šifrovan! Lozinka će vam trebati za slanje sredstava ili za izvoz privatnih ključeva. + Vaš novčanik je uspješno šifrovan! Lozinka će vam trebati za slanje sredstava ili za izvoz privatnih ključeva. - - + + Wallet Encryption Failed Šifrovanje novčanika neuspelo - + Wallet is not encrypted Novčanik nije šifrovan - Your wallet is not encrypted with a password. - Vaš novčanik nije šifrovan sa lozinkom. + Vaš novčanik nije šifrovan sa lozinkom. - Wallet Password - Lozinka novčanika + Lozinka novčanika - Please enter your wallet password - Molimo unesite lozinku novčanika + Molimo unesite lozinku novčanika - - - Wallet Decryption Failed - Dešifrovanje novčanika neuspelo + Dešifrovanje novčanika neuspelo - Please enter a password to decrypt your wallet! - Molimo unesite lozinku za dešifrovanje novčanika! + Molimo unesite lozinku za dešifrovanje novčanika! - Wallet Encryption Removed - Šifrovanje novčanika uklonjeno + Šifrovanje novčanika uklonjeno - Your wallet was successfully decrypted! You will no longer need a password to send funds or export private keys. - Vaš novčanik je uspešno dešifrovan! Lozinka vam više neće trebati za slanje sredstava ili za izvoz privatnih ključeva. + Vaš novčanik je uspešno dešifrovan! Lozinka vam više neće trebati za slanje sredstava ili za izvoz privatnih ključeva. - - + + Copy txid Kopitajte txid - - + + Copy block explorer link - + View tx on block explorer Pogledaj tx na blok pregledaču - + Refresh Osveži - + Restart Ponovo pokreni - + Please restart Silentdragonlite to have the theme apply Molimo ponovo pokrenite SilentDragonLite ako želite primeniti temu - + Currency Change Razmena valuta @@ -697,12 +936,12 @@ Molimo koristite 'Uklonite šifrovanje novčanika' ako želite uklonit Molimo ponovo pokrenite SilentDragonLite ako želite primeniti novu valutu - + This change can take a few seconds. - + Some feedback about SilentDragonlite or Hush... Neke povratne informacije o SilentDragonLite ili Hush... @@ -711,133 +950,165 @@ Molimo koristite 'Uklonite šifrovanje novčanika' ako želite uklonit Pošaljite Duke neku privatnu i zaštićenu povratnu informaciju - + or SilentDragonLite ili SilentDragonLite - + Send DenioD some private and shielded feedback about - + Paste HUSH URI Zalepi HUSH URI - + Error paying HUSH URI Greška u plaćanju HUSH URI - + URI should be of the form 'hush:<addr>?amt=x&memo=y URI treba biti formata 'hush:<addr>?amt=x&memo=y - + Error Greška - + Error exporting transactions, file was not saved Greška prilikom izvoza transakcija, datoteka nije spremljena - + This is your wallet seed. Please back it up carefully and safely. Ovo je vaš seed novčanika. Molimo izradite rezervnu kopiju. - - + + Save File Spremi datoteku - - + + Unable to open file Nije moguće otvoriti datoteku - + Error getting private keys Greška u dohvaćanju privatnih ključeva - + Error loading private keys: Greška prilikom učitavanja privatnog ključa: - + These are all the private keys for all the addresses in your wallet Ovo su svi privatni ključevi svih adresa u vašem novčaniku - + Private key for Privatni ključ za - - + + Copy address Kopirajte adresu - - - + + + + Copied to clipboard Kopirano u mađuspremnik - + + + Wallet Encryption Success + + + + + Your wallet is not encrypted with a passphrase. + + + + + Wallet decryption Success + + + + + You still have plaintext data on your disk! + + + + Get private key Dobavi privatni ključ - - + + View on block explorer Pogledaj na blok pregledaču - + View Payment Request Pogledajte zahtjev o plaćanju - + View Memo Pogledajte poruku (memo) - + Reply to Odgovorite - + + Copied message to clipboard + + + + + Copied Txid to clipboard + + + + Created new t-Addr Napravljena je nova transparentna adresa - + Copy Address Kopirajte adresu - + Address has been previously used Adresa je već korištena - + Address is unused Adresa nije korištena @@ -862,22 +1133,19 @@ Molimo koristite 'Uklonite šifrovanje novčanika' ako želite uklonit Samo z-adrese mogu imati poruke - Memos can only be used with z-addresses - Poruke se mogu koristiti samo sa z-adresama + Poruke se mogu koristiti samo sa z-adresama - The memo field can only be used with a z-address. - Prostor za poruku se može koristiti samo sa z-adresom. + Prostor za poruku se može koristiti samo sa z-adresom. - doesn't look like a z-address - + ne izgleda kao z-adresa @@ -886,44 +1154,132 @@ ne izgleda kao z-adresa Greška u transakciji - + + Please wait... Molimo pričekajte... - + Computing your transaction Računamo vašu transakciju - + + Done! Gotovo! - + + + Recipient Address Adresa primatelja - + + + You have to select a contact and insert a Memo + + + + + + You have selected no Contact from Contactlist, + + + + + + + +or your Memo is empty + + + + + + Your Message is too long + + + + + + You can only write messages with 235 character maximum + + + + + + + + Please reduce your message to 235 character. + + + + + + Message Error + + + + + + is Invalid je neispravna - + + + Amount for address '%1' is invalid! Količina za adresu '%1' je nevaljala! - + + + + Not enough available funds to send this transaction + +Have: %1 +Need: %2 + +Note: Funds need 1 confirmations before they can be spent + Nema dovoljno dostupnih sredstava za slanje transakcije + +Imate: %1 +Trebate: %2 + +Opaska: Za trošenje sredstava potrebno je 5 konfirmacija {1 +?} {2 +?} {1 ?} + + + + Missing HushChat Address + + + + + You have to create your HushChat address to send a contact request, + + + + + + Your contact request will be sent + + + Not enough available funds to send this transaction Have: %1 Need: %2 Note: Funds need 5 confirmations before they can be spent - Nema dovoljno dostupnih sredstava za slanje transakcije + Nema dovoljno dostupnih sredstava za slanje transakcije Imate: %1 Trebate: %2 @@ -989,9 +1345,13 @@ Opaska: Za trošenje sredstava potrebno je 5 konfirmacija MobileAppConnector - Connect Mobile App - Spojite mobilnu applikaciju + Spojite mobilnu applikaciju + + + + Mobile Connector App + @@ -1040,6 +1400,14 @@ Opaska: Za trošenje sredstava potrebno je 5 konfirmacija Vrsta veze: + + NewOrRestorePage + + + Passphrase don't match or You have entered too few letters (16 minimum) + + + NewSeedForm @@ -1053,7 +1421,7 @@ Opaska: Za trošenje sredstava potrebno je 5 konfirmacija Ovo je vaša nova seed fraza novčanika. MOLIMO SIGURNO JU SPREMITE. - + The seed phrase is the only way to restore the wallet. If you forget the seed phrase, THERE IS NO WAY TO RESTORE YOUR WALLET AND THE FUNDS in it Jedino je pomoću seed fraze moguće ponovo obnoviti novčanik. Ako zaboravite seed frazu, NE POSTOJI NAČIN DA PONOVO OBNOVITE NOVČANIK I SREDSTVA unutra @@ -1061,17 +1429,17 @@ Opaska: Za trošenje sredstava potrebno je 5 konfirmacija NewSeedPage - + Error creating a wallet Greška u kreiranju novčanika - + Failed to save wallet Neuspelo spremanje novčanika - + Couldn't save the wallet Ne mogu spremiti novčanik @@ -1087,152 +1455,186 @@ Opaska: Za trošenje sredstava potrebno je 5 konfirmacija QObject - + Pick Odaberite - + + + Address or Label Error Greška u adresi ili oznaci - + + + Address or Label cannot be empty Adresa ili oznaka ne može biti prazno - + + + Address Format Error Greška u formatu adrese - + + + %1 doesn't seem to be a valid hush address. %1 čini se da nije valjana hush adresa. - + Label Error Greška oznake - + The label '%1' already exists. Please remove the existing label. Oznaka %1 već postoji.Molimo uklonite postojeću adresu. - - Import Address Book + + + Added Contact + + + + + + successfully added your new contact + + + + + Import Address Book Uvezite adresar - + Unable to open file Nije moguće otvoriti datoteku - + Address Book Import Done Završen unos adresara - + Imported %1 new Address book entries Uvezeno %1 novih adresa - + Copy address Kopirajte adresu - + Copied to clipboard Kopirano u mađuspremnik - + Delete label Izbrišite oznaku - + Attempting to initialize library with Poušavam pokrenuti zbirku sa - + Using existing wallet. Koristim postojeći novčanik. - + Create/restore wallet. Napravi/obnovi novčanik. - - + + Connection Error Greška sa vezom - - - + + + + + Transaction Error Greška u transakciji - + There was an error sending the transaction. The error was: Pojavila se greška prilikom slanja transakcije. Greška je: - - + + No Connection Nema veze - There was an error connecting to hushd. The error was - Pojavila se greška prilikom spajanja na hushd. Greška je + Pojavila se greška prilikom spajanja na hushd. Greška je - + + + - + Tx Tx - + + + - + failed neuspelo - - + + + + The transaction with id Transakcija sa ID - - + + + + failed. The error was nesupela. Greška je - + + There was an error connecting to the server. Please check your internet connection. The error was + + + + Update Available Dostupno ažuriranje - + A new release v%1 is available! You have v%2. Would you like to visit the releases page? @@ -1241,22 +1643,24 @@ Would you like to visit the releases page? Želite li posetiti stranicu sa izadnjima? - + No updates available Nema dostupnih ažuriranja - + You already have the latest release v%1 Već imate najnovije izdanje v%1 - + + Please wait for SilentDragonLite to exit Molimo pričekajte da se SilentDragonLite zatvori - + + Waiting for hushd to exit Čekam da hushd završi @@ -1292,7 +1696,7 @@ Would you like to visit the releases page? Sva buduća plaćanja će biti otkazana. - + Tx submitted (right click to copy) txid: Tx poslan (desni klik za kopiranje) txid: @@ -1347,9 +1751,13 @@ Would you like to visit the releases page? RecurringDialog - Dialog - Dialog + Dialog + + + + Reccuring Dialog + @@ -1403,9 +1811,13 @@ Would you like to visit the releases page? RecurringPayments - Payments - Plaćanja + Plaćanja + + + + Reocurring Payments + @@ -1460,9 +1872,13 @@ Would you like to visit the releases page? RecurringPending - Dialog - Dialog + Dialog + + + + Recurring Multiple Payments + @@ -1528,57 +1944,57 @@ Would you like to visit the releases page? Zahtev o plaćanju - + AddressBook Adresar - + Request From Zatraži od - + My Address Moja adresa - + Amount in Količina u - + z address z adresa - + Amount Količina - + The recipient will see this address in the "to" field when they pay your request. Primalac će prilikom plaćanja videti ovu adresu u "za" polju. - + Amount USD Količina USD - + Memo Poruka (memo) - + TextLabel TekstOznaka - + Request payment from a Sapling address. You'll send a hush 0.0001 transaction to the address with a hush payment URI. The memo will be included in the transaction when the address pays you. Zatraži plaćanje iz sapling adrese. Poslat ćete 0.0001 husha transakciju na adresu sa hush URI nalogom. Poruka (memo) će biti uključena u transakciji kada vas adresa plati. @@ -1616,9 +2032,13 @@ Would you like to visit the releases page? RestoreSeedForm - Form - Od + Od + + + + Restore Wallet Seed + @@ -1649,38 +2069,38 @@ Would you like to visit the releases page? RestoreSeedPage - - + + Failed to restore wallet Neuspelo obnavljanje novčanika - + SilentDragonLite needs 24 words to restore wallet SilentDragonLite treba 24 reči za obnovu novčanika - + Failed to parse wallet birthday Neuspelo očitanje rođendana novčanika - + Couldn't understand wallet birthday. This should be a block height from where to rescan the wallet. You can leave it as '0' if you don't know what it should be. Nisam u mogućnosti razumeti rođendan novčanika. To bi trebala bi biti visina bloka od koje počinje rescan novčanika. Ako ne znate koja je, možete ostaviti '0'. - + Couldn't restore the wallet Nemoguće obnoviti novčanik - + Failed to save wallet Neuspeh spremanja novčanika - + Couldn't save the wallet Nemoguće spremiti novčanik @@ -1688,122 +2108,143 @@ Would you like to visit the releases page? Settings - + Settings Postavke - + Connection Veza - + Lightwallet Server Server LaganiNovčanik - + Options Opcije - default - početno + početno - blue - plavo + plavo - light - svetlo + svetlo - dark - tamno + tamno - + + Dark + + + + + Midnight + + + + + Light + + + + + Blue + + + + + Default + + + + Fetch hush prices Zatraži hush cene - + Check github for updates at startup Prilikom pokretanja proverite ažuriranja na githubu - + Connect to github on startup to check for updates Prilikom pokretanja proverite ažuriranja na githubu - + Theme Teme - + Connect to the internet to fetch hush prices Spoji se na Internet i dohvati hush cene - + Currency Valuta - + AUD AUD - + BTC BTC - + CAD CAD - + CHF CHF - + CNY CNY - + EUR EUR - + GBP GBP - + INR INR - + RUB - + USD USD @@ -1850,27 +2291,116 @@ Would you like to visit the releases page? Adresar - + Add New Address Dodaj novu adresu - + Address (z-Addr or t-Addr) Adresa (z-adresa ili t-adresa) - + + <html><head/><body><p>Nickname :</p></body></html> + + + + + HushChat Address - give this Address only to your contact + + + + + <html><head/><body><p>Conversation ID:</p></body></html> + + + + + SDLogo + + + + + Duke + + + + + Denio + + + + + Berg + + + + + Sharpee + + + + + Elsa + + + + + Yoda + + + + + Garflied + + + + + Snoopy + + + + + Popey + + + + + Pinguin + + + + + Mickey + + + + + Stag + + + + + <html><head/><body><p>Avatar :</p></body></html> + + + + + Create a new HushChat zaddr + + + Label - Oznaka + Oznaka - + Add to Address Book Dodaj u adresar - + Import Address Book Uvezite adresar @@ -1964,32 +2494,148 @@ Would you like to visit the releases page? <html><head/><body><p>Preskače najskuplje provere tokom početnog preuzimanja bloka. <a href="https://docs.silentdragon.co/using-silentdragon/#fastsync"><span style=" text-decoration: underline; color:#0000ff;">Saznaj više</span></a></p></body></html> + + deposithush + + + Deposit Hush + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Ubuntu'; font-size:16pt;">Please use the following hush address to transfer funds to SilentDragonLite. You can either copy the address or use the QR Code. </span></p></body></html> + + + + + <html><head/><body><p align="center">QR Code of your Hush Address</p></body></html> + + + + + <html><head/><body><p align="center"><span style=" text-decoration: underline;">Your Hush Address </span></p></body></html> + + + + + Hush zaddr + + + + + Copy Address + Kopirajte adresu + + encryptionDialog - + Encrypt Your Wallet Šifrujte vaš novčanik - + + Encryption Passphrase: + + + + + <html><head/><body><p><span style=" font-size:14pt; color:#ef2929;">WARNING:</span> If you forget your passphrase, the only way to recover the wallet is from the seed phrase. If you don't have a backup of your seed phrase, please do it now!</p></body></html> + + + + + Confirm Passphrase: + + + + + <html><head/><body><p><span style=" font-style:italic;">Passphrase don't match</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-style:italic;">16 letters minimum</span></p></body></html> + + + Encryption Password: - Lozinka šifrovanja: + Lozinka šifrovanja: - Confirm Password: - Potvrdite lozinku: + Potvrdite lozinku: - Passwords don't match - Lozinke se ne podudaraju + Lozinke se ne podudaraju - WARNING: If you forget your password, the only way to recover the wallet is from the seed phrase. - UPOZORENJE: Ako zaboravite lozinku, jedini način da obnovite novčanik je iz seed fraze. + UPOZORENJE: Ako zaboravite lozinku, jedini način da obnovite novčanik je iz seed fraze. + + + + hushrequest + + + Request Payment + + + + + TextLabel + TekstOznaka + + + + Request payment from a Sapling address. You'll send a hush 0.0001 transaction to the address with a hush payment URI. The memo will be included in the transaction when the address pays you. + Zatraži plaćanje iz sapling adrese. Poslat ćete 0.0001 husha transakciju na adresu sa hush URI nalogom. Poruka (memo) će biti uključena u transakciji kada vas adresa plati. + + + + Request From + Zatraži od + + + + zaddr + + + + + Amount in + Količina u + + + + Amount + Količina + + + + Amount USD + Količina USD + + + + Memo + Poruka (memo) + + + + My Address + Moja adresa + + + + The recipient will see this address in the "to" field when they pay your request. + Primalac će prilikom plaćanja videti ovu adresu u "za" polju. @@ -2041,4 +2687,178 @@ Would you like to visit the releases page? Broj uplata + + removeencryption + + + Decrypt Your Wallet + + + + + <html><head/><body><p><span style=" font-size:14pt; color:#ef2929;">WARNING:</span> If you remove your wallet.dat encryption, all your transactions and contacts are plaintext on disk!<br/><br/>Messages sent and received are always encrypted.</p></body></html> + + + + + <html><head/><body><p><span style=" font-style:italic;">16 letters minimum</span></p></body></html> + + + + + Encryption Passphrase: + + + + + Confirm Passphrase: + + + + + <html><head/><body><p><span style=" font-style:italic;">Passphrase don't match</span></p></body></html> + + + + + requestDialog + + + Incoming Contact Request + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Memo of the request</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Open requests</span></p></body></html> + + + + + Request from: + + + + + Add New Contact + + + + + <html><head/><body><p>Choose an avatar for your contact:</p></body></html> + + + + + My Zaddr: + + + + + Cancel + Odustani + + + + SDLogo + + + + + Duke + + + + + Denio + + + + + Berg + + + + + Sharpee + + + + + Elsa + + + + + Yoda + + + + + Garfield + + + + + Snoopy + + + + + Popey + + + + + Pinguin + + + + + Mickey + + + + + Stag + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Recently closed requests</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Details of the request</span></p></body></html> + + + + + Give a Nickname: + + + + + startup + + + SDL Startup Decryption + + + + + <html><head/><body><p>If you have forgotten your passphrase, restore your wallet with your seed!</p></body></html> + + + + + Encryption Passphrase: + + + diff --git a/res/silentdragonlite_tr.ts b/res/silentdragonlite_tr.ts index b9c2ebf..ef5c01a 100644 --- a/res/silentdragonlite_tr.ts +++ b/res/silentdragonlite_tr.ts @@ -4,29 +4,80 @@ AddressBookModel - + Label Etiket - + Address Adres + + + Avatar + + + + + HushChatAddress + + + + + CID + + BalancesTableModel - + Address Adres - + Amount Miktar + + ChatBubbleMe + + + Form + + + + + Lorem ipsum dolor sit amet + + + + + 12/03/2020 12:34 + 12/03/2020 12:34 + + + + ChatBubblePartner + + + Form + + + + + Lorem ipsum dolor sit amet + + + + + 12/03/2020 12:34 + 12/03/2020 12:34 + + ConnectionDialog @@ -38,42 +89,46 @@ silentdragon - + SilentDragonLite - + + The Dragon Awakens... + + + Starting Up - Başlatılıyor + Başlatılıyor Controller - + Wallet Password - + Your wallet is encrypted. Please enter your wallet password - - + + Wallet Decryption Failed - + Please enter a valid password - + Failed to unlock wallet @@ -82,30 +137,178 @@ Please enter your wallet password CreateWalletForm - Form + Create New SDL Wallet - + + Confirm Passphrase: + + + + Restore wallet from seed - + Restore an existing wallet, using the 24-word seed. - - Create a new Wallet + + Create a new wallet + + + + + Encryption Passphrase: + + + + + <html><head/><body><p><span style=" font-style:italic;">Passphrase don't match</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-style:italic;">16 letters minimum</span></p></body></html> - + Create a new wallet with a randomly generated seed. + + Dialog + + + Send Contact Request + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert a nickname for your contact:</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Choose an avatar for your contact:</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert a memo for your request:</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Your HushChat Address:</span></p></body></html> + + + + + Create New Address + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert the address of your contact:</span></p></body></html> + + + + + <html><head/><body><p><span style=" color:#d3d7cf;">Generate your HushChat Address - please wait a second - </span></p></body></html> + + + + + SDLogo + + + + + Duke + + + + + Denio + + + + + Berg + + + + + Stag + + + + + Sharpee + + + + + Elsa + + + + + Yoda + + + + + Garfield + + + + + Snoopy + + + + + Popey + + + + + Pinguin + + + + + Mickey + + + + + 0/512 + 0/512 + + + + Add a memo to your request + + + + + Cancel + İptal + + + + Add Contact and Send Request + + + MainWindow @@ -113,27 +316,27 @@ Please enter your wallet password silentdragon - + Balance Bakiye - + Summary Özet - + Shielded Korumalı - + Transparent Transparan - + Total Toplam @@ -142,13 +345,13 @@ Please enter your wallet password Bazı işlemler henüz onaylanmadı - + Address Balances Adres Bakiyeleri - - + + Send Gönder @@ -161,145 +364,185 @@ Please enter your wallet password Adres Bakiyesi - + Send To Alıcıya Gönder - + Recipient Alıcı - - - + + + Address Adres - + Address Book Adres Defteri - - + + Amount Miktar - + Max Available Maks. Kullanılabilir - - - + + + Memo Memo - + Add Recipient Alıcı Ekle - + Miner Fee Madenci Ücreti - + 0 0 - + Cancel İptal - + Receive Al - + Address Type Adres Tipi - + Next Address - + Information about Hush - + <html><head/><body><p align="center"><span style=" font-weight:600;">Hush Blockchain Information</span></p></body></html> - - - - - - - - - - - - + + + + + + + + + + + + <html><head/><body><p align="center">|</p></body></html> - + Next Halving - + Difficulty - + Last Notarized Block - + Total Supply - + Longestchain - + + HushChat + + + + + Incoming contact request + + + + + Add a new contact + + + + + Get a new Address + + + + + <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Contactlist</span></p></body></html> + + + + + <html><head/><body><p align="center"><span style=" font-weight:600;">Contact Name :</span></p></body></html> + + + + + <html><head/><body><p align="center"><br/></p></body></html> + + + + + The locks shows you the status of the message. Red lock = unconfirmed, green lock = min. 1 confirmations, orange lock = message is notarized + + + + &Hush Discord - + &Hush Website @@ -308,7 +551,7 @@ Please enter your wallet password z-Adres(Sapling) - + t-Addr t-Adres @@ -321,52 +564,54 @@ Please enter your wallet password silentdragon - + Your node is still syncing, balances may not be updated Düğümünüz hala senkronize oluyor, bakiyeler güncellenmeyebilir - Recurring payment - Düzenli ödeme + Düzenli ödeme - + SilentDragonLite - + Notarized - + Your node is still syncing, balances may not be updated. - + Some transactions are not yet confirmed. Balances may change. - + + Deposit Hush + + + + Total notarized funds available: - Every month, starting 12-May-2012, for 6 payments - Her ay, 12-May-2012'den itibaren, 6 ödeme için + Her ay, 12-May-2012'den itibaren, 6 ödeme için - Edit Schedule - Programı Düzenle + Programı Düzenle - + z-Addr z-Adres @@ -375,98 +620,98 @@ Please enter your wallet password Yeni Adres - + View All Addresses Tüm Adresleri Görüntüle - + Label Etiket - + Update Label Etiketi Güncelle - + Address balance Adres bakiyesi - + Optional İsteğe bağlı - - + + Export Private Key Özel Anahtarı Dışarı Aktar - + Transactions İşlemler - + Version hushlightd - + BlockHeight - + Supply zAddr - + Supply tAddr - + <html><head/><body><p align="center"><span style=" font-weight:600;">Hush Market Information</span></p></body></html> - + Market Cap - + Volume on Exchanges - + <html><head/><body><p align="center">This is a Lightwallet, you cant mine with it!</p></body></html> - + &Send DenioD Feedback - + Encrypt Wallet - + Remove Wallet Encryption - + Rescan Yeniden tara @@ -479,18 +724,18 @@ Please enter your wallet password Şu anda madencilik yapmıyorsunuz - - - - - - - - - - - - + + + + + + + + + + + + Loading... Yükleniyor... @@ -503,7 +748,7 @@ Please enter your wallet password Ağ çözüm oranı - + Vendor Bağlantılar @@ -512,42 +757,42 @@ Please enter your wallet password | - + &File Dosya - + &Help Yardım - + &Apps Uygulamalar - + &Edit Düzenle - + E&xit Çıkış - + &About Hakkında - + &Settings Ayarlar - + Ctrl+P Ctrl+P @@ -556,7 +801,7 @@ Please enter your wallet password Bağış Yap - + Check github.com for &updates Güncellemeler için github.com adresini kontrol edin @@ -573,48 +818,48 @@ Please enter your wallet password Özel anahtarı içeri aktar - + &Export all private keys Tüm özel anahtarları dışarı aktar - + &Export seed phrase - - + + Export transactions İşlemleri dışa aktar - + Pay hush &URI... hush URI öde... - + Connect mobile &app Mobil uygulamayı bağla - + Ctrl+M Ctrl+M - + &Recurring Payments Düzenli Ödemeler - + Request hush... hush iste... - + File a bug... Hata bildir... @@ -631,12 +876,12 @@ Please enter your wallet password Ctrl+A, Ctrl+Z - + Address &book Adres defteri - + Ctrl+B Ctrl+B @@ -686,12 +931,12 @@ Please enter your wallet password hushd henüz hazır değil. Lütfen arayüzün yüklenmesini bekleyin - + View tx on block explorer İşlemi blok gezgininde görüntüle - + Refresh Yenile @@ -756,7 +1001,7 @@ Please enter your wallet password hush URI ödeme hatası - + URI should be of the form 'hush:<addr>?amt=x&memo=y URI bu şekilde olmalıdır: 'hush:<addr>?amt=x&memo=y @@ -770,12 +1015,12 @@ Please enter your wallet password YOUR_TRANSLATION_HERE - + Error Hata - + Error exporting transactions, file was not saved İşlemler dışa aktarılırken hata oluştu, dosya kaydedilmedi @@ -812,154 +1057,91 @@ Please enter your wallet password Bu birkaç dakika sürebilir. Yükleniyor... - + These are all the private keys for all the addresses in your wallet Bunlar, cüzdanınızdaki tüm adreslerin özel anahtarlarıdır - + Private key for için özel anahtar - - + + Save File Dosyayı Kaydet - - Wallet is already encrypted - - - - - Your wallet is already encrypted with a password. -Please use 'Remove Wallet Encryption' if you want to remove the wallet encryption. - - - - + Passwords don't match - - Error was: - - - - - - Wallet Encrypted - - - - - Your wallet was successfully encrypted! The password will be needed to send funds or export private keys. - - - - - + + Wallet Encryption Failed - + Wallet is not encrypted - - Your wallet is not encrypted with a password. - - - - - Wallet Password - - - - - Please enter your wallet password - - - - - - - Wallet Decryption Failed - - - - - Please enter a password to decrypt your wallet! - - - - - Wallet Encryption Removed - - - - - Your wallet was successfully decrypted! You will no longer need a password to send funds or export private keys. - - - - - + + Copy block explorer link - + Currency Change - + This is your wallet seed. Please back it up carefully and safely. - - + + Unable to open file Dosya açılamıyor - + Error getting private keys - + Error loading private keys: - - + + Copy address Adresi kopyala - - - + + + + Copied to clipboard Panoya kopyalandı - + Get private key Özel anahtarı al - - + + View on block explorer Blok gezgini üzerinde göster @@ -968,83 +1150,114 @@ Please use 'Remove Wallet Encryption' if you want to remove the wallet Sapling'e geç - + Copy Address Adresi kopyala - + Address has been previously used Adres daha önce kullanılmış - + Address is unused Adres kullanılmamış - - + + Copy txid txid'i kopyala - + + + Wallet Encryption Success + + + + + Your wallet is not encrypted with a passphrase. + + + + + Wallet decryption Success + + + + + You still have plaintext data on your disk! + + + + Restart - + Please restart Silentdragonlite to have the theme apply - + This change can take a few seconds. - + Some feedback about SilentDragonlite or Hush... - + or SilentDragonLite - + Send DenioD some private and shielded feedback about - + Paste HUSH URI - + Error paying HUSH URI - + View Payment Request Ödeme Talebini Görüntüle - + View Memo Memo'yu Görüntüle - + Reply to - + + Copied message to clipboard + + + + + Copied Txid to clipboard + + + + Created new t-Addr Yeni t-Addr oluşturuldu @@ -1069,49 +1282,38 @@ Please use 'Remove Wallet Encryption' if you want to remove the wallet Sadece z-adres'leri memo'lara sahip olabilir - Memos can only be used with z-addresses - Memo'lar yalnızca z-adres'leriyle kullanılabilir + Memo'lar yalnızca z-adres'leriyle kullanılabilir - The memo field can only be used with a z-address. - Memo alanı yalnızca bir z-adres'i ile kullanılabilir. + Memo alanı yalnızca bir z-adres'i ile kullanılabilir. - doesn't look like a z-address - + z-adres'i gibi görünmüyor - + + Please wait... - + Computing your transaction - + + Done! - - - Not enough available funds to send this transaction - -Have: %1 -Need: %2 - -Note: Funds need 5 confirmations before they can be spent - - Change from Şuradan para üstü @@ -1134,20 +1336,100 @@ Note: Funds need 5 confirmations before they can be spent Gönderen Adresi Geçersiz - + + + You have to select a contact and insert a Memo + + + + + + You have selected no Contact from Contactlist, + + + + + + + +or your Memo is empty + + + + + + Your Message is too long + + + + + + You can only write messages with 235 character maximum + + + + + + + + Please reduce your message to 235 character. + + + + + + Message Error + + + + + + Recipient Address Alıcı Adresi - + + + is Invalid geçersizdir - + + + Amount for address '%1' is invalid! '% 1' adresinin tutarı geçersiz! + + + + + Not enough available funds to send this transaction + +Have: %1 +Need: %2 + +Note: Funds need 1 confirmations before they can be spent + + + + + Missing HushChat Address + + + + + You have to create your HushChat address to send a contact request, + + + + + + Your contact request will be sent + + MemoDialog @@ -1214,9 +1496,13 @@ Note: Funds need 5 confirmations before they can be spent MobileAppConnector - Connect Mobile App - Mobil Uygulamaya Bağlan + Mobil Uygulamaya Bağlan + + + + Mobile Connector App + @@ -1265,6 +1551,14 @@ Note: Funds need 5 confirmations before they can be spent Bağlantı tipi: + + NewOrRestorePage + + + Passphrase don't match or You have entered too few letters (16 minimum) + + + NewSeedForm @@ -1278,7 +1572,7 @@ Note: Funds need 5 confirmations before they can be spent - + The seed phrase is the only way to restore the wallet. If you forget the seed phrase, THERE IS NO WAY TO RESTORE YOUR WALLET AND THE FUNDS in it @@ -1286,17 +1580,17 @@ Note: Funds need 5 confirmations before they can be spent NewSeedPage - + Error creating a wallet - + Failed to save wallet - + Couldn't save the wallet @@ -1444,29 +1738,37 @@ daemon=1 hushd'nin eş bağlantısı yok - There was an error connecting to hushd. The error was - hushd ile bağlantı kurulurken bir hata oluştu. Hata + hushd ile bağlantı kurulurken bir hata oluştu. Hata - - + + + + The transaction with id id ile işlem - - + + + + failed. The error was başarısız oldu. Hata - + + There was an error connecting to the server. Please check your internet connection. The error was + + + + Update Available Güncelleme Mevcut - + A new release v%1 is available! You have v%2. Would you like to visit the releases page? @@ -1475,17 +1777,18 @@ Would you like to visit the releases page? Yayınlanan sürümler sayfasını ziyaret etmek ister misiniz? - + No updates available Güncelleme yok - + You already have the latest release v%1 Zaten en son sürüme (v%1) sahipsiniz - + + Please wait for SilentDragonLite to exit @@ -1503,16 +1806,20 @@ Yayınlanan sürümler sayfasını ziyaret etmek ister misiniz? Düzenli İşlem Hesaplama: - + + + - + failed başarısız oldu - + + + - + Tx işlem @@ -1551,7 +1858,8 @@ Yayınlanan sürümler sayfasını ziyaret etmek ister misiniz? Lütfen çıkmak için silentdragon'i bekleyin - + + Waiting for hushd to exit Çıkmak için hushd bekleniyor @@ -1592,46 +1900,50 @@ Lütfen Düzenle->Ayarlar menüsünde sunucu/bağlantı noktası ve kullanıc Bu birkaç saat sürebilir - + Attempting to initialize library with - + Using existing wallet. - + Create/restore wallet. - - + + Connection Error Bağlantı Hatası - - - + + + + + Transaction Error İşlem Hatası - + There was an error sending the transaction. The error was: İşlem gönderilirken bir hata oluştu. Hata: - - + + No Connection Bağlantı Yok - + + + Address Format Error Adres Formatı Hatası @@ -1640,72 +1952,90 @@ Lütfen Düzenle->Ayarlar menüsünde sunucu/bağlantı noktası ve kullanıc geçerli bir hush adresi gibi görünmüyor. - + Pick Seç - + + + Address or Label Error Adres veya Etiket Hatası - + + + Address or Label cannot be empty Adres veya Etiket boş olamaz - + + + %1 doesn't seem to be a valid hush address. %1 geçerli bir hush adresi gibi gözükmüyor. - + Label Error Etiket Hatası - + The label '%1' already exists. Please remove the existing label. '%1' etiketi zaten var. Lütfen mevcut etiketi kaldırın. - + + + Added Contact + + + + + + successfully added your new contact + + + + Import Address Book Adres Defterini İçe Aktar - + Unable to open file Dosya açılamıyor - + Address Book Import Done Adres Defteri İçe Aktarma İşlemi Yapıldı - + Imported %1 new Address book entries %1 yeni Adres defteri girişi içeri aktarıldı - + Copy address Adresi kopyala - + Copied to clipboard Panoya kopyalandı - + Delete label Etiketi sil - + Tx submitted (right click to copy) txid: İşlem gönderildi (kopyalamak için sağ tıklayın) id: @@ -1774,9 +2104,13 @@ Onaylanmamış fonunuz var veya otomatik geçiş için bakiye çok düşük. RecurringDialog - Dialog - Diyalog + Diyalog + + + + Reccuring Dialog + @@ -1830,9 +2164,13 @@ Onaylanmamış fonunuz var veya otomatik geçiş için bakiye çok düşük. RecurringPayments - Payments - Ödemeler + Ödemeler + + + + Reocurring Payments + @@ -1887,9 +2225,13 @@ Onaylanmamış fonunuz var veya otomatik geçiş için bakiye çok düşük. RecurringPending - Dialog - Diyalog + Diyalog + + + + Recurring Multiple Payments + @@ -1955,57 +2297,57 @@ Onaylanmamış fonunuz var veya otomatik geçiş için bakiye çok düşük.Ödeme Talebi - + AddressBook Adres Defteri - + Request From İstek Adresi - + My Address Benim Adresim - + Amount in Miktar: - + z address z adres - + Amount Miktar - + The recipient will see this address in the "to" field when they pay your request. Alıcı, isteğinizi ödediğinde bu adresi "alıcı" alanında görecektir. - + Amount USD USD Miktarı - + Memo Memo - + TextLabel Metin Etiketi - + Request payment from a Sapling address. You'll send a hush 0.0001 transaction to the address with a hush payment URI. The memo will be included in the transaction when the address pays you. Bir Sapling adresinden ödeme talep edin. Bir hush ödeme URI'si olan bir adrese hush 0.0001 işlemi gönderirsiniz. Adres size ödeme yaptığında Memo işleme dahil edilecektir. @@ -2044,7 +2386,7 @@ Onaylanmamış fonunuz var veya otomatik geçiş için bakiye çok düşük.RestoreSeedForm - Form + Restore Wallet Seed @@ -2076,38 +2418,38 @@ Onaylanmamış fonunuz var veya otomatik geçiş için bakiye çok düşük. RestoreSeedPage - - + + Failed to restore wallet - + SilentDragonLite needs 24 words to restore wallet - + Failed to parse wallet birthday - + Couldn't understand wallet birthday. This should be a block height from where to rescan the wallet. You can leave it as '0' if you don't know what it should be. - + Couldn't restore the wallet - + Failed to save wallet - + Couldn't save the wallet @@ -2115,7 +2457,7 @@ Onaylanmamış fonunuz var veya otomatik geçiş için bakiye çok düşük. Settings - + Settings Ayarlar @@ -2140,7 +2482,7 @@ Onaylanmamış fonunuz var veya otomatik geçiş için bakiye çok düşük.RPC Şifresi - + Options Seçenekler @@ -2149,7 +2491,7 @@ Onaylanmamış fonunuz var veya otomatik geçiş için bakiye çok düşük.Tor ile bağlan - + Check github for updates at startup Başlangıçta güncellemeler için github'u kontrol et @@ -2162,12 +2504,12 @@ Onaylanmamış fonunuz var veya otomatik geçiş için bakiye çok düşük.Tor ağına 127.0.0.1:9050'de çalışan SOCKS proxy üzerinden bağlanın. Lütfen Tor servisini harici olarak kurmanız ve çalıştırmanız gerektiğini lütfen unutmayın. - + Connect to github on startup to check for updates Güncellemeleri denetlemek için başlangıçta github'a bağlanır - + Connect to the internet to fetch hush prices hush fiyatlarını çekmek için internete bağlanır @@ -2176,97 +2518,102 @@ Onaylanmamış fonunuz var veya otomatik geçiş için bakiye çok düşük.hush / USD fiyatlarını çek - + Theme - - default + + Connection - - Connection + + Lightwallet Server - - Lightwallet Server + + Dark - - blue + + Midnight - - light + + Light - - dark + + Blue - + + Default + + + + Fetch hush prices - + Currency - + AUD - + BTC - + CAD - + CHF - + CNY - + EUR - + GBP - + INR - + RUB - + USD @@ -2441,27 +2788,116 @@ Onaylanmamış fonunuz var veya otomatik geçiş için bakiye çok düşük.Adres Defteri - + Add New Address Yeni Adres Ekle - + Address (z-Addr or t-Addr) Adres (z-Adres veya t-Adres) - + + <html><head/><body><p>Nickname :</p></body></html> + + + + + HushChat Address - give this Address only to your contact + + + + + <html><head/><body><p>Conversation ID:</p></body></html> + + + + + SDLogo + + + + + Duke + + + + + Denio + + + + + Berg + + + + + Sharpee + + + + + Elsa + + + + + Yoda + + + + + Garflied + + + + + Snoopy + + + + + Popey + + + + + Pinguin + + + + + Mickey + + + + + Stag + + + + + <html><head/><body><p>Avatar :</p></body></html> + + + + + Create a new HushChat zaddr + + + Label - Etiket + Etiket - + Add to Address Book Adres Defterine Ekle - + Import Address Book Adres Defterini İçe Aktar @@ -2571,33 +3007,133 @@ Onaylanmamış fonunuz var veya otomatik geçiş için bakiye çok düşük.<html><head/><body><p>Blok indirme işlemi sırasında en uzun süren kontrolleri atlar. <a href="https://docs.silentdragon.co/using-silentdragon/#fastsync"><span style=" text-decoration: underline; color:#0000ff;">Daha fazla bilgi edin</span></a></p></body></html> + + deposithush + + + Deposit Hush + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Ubuntu'; font-size:16pt;">Please use the following hush address to transfer funds to SilentDragonLite. You can either copy the address or use the QR Code. </span></p></body></html> + + + + + <html><head/><body><p align="center">QR Code of your Hush Address</p></body></html> + + + + + <html><head/><body><p align="center"><span style=" text-decoration: underline;">Your Hush Address </span></p></body></html> + + + + + Hush zaddr + + + + + Copy Address + Adresi kopyala + + encryptionDialog - + Encrypt Your Wallet - - Encryption Password: + + Encryption Passphrase: - - Confirm Password: + + <html><head/><body><p><span style=" font-size:14pt; color:#ef2929;">WARNING:</span> If you forget your passphrase, the only way to recover the wallet is from the seed phrase. If you don't have a backup of your seed phrase, please do it now!</p></body></html> - - Passwords don't match + + Confirm Passphrase: + + + + + <html><head/><body><p><span style=" font-style:italic;">Passphrase don't match</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-style:italic;">16 letters minimum</span></p></body></html> + + + + + hushrequest + + + Request Payment - - WARNING: If you forget your password, the only way to recover the wallet is from the seed phrase. + + TextLabel + Metin Etiketi + + + + Request payment from a Sapling address. You'll send a hush 0.0001 transaction to the address with a hush payment URI. The memo will be included in the transaction when the address pays you. + Bir Sapling adresinden ödeme talep edin. Bir hush ödeme URI'si olan bir adrese hush 0.0001 işlemi gönderirsiniz. Adres size ödeme yaptığında Memo işleme dahil edilecektir. + + + + Request From + İstek Adresi + + + + zaddr + + + Amount in + Miktar: + + + + Amount + Miktar + + + + Amount USD + USD Miktarı + + + + Memo + Memo + + + + My Address + Benim Adresim + + + + The recipient will see this address in the "to" field when they pay your request. + Alıcı, isteğinizi ödediğinde bu adresi "alıcı" alanında görecektir. + newRecurringDialog @@ -2647,6 +3183,180 @@ Onaylanmamış fonunuz var veya otomatik geçiş için bakiye çok düşük.Ödeme sayısı + + removeencryption + + + Decrypt Your Wallet + + + + + <html><head/><body><p><span style=" font-size:14pt; color:#ef2929;">WARNING:</span> If you remove your wallet.dat encryption, all your transactions and contacts are plaintext on disk!<br/><br/>Messages sent and received are always encrypted.</p></body></html> + + + + + <html><head/><body><p><span style=" font-style:italic;">16 letters minimum</span></p></body></html> + + + + + Encryption Passphrase: + + + + + Confirm Passphrase: + + + + + <html><head/><body><p><span style=" font-style:italic;">Passphrase don't match</span></p></body></html> + + + + + requestDialog + + + Incoming Contact Request + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Memo of the request</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Open requests</span></p></body></html> + + + + + Request from: + + + + + Add New Contact + + + + + <html><head/><body><p>Choose an avatar for your contact:</p></body></html> + + + + + My Zaddr: + + + + + Cancel + İptal + + + + SDLogo + + + + + Duke + + + + + Denio + + + + + Berg + + + + + Sharpee + + + + + Elsa + + + + + Yoda + + + + + Garfield + + + + + Snoopy + + + + + Popey + + + + + Pinguin + + + + + Mickey + + + + + Stag + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Recently closed requests</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Details of the request</span></p></body></html> + + + + + Give a Nickname: + + + + + startup + + + SDL Startup Decryption + + + + + <html><head/><body><p>If you have forgotten your passphrase, restore your wallet with your seed!</p></body></html> + + + + + Encryption Passphrase: + + + zboard diff --git a/res/silentdragonlite_zh.ts b/res/silentdragonlite_zh.ts index 3eaf441..a22ee06 100644 --- a/res/silentdragonlite_zh.ts +++ b/res/silentdragonlite_zh.ts @@ -4,29 +4,80 @@ AddressBookModel - + Label 标签 - + Address 地址 + + + Avatar + + + + + HushChatAddress + + + + + CID + + BalancesTableModel - + Address 地址 - + Amount 金额 + + ChatBubbleMe + + + Form + + + + + Lorem ipsum dolor sit amet + + + + + 12/03/2020 12:34 + 12/03/2020 12:34 + + + + ChatBubblePartner + + + Form + + + + + Lorem ipsum dolor sit amet + + + + + 12/03/2020 12:34 + 12/03/2020 12:34 + + ConnectionDialog @@ -34,42 +85,46 @@ hush钱包 - + SilentDragonLite - + + The Dragon Awakens... + + + Starting Up - 启动中 + 启动中 Controller - + Wallet Password - + Your wallet is encrypted. Please enter your wallet password - - + + Wallet Decryption Failed - + Please enter a valid password - + Failed to unlock wallet @@ -78,30 +133,178 @@ Please enter your wallet password CreateWalletForm - Form + Create New SDL Wallet + + + + + Confirm Passphrase: - + Restore wallet from seed - + Restore an existing wallet, using the 24-word seed. - - Create a new Wallet + + Create a new wallet - + + Encryption Passphrase: + + + + + <html><head/><body><p><span style=" font-style:italic;">Passphrase don't match</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-style:italic;">16 letters minimum</span></p></body></html> + + + + Create a new wallet with a randomly generated seed. + + Dialog + + + Send Contact Request + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert a nickname for your contact:</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Choose an avatar for your contact:</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert a memo for your request:</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Your HushChat Address:</span></p></body></html> + + + + + Create New Address + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert the address of your contact:</span></p></body></html> + + + + + <html><head/><body><p><span style=" color:#d3d7cf;">Generate your HushChat Address - please wait a second - </span></p></body></html> + + + + + SDLogo + + + + + Duke + + + + + Denio + + + + + Berg + + + + + Stag + + + + + Sharpee + + + + + Elsa + + + + + Yoda + + + + + Garfield + + + + + Snoopy + + + + + Popey + + + + + Pinguin + + + + + Mickey + + + + + 0/512 + 0/512 + + + + Add a memo to your request + + + + + Cancel + 取消 + + + + Add Contact and Send Request + + + MainWindow @@ -109,57 +312,62 @@ Please enter your wallet password hush钱包 - + Balance 余额 - + Summary 概要 - + Shielded 隐蔽余额 - + Notarized - + Transparent 非隐蔽余额 - + Total 所有余额 - + Your node is still syncing, balances may not be updated. - + Some transactions are not yet confirmed. Balances may change. - + + Deposit Hush + + + + Total notarized funds available: - + Next Address - + Your node is still syncing, balances may not be updated 您的节点仍在同步,余额可能没有更新 @@ -168,13 +376,13 @@ Please enter your wallet password 部分交易尚未得到确认 - + Address Balances 地址余额 - - + + Send 发送 @@ -187,160 +395,157 @@ Please enter your wallet password 地址余额 - + SilentDragonLite - + Send To 发送给 - + Recipient 接收者 - - - + + + Address 地址 - + Address Book 地址薄 - - + + Amount 金额 - + Max Available 最大可发送金额 - - - + + + Memo 备注 - + Add Recipient 添加接收者 - Recurring payment - 循环支付 + 循环支付 - Every month, starting 12-May-2012, for 6 payments - 从2012年5月12日开始,每月支付6次 + 从2012年5月12日开始,每月支付6次 - Edit Schedule - 编辑计划 + 编辑计划 - + Miner Fee 矿工费用 - + 0 0 - + Cancel 取消 - + Receive 接收 - + Address Type 地址类型 - + z-Addr 隐蔽地址(z-Addr) - + t-Addr 非隐蔽地址(t-Addr) - + Information about Hush - + <html><head/><body><p align="center"><span style=" font-weight:600;">Hush Blockchain Information</span></p></body></html> - - - - - - - - - - - - + + + + + + + + + + + + <html><head/><body><p align="center">|</p></body></html> - + Next Halving - + Difficulty - + Last Notarized Block - + Total Supply - + Longestchain @@ -349,103 +554,143 @@ Please enter your wallet password 创建新地址 - + View All Addresses - + Label 标签 - + Update Label 更新标签 - + Address balance 地址余额 - + Optional 可选 - - + + Export Private Key 导出私钥 - + Transactions 交易 - + Version hushlightd - + BlockHeight - + Supply zAddr - + Supply tAddr - + <html><head/><body><p align="center"><span style=" font-weight:600;">Hush Market Information</span></p></body></html> - + Market Cap - + Volume on Exchanges - + <html><head/><body><p align="center">This is a Lightwallet, you cant mine with it!</p></body></html> - + + HushChat + + + + + Incoming contact request + + + + + Add a new contact + + + + + Get a new Address + + + + + <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Contactlist</span></p></body></html> + + + + + <html><head/><body><p align="center"><span style=" font-weight:600;">Contact Name :</span></p></body></html> + + + + + <html><head/><body><p align="center"><br/></p></body></html> + + + + + The locks shows you the status of the message. Red lock = unconfirmed, green lock = min. 1 confirmations, orange lock = message is notarized + + + + &Send DenioD Feedback - + &Export seed phrase - + Encrypt Wallet - + Remove Wallet Encryption - + Rescan 重新扫描 @@ -454,12 +699,12 @@ Please enter your wallet password 节点 - + &Hush Discord - + &Hush Website @@ -468,18 +713,18 @@ Please enter your wallet password 您目前没有在挖矿 - - - - - - - - - - - - + + + + + + + + + + + + Loading... 加载中... @@ -492,7 +737,7 @@ Please enter your wallet password 全网算力 - + Vendor 连接数 @@ -501,42 +746,42 @@ Please enter your wallet password | - + &File &文件 - + &Help &帮助 - + &Apps &应用 - + &Edit &编辑 - + E&xit &退出 - + &About &关于 - + &Settings &设置 - + Ctrl+P Ctrl+P @@ -545,7 +790,7 @@ Please enter your wallet password &捐赠 - + Check github.com for &updates 检查github.com获取和&更新 @@ -562,7 +807,7 @@ Please enter your wallet password &导入私钥 - + &Export all private keys &导出所有私钥 @@ -575,12 +820,12 @@ Please enter your wallet password Ctrl+A, Ctrl+Z - + Address &book &地址簿 - + Ctrl+B Ctrl+B @@ -589,38 +834,38 @@ Please enter your wallet password &备份 wallet.dat - - + + Export transactions 导出交易 - + Pay hush &URI... 支付hush &URI ... - + Connect mobile &app 连接移动&App - + Ctrl+M Ctrl+M - + &Recurring Payments &定期付款 - + Request hush... 请求 hush... - + File a bug... 提交错误... @@ -633,12 +878,12 @@ Please enter your wallet password hushd尚未准备好。 请等待UI加载 - + View tx on block explorer - + Refresh @@ -715,7 +960,7 @@ Please enter your wallet password 支付hush URI时出错 - + URI should be of the form 'hush:<addr>?amt=x&memo=y URI的格式应为 'hush:<addr>?amt=x&memo=y' @@ -732,12 +977,12 @@ Please enter your wallet password 钥匙是导入的。 重新扫描区块链可能需要几分钟时间。 在此之前,功能可能会受到限制 - + Error 错误 - + Error exporting transactions, file was not saved 导出交易时出错,文件未保存 @@ -770,148 +1015,106 @@ Please enter your wallet password 您需要手动备份它。 - + These are all the private keys for all the addresses in your wallet 这些都是钱包中所有地址的私钥 - + Private key for 私钥 - - + + Save File 保存文件 - - Wallet is already encrypted - - - - - Your wallet is already encrypted with a password. -Please use 'Remove Wallet Encryption' if you want to remove the wallet encryption. - - - - + Passwords don't match - - Error was: - - - - - - Wallet Encrypted - - - - - Your wallet was successfully encrypted! The password will be needed to send funds or export private keys. - - - - - + + Wallet Encryption Failed - + Wallet is not encrypted - - Your wallet is not encrypted with a password. + + + Copy block explorer link - - Wallet Password + + Currency Change - - Please enter your wallet password + + This is your wallet seed. Please back it up carefully and safely. - - - - Wallet Decryption Failed - + + + Unable to open file + 无法打开文件 - - Please enter a password to decrypt your wallet! + + Error getting private keys - - Wallet Encryption Removed + + Error loading private keys: - - Your wallet was successfully decrypted! You will no longer need a password to send funds or export private keys. - + + + Copy address + 复制成功 - - - Copy block explorer link - + + + + + Copied to clipboard + 复制到剪贴板 - - Currency Change + + + Wallet Encryption Success - - This is your wallet seed. Please back it up carefully and safely. + + Your wallet is not encrypted with a passphrase. - - - Unable to open file - 无法打开文件 - - - - Error getting private keys + + Wallet decryption Success - - Error loading private keys: + + You still have plaintext data on your disk! - - - Copy address - 复制成功 - - - - - - Copied to clipboard - 复制到剪贴板 - - - + Get private key 获取私钥 @@ -920,8 +1123,8 @@ Please use 'Remove Wallet Encryption' if you want to remove the wallet 屏蔽余额到Sapling地址 - - + + View on block explorer 从区块浏览器中查看 @@ -930,83 +1133,93 @@ Please use 'Remove Wallet Encryption' if you want to remove the wallet 迁移到Sapling地址 - - + + Copy txid 复制交易ID - + Restart - + Please restart Silentdragonlite to have the theme apply - + This change can take a few seconds. - + Some feedback about SilentDragonlite or Hush... - + or SilentDragonLite - + Send DenioD some private and shielded feedback about - + Paste HUSH URI - + Error paying HUSH URI - + View Payment Request 查看付款申请 - + View Memo 查看备注 - + Reply to 回复给 - + + Copied message to clipboard + + + + + Copied Txid to clipboard + + + + Created new t-Addr 创建了新的t-Addr - + Copy Address - + Address has been previously used 该地址以前使用过 - + Address is unused 地址未使用 @@ -1031,49 +1244,38 @@ Please use 'Remove Wallet Encryption' if you want to remove the wallet 只有 z-addresses 才能有备注 - Memos can only be used with z-addresses - 备注只能与z-addresses一起使用 + 备注只能与z-addresses一起使用 - The memo field can only be used with a z-address. - 备注字段只能与z-address一起使用。 + 备注字段只能与z-address一起使用。 - doesn't look like a z-address - + 看起来不像是z-address - + + Please wait... - + Computing your transaction - + + Done! - - - Not enough available funds to send this transaction - -Have: %1 -Need: %2 - -Note: Funds need 5 confirmations before they can be spent - - Change from 更改发送地址 @@ -1096,20 +1298,100 @@ Note: Funds need 5 confirmations before they can be spent 发送地址无效 - + + + You have to select a contact and insert a Memo + + + + + + You have selected no Contact from Contactlist, + + + + + + + +or your Memo is empty + + + + + + Your Message is too long + + + + + + You can only write messages with 235 character maximum + + + + + + + + Please reduce your message to 235 character. + + + + + + Message Error + + + + + + Recipient Address 接收地址 - + + + is Invalid 无效 - + + + Amount for address '%1' is invalid! + + + + + Not enough available funds to send this transaction + +Have: %1 +Need: %2 + +Note: Funds need 1 confirmations before they can be spent + + + + + Missing HushChat Address + + + + + You have to create your HushChat address to send a contact request, + + + + + + Your contact request will be sent + + Amount '%1' is invalid! 转账金额 '%1' 无效! @@ -1180,9 +1462,13 @@ Note: Funds need 5 confirmations before they can be spent MobileAppConnector - Connect Mobile App - 连接手机App + 连接手机App + + + + Mobile Connector App + @@ -1231,6 +1517,14 @@ Note: Funds need 5 confirmations before they can be spent 连接类型: + + NewOrRestorePage + + + Passphrase don't match or You have entered too few letters (16 minimum) + + + NewSeedForm @@ -1244,7 +1538,7 @@ Note: Funds need 5 confirmations before they can be spent - + The seed phrase is the only way to restore the wallet. If you forget the seed phrase, THERE IS NO WAY TO RESTORE YOUR WALLET AND THE FUNDS in it @@ -1252,17 +1546,17 @@ Note: Funds need 5 confirmations before they can be spent NewSeedPage - + Error creating a wallet - + Failed to save wallet - + Couldn't save the wallet @@ -1282,72 +1576,92 @@ Note: Funds need 5 confirmations before they can be spent QObject - + Pick 选择 - + + + Address or Label Error 地址或标签错误 - + + + Address or Label cannot be empty 地址或标签不能为空 - + + + Address Format Error 地址格式错误 - + + + %1 doesn't seem to be a valid hush address. %1 似乎不是有效的hush地址。 - + Label Error 标签错误 - - The label '%1' already exists. Please remove the existing label. - 标签 '%1' 已存在。 请删除现有标签。 + + The label '%1' already exists. Please remove the existing label. + 标签 '%1' 已存在。 请删除现有标签。 + + + + + Added Contact + + + + + + successfully added your new contact + - + Import Address Book 导入地址簿 - + Unable to open file 无法打开文件 - + Address Book Import Done 地址簿导入完成 - + Imported %1 new Address book entries 已导入 %1 个新地址簿条目 - + Copy address 复制地址 - + Copied to clipboard 复制到剪贴板 - + Delete label 删除标签 @@ -1478,66 +1792,77 @@ Please set the host/port and user/password in the Edit->Settings menu.这可能需要几个小时 - + Attempting to initialize library with - + Using existing wallet. - + Create/restore wallet. - - + + Connection Error 连接错误 - - - + + + + + Transaction Error 交易错误 - + There was an error sending the transaction. The error was: 发送交易时出错。 错误是: - + + + - + Tx 交易 - + + + - + failed 失败 - - + + + + The transaction with id 交易 - - + + + + failed. The error was 失败。 错误是 - + + Please wait for SilentDragonLite to exit @@ -1577,8 +1902,8 @@ Please set the host/port and user/password in the Edit->Settings menu.所有未来的付款都将被取消。 - - + + No Connection 没有连接 @@ -1611,21 +1936,25 @@ Please set the host/port and user/password in the Edit->Settings menu.hushd没有节点可连接 - There was an error connecting to hushd. The error was - 连接到hushd时出错。 错误是 + 连接到hushd时出错。 错误是 tx computing. This can take several minutes. 交易计算中。 这可能需要几分钟。 - + + There was an error connecting to the server. Please check your internet connection. The error was + + + + Update Available 可用更新 - + A new release v%1 is available! You have v%2. Would you like to visit the releases page? @@ -1634,12 +1963,12 @@ Would you like to visit the releases page? 您想访问发布页面吗? - + No updates available 没有可用的更新 - + You already have the latest release v%1 您已拥有最新版本 v%1 @@ -1648,12 +1977,13 @@ Would you like to visit the releases page? 请等待silentdragon退出 - + + Waiting for hushd to exit 等待hushd退出 - + Tx submitted (right click to copy) txid: 交易提交(右键单击复制)交易ID: @@ -1722,9 +2052,13 @@ You either have unconfirmed funds or the balance is too low for an automatic mig RecurringDialog - Dialog - 对话框 + 对话框 + + + + Reccuring Dialog + @@ -1778,9 +2112,13 @@ You either have unconfirmed funds or the balance is too low for an automatic mig RecurringPayments - Payments - 支付 + 支付 + + + + Reocurring Payments + @@ -1835,9 +2173,13 @@ You either have unconfirmed funds or the balance is too low for an automatic mig RecurringPending - Dialog - 对话框 + 对话框 + + + + Recurring Multiple Payments + @@ -1903,57 +2245,57 @@ You either have unconfirmed funds or the balance is too low for an automatic mig 付款请求 - + AddressBook 地址簿 - + Request From 请求来自 - + My Address 我的地址 - + Amount in 金额 - + z address z address - + Amount 金额 - + The recipient will see this address in the "to" field when they pay your request. 支付者在付款时会在“接收者”字段中看到此地址。 - + Amount USD 金额 美元 - + Memo 备注 - + TextLabel TextLabel - + Request payment from a Sapling address. You'll send a hush 0.0001 transaction to the address with a hush payment URI. The memo will be included in the transaction when the address pays you. 要求从树苗地址付款。 您将使用hush支付URI将hush 0.0001交易发送到该地址。 当地址付款时,备注将包含在交易中。 @@ -1992,7 +2334,7 @@ You either have unconfirmed funds or the balance is too low for an automatic mig RestoreSeedForm - Form + Restore Wallet Seed @@ -2024,38 +2366,38 @@ You either have unconfirmed funds or the balance is too low for an automatic mig RestoreSeedPage - - + + Failed to restore wallet - + SilentDragonLite needs 24 words to restore wallet - + Failed to parse wallet birthday - + Couldn't understand wallet birthday. This should be a block height from where to rescan the wallet. You can leave it as '0' if you don't know what it should be. - + Couldn't restore the wallet - + Failed to save wallet - + Couldn't save the wallet @@ -2063,7 +2405,7 @@ You either have unconfirmed funds or the balance is too low for an automatic mig Settings - + Settings 设置 @@ -2088,7 +2430,7 @@ You either have unconfirmed funds or the balance is too low for an automatic mig RPC密码 - + Options 选项 @@ -2097,7 +2439,7 @@ You either have unconfirmed funds or the balance is too low for an automatic mig 通过Tor连接 - + Check github for updates at startup 启动时检查github更新 @@ -2134,12 +2476,12 @@ You either have unconfirmed funds or the balance is too low for an automatic mig 通过运行在127.0.0.1:9050上的SOCKS代理连接到Tor网络。 请注意,您必须在外部安装和运行Tor服务。 - + Connect to github on startup to check for updates 在启动时连接到github以检查更新 - + Connect to the internet to fetch hush prices 连接到互联网以获取hush价格 @@ -2148,97 +2490,102 @@ You either have unconfirmed funds or the balance is too low for an automatic mig 获取 hush/USD 价格 - + Theme - - default + + Connection - - Connection + + Lightwallet Server - - Lightwallet Server + + Dark + + + + + Midnight - - blue + + Light - - light + + Blue - - dark + + Default - + Fetch hush prices - + Currency - + AUD - + BTC - + CAD - + CHF - + CNY - + EUR - + GBP - + INR - + RUB - + USD @@ -2374,27 +2721,116 @@ You either have unconfirmed funds or the balance is too low for an automatic mig 地址簿 - + Add New Address 添加新地址 - + Address (z-Addr or t-Addr) 地址 (z-Addr or t-Addr) - + + <html><head/><body><p>Nickname :</p></body></html> + + + + + HushChat Address - give this Address only to your contact + + + + + <html><head/><body><p>Conversation ID:</p></body></html> + + + + + SDLogo + + + + + Duke + + + + + Denio + + + + + Berg + + + + + Sharpee + + + + + Elsa + + + + + Yoda + + + + + Garflied + + + + + Snoopy + + + + + Popey + + + + + Pinguin + + + + + Mickey + + + + + Stag + + + + + <html><head/><body><p>Avatar :</p></body></html> + + + + + Create a new HushChat zaddr + + + Label - 标签 + 标签 - + Add to Address Book 添加到地址薄 - + Import Address Book 导入地址簿 @@ -2504,33 +2940,133 @@ You either have unconfirmed funds or the balance is too low for an automatic mig <html><head/><body><p>在初始块下载期间跳过了最费时的检查。 <a href="https://docs.silentdragon.co/using-silentdragon/#fastsync"><span style=" text-decoration: underline; color:#0000ff;">了解更多</span></a></p></body></html> + + deposithush + + + Deposit Hush + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Ubuntu'; font-size:16pt;">Please use the following hush address to transfer funds to SilentDragonLite. You can either copy the address or use the QR Code. </span></p></body></html> + + + + + <html><head/><body><p align="center">QR Code of your Hush Address</p></body></html> + + + + + <html><head/><body><p align="center"><span style=" text-decoration: underline;">Your Hush Address </span></p></body></html> + + + + + Hush zaddr + + + + + Copy Address + + + encryptionDialog - + Encrypt Your Wallet - - Encryption Password: + + Encryption Passphrase: - - Confirm Password: + + <html><head/><body><p><span style=" font-size:14pt; color:#ef2929;">WARNING:</span> If you forget your passphrase, the only way to recover the wallet is from the seed phrase. If you don't have a backup of your seed phrase, please do it now!</p></body></html> - - Passwords don't match + + Confirm Passphrase: + + + + + <html><head/><body><p><span style=" font-style:italic;">Passphrase don't match</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-style:italic;">16 letters minimum</span></p></body></html> + + + + + hushrequest + + + Request Payment - - WARNING: If you forget your password, the only way to recover the wallet is from the seed phrase. + + TextLabel + TextLabel + + + + Request payment from a Sapling address. You'll send a hush 0.0001 transaction to the address with a hush payment URI. The memo will be included in the transaction when the address pays you. + 要求从树苗地址付款。 您将使用hush支付URI将hush 0.0001交易发送到该地址。 当地址付款时,备注将包含在交易中。 + + + + Request From + 请求来自 + + + + zaddr + + + Amount in + 金额 + + + + Amount + 金额 + + + + Amount USD + 金额 美元 + + + + Memo + 备注 + + + + My Address + 我的地址 + + + + The recipient will see this address in the "to" field when they pay your request. + 支付者在付款时会在“接收者”字段中看到此地址。 + newRecurringDialog @@ -2580,6 +3116,180 @@ You either have unconfirmed funds or the balance is too low for an automatic mig 支付次数 + + removeencryption + + + Decrypt Your Wallet + + + + + <html><head/><body><p><span style=" font-size:14pt; color:#ef2929;">WARNING:</span> If you remove your wallet.dat encryption, all your transactions and contacts are plaintext on disk!<br/><br/>Messages sent and received are always encrypted.</p></body></html> + + + + + <html><head/><body><p><span style=" font-style:italic;">16 letters minimum</span></p></body></html> + + + + + Encryption Passphrase: + + + + + Confirm Passphrase: + + + + + <html><head/><body><p><span style=" font-style:italic;">Passphrase don't match</span></p></body></html> + + + + + requestDialog + + + Incoming Contact Request + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Memo of the request</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Open requests</span></p></body></html> + + + + + Request from: + + + + + Add New Contact + + + + + <html><head/><body><p>Choose an avatar for your contact:</p></body></html> + + + + + My Zaddr: + + + + + Cancel + 取消 + + + + SDLogo + + + + + Duke + + + + + Denio + + + + + Berg + + + + + Sharpee + + + + + Elsa + + + + + Yoda + + + + + Garfield + + + + + Snoopy + + + + + Popey + + + + + Pinguin + + + + + Mickey + + + + + Stag + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Recently closed requests</span></p></body></html> + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Details of the request</span></p></body></html> + + + + + Give a Nickname: + + + + + startup + + + SDL Startup Decryption + + + + + <html><head/><body><p>If you have forgotten your passphrase, restore your wallet with your seed!</p></body></html> + + + + + Encryption Passphrase: + + + zboard From 7f851663ab8420503cb45d74590e3f6e970369dd Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 11 Jun 2020 17:32:22 +0200 Subject: [PATCH 256/256] add arabic --- res/silentdragonlite_ar.qm | Bin 23614 -> 20930 bytes silentdragon-lite.pro | 1 + 2 files changed, 1 insertion(+) diff --git a/res/silentdragonlite_ar.qm b/res/silentdragonlite_ar.qm index cc809ec63da02bc769858fca540d2bd75169c42b..cdef56cc1c07491832658e24fbdbcbfea200c1e5 100644 GIT binary patch delta 2786 zcmXYzdt6QV8phvs+iUH$*Iqlis3s{Dx+qB$Dwi(Er4mw@jL?`vlEE14CZRc+oMUHb z$WWP!OwyKnX%dsmxSeJW=EyaC+$C}wGY{+hu|MCn*X8%V@AE$IZ>`#WOnoV19=I>f z@x-G|>wa~2Ih?w+=JF6Cxfc=PC(O_ovJA&NiTtN)3@Xz&__@ZIF+|aYL<1)i#Uz5o z;Bs&&cnqu|8Wsv(CK^#f6z)b8I~SZoWFFlc2L(jqza$DCK{R14Q3OMjJReLaHf0M@ z*B0V`*oFkw694;GL~b{Tzc?8|JxLfCL1Z&Vqst+UeO_pc#`*D4L_JTEFtd#)AcBO9 zjYQtdNZ1rfWOtOzLM<-z@*trO)%i{%;mj|1K&B4QP7_7el4IowBFA3jeEuRRkZW@V z(FeE5XH^yvw~BlY@?bgnob@8&L&)bol;bB+=&d-Sj{l;VuN#O4rBKWj+^0OD*tAUW zR~lLL5s`6-Sv&AQPVu8&5=8}4!lFZv-A|)w3?-M_5xKfk^8H{a5=|+ymJoHiMzcoO z5!o6kV}m~mD5TFf4zZ-|% ztl>M}#s%-qeEjehqHf82!i)+cF9VHaxHrFHxEW^C-{8v&TH#6&{1f!!%hzCCC7$2m zw+%hJ%Gb&&By8dv9N#T4k3Xh-L)0adKXtqkN=)M~+;)R^9`dc0c}UzU5Qi4@StPhE zD@35zLTKw~qJAXAj!J^pvW0Pjo)Wp_3905LJ$iXYnD%fN0u>AC)!1l)Glcvin9nXj zCyTZ;nP{Lgls*XQFLGeO;+Ge7m zEyAf-jG0rZ&emZ+O!_}vQ)4uC1NvlE7#>>!^zV) z;Eb*!8J?h9y2^5#H_p&CRCYqZ1-fHXph%|(-LaKeh&!WeWKpSypu4%$9xc7Adm4vC zJ(5N5B~9>#rx=hAGD%`kK9uwAA`b9CJli*BG0OQjjL{Bpu#+Qjn5P$p!oSn&()4|WwRr^1vS z#*2H~5XVprD6Vq*Gugq=EMCpQhODow!5S6yT=YKh}RF;zZ*SH&<{^4fj4aQ zqh`K^nOOZ4^Ja{xpr5@9W^>HY=+mm7AF&+@ZPMpWIEh~WsNd5z3>7ccH%y1y?FZ;j zINRc#@ss{^23k45qQ9K-7V{r{OMkBh3;HPfdxxv>lIg86$X;WNoBm&kAT zvKCoagZn%~Ww!?gNj_m2+?5 zx$f!mm(!atMUUl@fO(jI=L7OiD>Ad4Deo(6zz&!$H-sEVg;V7ds}o_$M!D4`hA3!= zf!VVR(tT%8-rd(Z#}NMZd-S-}Fs8qV1&i7bUAI0H(d7%wLav!>(9amwpBX`Y0Q! zvoXFuD;w%C?qRQ$pGHDad6=@(9A1mL-K*@I8;&h_rE=g=78tG^WWWe_rLHmvH%iL! zcOMu%<|~)lenbV{%GHQJpvXz3~_U?v{MsyxL3x@ z2O;6mHOAJAj#!|=_$nI#2YIQk*Ulp`Pt`m1C0;g9RsYfWz>q>U4t7uj9FdTerp5-K zMO_$md=M0KD^aKa5r;T6X7%Igl|@c4o1ePoya&$TRL`D*7u5Uec_YTj zp-OFf&sFMG+p(y?QGFBO33pF5sU09`*BaA==x#`~n(E`&M)0VO_Y%lqylEyU5`F>OV+ue9yuQr{_u0Y1Q zri+}4DVS!u7L$vBP8$2ineHSOW20#_J#L1yY^RU$@wdoQXK=RU8ZKE2lt9MPZcMT) zQopvwnrvk2DyLzLb@&JNtfj2;GHbnSXU00)Et#>lyD#9ZwO(U*OO{W7Wr*($tFQkN z*3xStZ}kmaZ?M{iJ?E_b25(`lY-FZr-5A@Vvr1zhFjnVr4!mW?#1P9HgJLaB-pKq7 DHb3^b delta 4353 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 hBOSi?QUiO

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 tXMM!gv06mY2L)QqZt$# literal 0 HcmV?d00001 diff --git a/res/sdlogo.png b/res/sdlogo.png new file mode 100644 index 0000000000000000000000000000000000000000..5dde4f0dda19c805f99e3556707277d558cc72e8 GIT binary patch literal 43333 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 Lu6{1-oD!M<=RF7Y literal 0 HcmV?d00001 diff --git a/res/sdlogo2.png b/res/sdlogo2.png new file mode 100644 index 0000000000000000000000000000000000000000..fee4fab797fbebd384f7a6de6b0e1766b96e8f9d GIT binary patch literal 59377 zcmeFZbyS?qmoD14ySqD$dvJGeoZ#**!5xAp5J+%$g1ZKH4VvKY?%{Uwee;`d?wvd5 z%v$ICH@z0CtLokRsa?CCy?4D$za6crEQ5kbhzI}xP~>DK)d2uVa1#;$4-0;~_MUqL z09a{!HFez8O}xmRU7aj#>@CRMeVi@GExc_k0RZpi$_%Syi>9i=S2t`Y_cyLaNwCs_>b#c8u zShaVBPM)1Pz4ldW2m1W*52U(O-?VycpFTdai(Gh+j54aOo}6U!?s#_33F!Qp*44@0 ziHg0lfY50;y%4Q_pV56*4HZ`nRe0~Q`~2|w;9+@G`O6RKX$7URT6=jl!h|hF-s-ZyUNS|r(}iDAeleXnu^41; z+zBJmnd;I18i)+RL!)%3B?*hSyS zB)+!dS;K(Ab#pSU(2+`WO;MJot>O!%CN}KF+dB{7MrKpjRpk`l6{;T>EGq8(NZ|9< zukpxV*L!bw)ZtH=ta`0N@@Eo9r^XJPga=~7p14bPP|lk~x?r~#`e=*3wwpMvuAg7I zMd|h?EXq6OVP!KtKT~^^JYD&d(7T=X_J{Rhdn1)XBXthwNEnk7VR3~x6@W6vMCoZ9 zSvYn-#8mtZaxZD2mVdb}?4HO+7YE}(7WY4s(o<<<6Q#*WB@{&N%O9+$^!0_WZCc;@A7 z`-|oG#&yRIf+zFbfjPR`gvr>&dpsV8>3;qddN=n8RsZ#8XXQqL31xp8^@IB_6Xz$# z$(~AAeGS9DRpuT8E|IPas}uHOS{84m^>WCob^>`;L7# z76UYH4EI!tEx@kB8jX3Eohl8qTkUvSg!R#GA}G~NYYg=IrE$hce0S=u-Ar}IzgO#T zC||rN{Lbo>Wy05uFMq<9V@+x2oP=;i_u79M<>yVdl6PQ(Y)P(G}n;)F)%7$lk81l^#au zr-L7))}&N!;1jzt@5*q+MWS9*b!{3qhf>~`E*1!t zAIcQ_{j_IoKcRQ3x(v`>h!Of;aRc$5c_FQ6?P>r=+9+NB%{$D4ZPktXPX;TWj=m)K zI(_a6;DAk+7*FA4z%Z*ash3h0DfPktp>IkVL~>Xf_RlNedcd--$S!EXd6cCHi>sJ_ z%~ZwNkA4=iVMTgh(j{sglQVArqPH;K>N7OchAJlUaYD3Rsc*<~=x#AR2wt*DH>2rT zD_V^5A$gn^znB)wE6NHNkH^=EW5G^&ZnyRz-#y%_d12W9W<};ze)q`Bs`+WR_fR;; z(WYg>&CZ492L;9`33C?#AvDjORN^&=FyHr0vp>S)hFHA2_+nK4yWVN-s}nXZp`Z2zRNFA9Iz10S(rc%s=|exmT=`pK^|Vij zo`vL&g;9N`J_W-H;j&=$dvrW4m%IwY%&LI z-@;%4NAoZq=T-p+Oyt&fe88yK5^s`&*dPT$x-(AULr}ct4z832v^{LgJ%zMiQuQYd7m03{q;f78dMYE zJax^wh=+MJ&#crbx44G-K$6{)HN3<-v$k!T}XwFHq1-3b{T6OotF42s9^Z7>OPya2I4 zB0XVuzac6M1WTF~EWqu!zs&^Qv`0OAFGm{pGenFjax+NS{gJP7P?4~L2bL20ES{UX zp;xyRR+gxpDv#(AW-iSB)3<7P%x1_{uI}MJHauiHlXPsgRjanB);L>&5Bn{$C1HYs zZ9933B2mx@giCC|e6lKRG+7AbTTN{lA-In#(#6>W?YbSsSTz9q3Q6X6l-c`l{wp`} zZjfzhl?XuBfe;-`Ii6i<+alNRH!(zGG?t%qN?PT)w!=7FcBupHM!7YK_ZPL==tZ&T z9SR|@jbq>trV-!e^G&HVTZ%H^m<6cJpk$eRxbMR>rRY1Cq&&yO{#j!TP4tV9{%UnQ zxn0sfxfE`(^xI{oBB|!`uyvHX*!G~xU`FUfocRwr@e+_}N)xklqq#=0@n`AyWcTz1 zd7AnaY23oT;89#N_fMoh*(@Yo`OT8n6X9&o=v?v$_`1h`Stoj45Le`V$2Tid$I170 zq-FTT^uaEebhus9feHb@@*#>k8VX%9Er^%|^o=)(|An0M0oS?Bk}kOCB;KekiAXmT z`uQ_K!9C7eJ`-bNGz8uL!xX0?A@a_`n+OLpDM|NVN~Q$x z`ZeGpw}rYA-{*07ZyQVCA46a}cSQ`mu{)|_>XR8rBxsB80lN3$_JkipJ{Hw;n$^%g zW8!N@kaV31)~Hy=ey*7-$czx{&F#;F#6S)CDm#PSh>BcyS56D~_=!OZ6>BI;+1+!C zI)~^w6zVfZ4L<=DB}y`F7m5vRZlXm1jk)rzI0Q8f$B1-dHmAF)D5+Vya>}%6QS(;$ z40hiBuHz~a^U(GQ%AN8(A`tqZ=S^9jyDMHu0=2GLtg0UtFtmXpPCUhmjuA`!*v0~4 zw1SPtWT50aPFXR($IuIah@c}^!zyF$^6l*&dkJbNHuo_v<1Y0%GW$Hy;<#)u@cbg` zQd+$}BfHI7wpH0Y8|DDRr?}ddATu${enXxHlaNr(C@j~{UqTYTrifG88j4&-{=;8BUzjI8uC$m-fZX9C7*5-W@=d4UP7(4#-_dFA zYPgBw+p>`p@$A1(obGq;lc$Xunh>B7x^pmwWOs|Yv_=ll97eVnhsLJm6_`L;n`AP8 zEsSt_6~rT(b>T|95|%bV?QFrvV#oG76|xH`@|N2J_S**G_i)7YU2Aqcf@{R@>r zS3yhG1UhX5;?pdXI@H75yE|#CXjOHnqRg%+Q;T5tQQpju?v^O;T1)#=)WVQ-nL+Lv zdfte=nM^G4bqse60FO?n28nx$d@wpE8;Mlh&JGf#l%CxDX1@~YhnT9g;HW;16cz-a zWUqUehuL#c*xLZAsAZXuoFm6QS-b+#m~pKsG-FZ688KJ;Fcyzq#V zTGW#h6nPFiWb_IAGF$zhACBF-W5|CDCEeb?li1YYIxf8E?rWV@#E3J! zzaqYF)D^9!X@6p=Y(%OgoH0jn8XY>zYM?|~Ds#^lb0ernq4m2X*`?eRA=DC#L_aK# z;fKfD*R;{KfL+b$ibPn<4k|ff*(Jz@C4|9n6P+l?uJmPO)_hG^T(dI29PiDYV9(%q zLis!Rtwf>Bdx;0CBiY=bT25rxU@?FTS+g^%)yKH#qhJ%g^!h=%|WQbGRKdTr>+ z7pbhnO~)i+Q5doK3mG-J)uOnX$c5>7He`uYw>?x0V)IWD&8fXGlW1Q06AaNb({$9Y z-T3({QpHHk67!bog?Y`1X#0Rm%MUi8QRl31@U; z_KS!Qx&3%lB+5w=-4;QQ@$bccC|{bn5wfwGkHvh4hL;a*i5?F2f(T;A{s54Cyui>T z%0mu*b)*LIZuJr3G56@WGOwFNB&to*f3RU>l6J=D{=%t)&9=dYPUxhv1K@-u{SeNJ($S)Zkb^R41Ulf=e%BS0W(Yr4sIWW~J4!ML#YO-P`x|Bc3!;<{< zTae_CfhJl*^>F6$hYIwdWEiO$P6$5?S)4b9xS#vmGNxzobkq(cO${+MANxZq6J*m- zj}_vQ`m#SzH&)a#@j%2;C@Xz3_lgM|f~8|3NiJyN5Tzyv;)tbI|2Fh-FR^DhlrJgr zqt;3CH&IYhtP3Fv2L&b2nBgO?qyW4Y!d6)=#OEt_Hlug|9gZe?t0KB9T68)By(}Bs zVho}2s=kykb_+6Bzv*#$4RFn`RR+?>#2>PR{E$|!Z#nx{QRlj74;3@Bdg3bxhcK>z z-D7N6x=F5PliFFrMr2JTZG*0Qh)5TNu7Gk;wJ8-$J{>_s-K+!GE0uC}CAMkyWoRjp zstNZ?nP?qR`n&!FZb~D2$#_O)&qxDgdV|*-D##*G$ozRhF`*p#wmIn8f+c2qD;&dt z*#;-=>Xg3DqKbl5&b$_G96*-RZYx^rlhYypE=jNi1~$_>&EGwuLV_jNQ=AdR<{|}ExoK{w*&#VibH+xQNa^s-KiO%y zaM&b5sRL>vNV{hNk@5Vnrt2Xzts#0(Y8b0inBE$!1LlYBh`v|0CsgkAQ%%Z zAmd%Bv|^CY70YZ~4=}QQLF@=^)ct5-RYnQ=div{*713DGq^`g|HPt9%s|M$UqSN^lcYKa7E{>FmP| zTV{vzVHryDYPoxoW_t%}PBC&U*BVnu%YTIMcV{>DgJ&GzJFl5v_TNETh5a;!!7-y8 zuDO1LtES%~=?TqBDI*1VJAc$d<_#^ul$rDt}S-CBVuTr*rD}&*oi9*33fLhzG zOup|8uT+ofhg%>HU^RyCFJyu#cBW>N=a$~@zWGY6-d*brvxjg;#IX-DbpEu>dKFAj zM|s6m{xE{pffMH*yljD}C+znou#B6&w2$0K##%JQ7hzKKA$~*+>qjmJobIz0L$W&Z zU{8)qv0l)4p`ReEoXk=v+FBGWO)UMuyr+Zb)UMC}GMsST+pM)Gs>6NuUYqjUmshnRyDM;VG zYe(kDnS?eE+Ai@zfvH21H^m1HZQD!PIft!>>;`Fs(H1Zf%ju$s$9qwidPyG|tFgnH z!5e9;y)y?U5Mg@HM=q#&kmrt{tFpNf)a|Oze79knYSB%#4-VH(@dW(h^aK%liw*H!|-7`}G6V zHaFY}FUigBRA?o=5st=df;%NYQd%vzY#L)2E%fHv7QbtvU(>8g1oT*4N@4>_M|*I|O^eZUaZb_8xv71DN6G_eSE;Lo zQC-w~&%~X{?%Uj?YxYDSUk;|_^I;rk!0@J1A_kQD#B1BZSjFh|41r=>p3q@4UT#RP zX;xo5-D(I#y#m*IP9b*RA_g&SF%MX{LzgAv7Vf5zCNBze3nd_bbvnaJeC$g=+jn?1 zZZyv3qq?6(2uFm(ZXy-1?L~L%dg#8p;}7c_^HThUL@9#*0BK=3i$@Qo)9req_a42# z-{dx9%|}$>)`+Q0;Ml{q^l1S4$pp$Qb#|2gnb_C5mnlCdQ`1|e&RVTBn2{0Mu3sso z*n@qr)-XUSNcy?TQcB5-)4prlmb&q&d{YIwNee-4gd8hoDhSD3;{%OxnDq|*VSdl% zV6MfwR~x@0@s?!EFl||Hcp|Ejx(zmQW27|gKHQUOD7@@6e~jihX)kU@7vd)aM1F}w zgwTQ6GWz8&5zmnWNF=0d^eA#7aY^4ll3$;BzX}ha?>^FRP;_c3pYKnlYCSirh7}#; zHo+XEqz+vE^HwsRi^jUyD z#ulCJit&X>1wEi#T-!4E0(6ua)@$WBcK1Bc#_FE!aurJQw1-;{Eo3z)<1oS^LsA8c z85v=pT^S(90Na7u!B3K#7 zuNdbg(L+&mOVW#ynH724#q~EA(O#E&i5Ju5#L+xc$%fsahVGYHks=;C}fEflEpT^)e>7aAGR8}*^-$Vf0~bQ*0TzFx*3Xy=r!GF z+yu-}?PbUfwm$}x-oW>n0Zr93poyc#=#+-)*b;kQopoRa+toMD!}PR$JvlbL5;r#~ zT(p{ugwH?Sfs#naR?WgxmbElsMx{JrbHyJFCQRYQV7*kyypio8py2)Anc!YM;L(tF zF}U1i7v767x)20DCnCmmHq+h}fczB?sdHcjkZdh$)ArjyF3>j!I*H*765h5X3ZuuX zOZr0TYCqUoxl@=J@fJfNdNQu6CNc2?Y{Iqa``FxG_foQyS#6bC&6!m@7xcx#p4bQE zm{LF;A(-|FeNW$ed6Rc4hx5CJgvUO2Ay8|W;CB$DvJ%%l1b^~q;2Cq&a*=tjec0bl z4;==9^=+zzr#*L`SH$^;_@YwfM+|K4vI>D#y`{O4#LyU?r3 z`bTb@!l$PvmFDUM!T1zo?B|6`AhKyC*@zg*xF~Y@xFm&ua4NEk7;T3oD?i=k7i`Gf z7a}aoI0b6yW*7|#wXN9gY>bNZHn_<5*xRMqkegyRWqJ}{ON>eEX5%oF)smxF-95}% z6WA5Vy)$~>Vut2QhJ%1_DR1gxI;gX#98p8d2TDe%*mfS}g6jeI>u>22*p1YHGK_E0CGl5hG|?9?x7noS^!5Oe_vEBjx;>9})2JIk zNur#5z>3wXn8+N-21}1S#z#=Y?Y$a0KUxN&vG)j(sj3`_ktioe69xm|^A$4dHJV16 z-ZAP3pLoGF<^%sv=`I?XN( zypE?!*L4t3F~T`bkE#8Kb7U7V@*4Um%kmcuoU58NAC!M zH<=^ZL&8MQfZ71Ws}w~dSG1d8tB6cr#8j%Ti|-;y>nes5ACDliRI0`AUaL~6ezO6a zkVvgZ)Bk;PAwwNr#XdTLdK5*CAoP8q+Q*r-YwZJ}5OS_dOG>5VI+zBBRWaJn#9)Dd@95RBN(!^!3Sj z$Q8SP3$pvJ)+n~wM|oudySVal`>^0l#(InN66da?Te^?gj%269p3%mdZ$hQrcU8h+ z-)E7Ls^GXa!&E+L!>Hf?uv(oYn~6J@o?2c*kON72+$u7hUK5Y-DGr41B=W67zDlKJ z;X}#9FH1=3!Vm&M!L#JaPVp$BWgIT~6XEP~6M?*#~JCeGkd?rmaIeZU`>?3#whY*ZM?z2jK{?J30 z=j?iwFr}g%tzjHA*v-VJ{`op?-x6Vrb{4h%Lqyxk>X-n;>RTB?^_1$pTmkRysviXw ztNEyDKVg>w0~SQ9ExHQOVf^O|Y~kAJlBzH;`_>Xyq>bNt-7CYm8Cdn!7}! z+RMY|X|*N#3OAeZB8EvIhvss;zI1a4NsuZN#JZQo*42;>fvcw@QkvHeSAZ9_(U&q_ z4w?>8wbKjKYM?iLuEljM^hm=c&|#*Ijy+~F&cxKq=$J_@-RE>UD4X_{o1?$CaNI!k zI)v)Duz-s?$`XDl^Fbb z_$P$osXf^GfwROkbZvZWVUW!1w& ziO2Y)`iOjGaTEOgUd-JKdD=UgM3L0?*S8n(Xd*N?xyrO&DxgLEGY;)N5Y(?qtER$lgKNihf%Gny!+XUjY;5$w% zvqR{JzT7pqN@|8Qp2iCi9+o0o>0u?lhqqN<%2E?zY#nEJ`SCNgwUm$_gQ5`Re>?<#kdF{@&H?8Gver|=Fw9^Q_`>dzM4~JV_TIZPWEeA@64g*C@kZ9$`i#QfO4zU&u zdli+odnncy$-nO?Z(NA*ywB4p8X4VANAy=WqQ=+EX!s=5F~JS(J~slZJ2^behnW&~ zc<)*D<=d9;kEyqXB_1C#=O8-iNL|T>lL?G8S3*EI?`(G;u4Al8wpdOwZ`mxNwwgkH z8FizlcTkUlp@w~d=9|_H(1jx?kiyrcmo0>3a~(-McacEFHJv7B@;P4AqS>EE_EDnlyofXCfD9T5!jrYf;sAl_2 zP0-}w=T>-xv_==_dwQ^+PLm>3EJPF)HQM~h98}g5tbtbw-%n=MYa*}bjdaJwrw&1TQsW6cpX2KGiTr$>j{ z%wm~k^JFiiGK}BrC?C;Ml%61@*HCfRm{i(~Dpf9uJ{Th7ehp|ToyOD7@fB{8iRYv@ zs=shQp^A@kgK%bZg>`K_T!#uvX{62reEN*|NXoZ6H-{^0UY>Zxn%39RKl_TNxEWx9 znEs5j4iB_8c5hwwn|qqRVS^%0Sg(?yRv;BCWNDZm$-rFd6HRmu_e;wyJ)v`{ z&RZE{0*P`{`gue@plf;iR@>$*;QQ?q@A5|sGxD#W4`a^xsjO|oI~ROjv_%z@D)xwO za^6IuxKoQOWK4>z<8Z>Yce6yD7ige~29EgADUvq_bu)NJl-{z8%3Vbz8`+Mbq8@8W zAQm0E^LJ=FrJj8*V=gh%?6{^D$jJ*qdZ-i_p{<^GA!x$&qOpre9jz>C`e7Kn9*H(jdec9dP9D1R?MNs{g}BUL z8)v`2Jcb-gsvpf$8C`NP{c?hVR)MOm@b$>ECGl#f)p+CTE2VFe1~ zZ158&P4lm}Ig}Och*{JDi)G*PT_XhycqUN3mB%5l$eFWF%d9Q?MT}_#lS0dvi3im@ zXdF{=y!SmDTF#N4t_N|-?YViM?_tp_c>0jxE?j5!<+Zu2NPw2bq6EM{JPITj<`2X~gl6)-xYkR;iGsPf#`IC}@T4b?MBt*TjDOiTf>T3%Lh1q>ENm}IoC;=rU4c1amm`KVojW+D#izOT89!@$} zNHeXnxjj{>^0Iv3ud+bc2k>VD_|L%4w1B&y(ZrMS^2ho zdK7TGM6dGO>1j}3H3bfIL{Z$jJnQc5bZTM252^KZc1uwa;=TEkfE<_Y`6*KZmvHtu zSXx0FfP&G+`|7u*3@FI? z)t=sffkRJ&w^jaVQwPgmQHw74K8|?2v;o}-^Jmc~((JAUT0`ipTS`ibxhi5K-UszQ zPi)9)cARP^Sl zIe*;!Q2u2ljw2sgbrWs+NlmkXBY|-#{(0w(9&5Mt#C4;oC{X!jVZHHn4q7bFKww!B zjf}ivR*4>Nn|pff(>#DJtZ7f!RVL$OQ)AVL^)#-^yj}I<4q5t5Q-)b$6|**Zni`Hn z*97w#i@T`oM+EqsvWitywU%;6`je~u*5M}pr{R@KkZENn7c=B$PN8y@r^x3`mQHDp zpaq2uR*$EgV|MIVhuKbB2V{rp26Voj3W+LP5mv(61Yy;c=ZA{*h0>+z+kO7pcja0N z8qkSk*bm(h!EYPt3oE~At>s4m1lX+Yj7S5n>u@L)4_HC!)4f%eH$b{d&Goj;)0`Ie zOnUyxT4teosB&A^gfywz*TqjenO>4rRKwbi+5)?=HUd{TBGX#Fn(`mmr=-KGYOT~> z>pJ`!3Z??Spb|Jt&^C~%O3}GVfs*g76+CO4;&zE+x`SN-)dofPQP4w9)ws~W7rnQ8 z8NRis);jRAQCY|$F8dUaVw;hC5W^d+)${LR442>!9fD==@$wq9>m?XHH2IcY@@&_H z-!yb9C}ZvTzLgGq$9?lqC=_Yr2`kRL%xzt?j!9B7lsF$0H${naBSMbLc-;$-P;!}0 zBRXJZ-qA86p8(pbR^1BQrhh5;8JzyJx@)q`ZrL&q#N}|uLJqSoGj-O~W?LUicdAes zjG^Wt;*j(?^eW4uu<(0$#bC^4S-cFh-DKqqgH5!puSWxA>BNyV1aG~P{=2)nR=@QA z@QLe-+2tzF`hCv@v&g&O-u3Hmv0>9H!(@f%z&jAZMBBkH#v(gAuEml|YWz9;3ZF6;*wk1U+4=XiWwbWs)Fe=lbO^#ZDA-8i1MHD!xt*@hc9grZ>{hJnvl4Q(@t^s#@ zM!e;D`#AASMlH>g@R_n@$Fu~@?Z-Uxtk3WDXDpu}&43NP+g4KkGV#np+NV-)OJF%W#O&t8Nu14o-w0u`pHbXn;!d0!>ZJd{Q zO$p`NN!|?07)q&iYdi^8<61@MB z4~-tfokdURBLhAAh&Q*&*0I|aPMPqRbKhAU zoIR71$s0fF^m9^s*c5k~O`!(VQ`kbTR601_=wb*#$=-ZPz4n81sGK<+N?yGNdY#Zj zmM2nB1Y|*o+3sH`LaeHxjPKpW!Z_HNVczP;*AcK6p!g5_F~f1>+JaDbER%Us7Laf3 zkc>bNHKpIarj6tdrR!WVWmKHc*H>GDxY&3UHHug#assNeof-WRlj3 zez0Ty)1ETS%2ThhIXmxUkBbd`W)aT@FEiuCehXyvpx_4U&RApFd|PWV;ym$(1_gPd z9M7pNKZlg7Y#|B8GF}J5Hr6LDZJX~waWhoNc_m%kGO_uLHQa}v1{hQvN->(h4AC`} z44&*v$wP%SV7)b5@5RI^L~$lxW*6CAZ!HrRZU{raVqn}TYaP-2(hnB; zB(LDf33_kMYxSLj#CI%`u>(2eAAPSMbafw*{81MroDZ{soSiTg8mC&e_PUDOzhYkq zEQxhwW-N+NS`1(4M{3xMS{bIG^3!-$tcf!A?rl>UyKA&@?yv0eg@l<93{_e99g4^E zqgA0c#GuJr%};*Otk#%SpVA{h4$4SEIx31Np(P%mR~;N!+p>+UP<*?7#<+>WdM&p@ zC=WvOjY&+k*l9$}k2j0ttm5&r!p?y%ZvQrOOVwb}I>-L;zn4mGtLx&nvfT<0gb8Jw!W_MBTiZFCUovSwJU6g0Y!1d1KT`w0AId3cZ7zBQ-U zN7le!U!cZmJR$74mt+c^;I&T|RrhU^rOBM&4iGixs$tk|DiFw`)GIka?{se@C-eQ) zrC<>)(zjM*YWw=k1ZNXI_@Z@ByIu5kl+ra^Zv@Our`}kj0S9$`CT(UT`g7$a-?a(B zD{f*vnW-5Du#|&Hi$ya!3Xv|Mwuf?GBqUVjBqaXr3-jQw$!GW{@ykMq;fIUx#!zA)g+}Sv=V~G5QKn)_VIa%K zu7jG}TEdPAJ+bVWVf1@?^Dh|fD;gTU;z0L6^^MHPPfMG>&>>JqxfrJ<@LrK}I*Gm+ z(`nRRfouHWmXBrP?-(Ff9hi$6rxjwX^OlE$lQjSEzCB;MvZ;fy{INwuMniBzS2Z6g zK}VODuAN!1K6RAwCl0Ev4Hb(Y?dsMDOgPy`N8AUHOIi2l5#*Md{Ss$c9Tm`5-5#yw zhH$v>H(QNV56cEgTQLhbE9vc^)?!~1wvDj~dP7S%EJaKcLXr=HOy)z=OyyKDGMcyF zK+h*Iul3D}E|td7X0agq*buTCxUROFWT=<^0%QEcEdSRIq{F6-ccXV*@qVvQ_>d~j z2OnR`BiWuQ9<_9j1cP=___`SFc2N!N#aGO}JI94!CzjHDIQL{+<3a=SPBrTsSJqDs z3-uM0m)b3^M4o;$X9f9qNmw|&W-;8{L7k7dy2X6)-Ua~BKsMl~7j%>q1W_A|tBobdRSw+Y0Sk*1uoIG63ETlXw9Nnq@IjOU~ zhuc5r^l-EIJ@m(Jdvi-xuu*?z{-=(NoRaFlbbhy!fj><) zPE$@3Q+|G+sRh{8TwJ`SKz?o>9-x^82OpQ2sTms^FWWz$K zJZxO1?Ch3YKr;?g4j>l?H#?Az!-5mYZN|-Q!fj?^!NzOx4+s@k8!)v^?Eh)iZzyvx z6u-Hdg*hKTFVMu4jT6Yl&Bq2bF|p(XnsAw$^YNKln(}a%{DJ!ISOGCrIU!08mcQ)# zGoos5;%@2W>Hv-x8%J{|FSmae*0gc3&~P{T?KXC9K0a=C9xfgpel89UPL6*U(z0-M z1M~JbDmxnsJJ+8p=4JxYU`!J*e{38~tSnfa9j*Rc09!2};c8*x?&PZJQG2fn4x!o(m{CnVI~Khd;s==D$Pb?_d!(v10wx6=eOdg#SNC8rDu;j{kc&|1SD3 z6fswKFDF+!6;~BgTMIMy{~G5%6aE*HIyg+GvH&N_zoX>e#%=x+ z!m@#x#K*~Q4&<}oH3Nca0B*6FSpxaZE!Zu%EWtU4<1bGA3*F7h(%s9%)k4e)97f=M z1_#lfeI}>>n`aFF(Hbvni{B(-<6r}_aRb>nHQCt&IJpEkcqsqcZE``@->LE6Rx9{B zc_=9f{L>$TzmtoA+;75ZcsM)T+gP~%M?d`=Z~lMe{-OUjNB>vq{}lU6Tf)iN2OO=| z?kZl6|K;@miQr!diZ*5zj&4r>mFfQ!`O7W;s32gQ{~7~VCUBu+{a2;?nHp&E zZ}$CPoB<5|Ka>2o{QE!d`X6`ww>Z{@Y`7fJn&sKtf_*GxO;4Y=(F5%?x`)&#F_i3Hn%f{WB{P)pbI~WxVPY#fi6w~xxKF;*g z!CqJxoE$rzu~*}wMb96gwzX$xWW0sNRfXnW#CanbXDU%6*%u!buG6Cfsb;^}4GF>3 zxM+v{96dnTFTe65{pnY(*G~vFlO>L}cfyk&==#=A$AEi&XDxeKqv+xQF?47#^wE%h zTG8JPYyf-+IebVC;7<=41`tAS*&hrAw`KmvIq}^$<3!Nb+nHOFE!b$fq0f5#b~O14KZ;2EC?LhR?aJgN7x=H}FzRR#nD z31pLLD^KZ#0PFd(c?WGWYfsf$C@3OJqQ?TrWpj1fz1gFqq5$z*IV#!0Q$f&ph=~!lI%gQwj1ReOwj;+3(dxXw0LK6wtIPS;uA* zXLh$<5X^e@Q4F9mYyiOA$||(3jxz=T4G~nVk}W;m5=`EFiAI%_lmq~DyAZn{&LIf6 z@1sXUcK4<8xoq0RZv}1fc|Tmza9K|QqyVND?Y=i<8T=q_i9}Oo?BUPccHQ4^l^*cl zym_PZ)fmF;^vnSRGUwghsWSN0UCT_5jYu9QI$NZq22GAT{((-VdwH3V2(rdnTwHu; zAdV>5Lbryiv8(IVLc!bXeG95L*pac~xqt{0(L!}GPfs2$$JI1yYU<{7Y*FSUJl3~h zax(|)kP#3d$QNG5Nto+`cM1p0x$j~S#+I=pZ*ZZ-ek-Fx4~>k3L}Sqnkny_~5Glj- z&HUy!*qnBGq8eFo35ns|@h`z!e5&R1rtaVc?!*?>2TLIY1-v}6H`pz}M)=HjA%6?f ztBeQ=3NoaJL|34C^M*(#6{bPYkVqe@h8p~TSXoI)Xms%)6Z~~PR82;lSTd2HdCS2K z_3>-97Dykyd_f9BH(uhc&IY$Mij}1>f^@Lc)6=`zkipxq)hxptu`~MV19&pXK^Gs~ z(3_)$NN})nq|V`1(4YogYz@9&0n}gB)zz8I6v%-sc#jDV=;L3wtc$CYibK_@2_H+uJ29cY649_7jDe2c&BwPb1R(_%P7aTbkI#n> zW@c5%ye+_6107y$Z2sYFu?7l1V)zOT2k`QE6Z(7de85-LfX9R4{frD^7vm_DD=h}) zOaYJcPX8yZO-=DJ$IC8~ElqgxD1LUE8R}Y(BQ5Y6@FOtpUcjNF8C=>UAML7eoU)wzHmNK(nt6s(>hDV!lKdS656oh=LTz z19DS*SaAM;|HA7ejS-Z_1x{8TIgq?v=Thhz=0k}T+f%s`XZAblxl9j2_RQFTGfWJO zp2el5XnD0V%F?85KGfaGY_zUlk4$<>eda#r>k!~ro7Mqm?|R}!MAI^4Qo*zgK_7L4 zk{vtPFA;G4^ z^=gSJCgn;*Cf8X_#*{xlPwNNq(!KpCUnrIOBn6=g9q{YHsz|TF_Dm9RDFgmJAaHaV z_s8J;MxhcCGUQ4QL-)Se3`YW+5`x6zdN{}6LX2l#$Kd~X-2*EDaqjZ`@^bW*`RQkm zq*PE!3Qon_4npvP5-0)e4B$0<++&>6u6}EhPfja!_OoLcoaK>j+Oh*48NfkLs{Kk2 z5LPbNs$}s31FO(8yhZ~``4+)RU@V;z4$Mssa2;h|0-;0yE+;&QrX1JDOCJncTxnEX zjRLHNe`lHQ?rwoaTY3QEc)QP4+DxIs`%ln2A{e4D5HI|+w6KA3n1EUAXM|u>n%1%k?%r^*SSw@$%DQJq|04 zJs%k~RH4Z)v+tdp#Pb(&e|80u5y2!0ovbv`-JSk`YS2T`($XRm>XnBN)~&NN*(ZY$ zoj#Z=)i4HE*uM8vKjDOcqVU1~Pq*NjWj)#epSD&(tal~RnhI+a?i&V>({tY#pFO#4w z=OjrL)_t^4U1Nf-`{tESB`b=jF$db=fZahH{!d-;gIhJgb(``*3n3IHyH zK7V`>UQrlqsIF$^Ax8xKxR_NDS+e8$oPhfUaQ~``J$dDPa|pucb0&`gNb(5!TuQn> z1IVi?FflQ|;-ga{-GW{1`h0&;s;jGe#$5Fi4<_feS~`x9&2?K=vz{K{E_1az&iQzK zpkbVOaL04Hf_(HIk2R#Ym=27GD+nfQrpOi_>gj3=RzhVc{+Et-chb+7qpY2_4SE&Y zYWO8=_(Hy1Sr0N0Iqx8$pa|Z*dqTs_rneSF3<22K*i1FpX=6h~O%D$Zp$De^^h?jm zijND$PubtM<}e$G?O{v-|ELx=qExO^IW{yztLI6K71&$*3Dfy9Mq1_bdGPmX0x6_Q z4{NW#;J|$P?JjA6Y*YPLT!5)!qvMay+=0LRa`Y?7%DX5@zA=xAgCo#nB7-0Q5p0l% zppei}z5SAUg*a&O99!t~<^6>j*c!Frz)>3RS~OC@?g6pbUhs)xh_&n4RKdYkP1%qg z847HabUbl-FfbZY^z3(Lh|SC-aVFN@4=$Uw1|Lqq+ea!AfDF{D7sUv|&j3>?b<_wJ ze_iRGi<1+J2%eqKZlQ{1V`F2JAW&R3w@DX93?L5A_vVenWR}oL4YwKqKMVp27Mnp# z%J*14SG60QVRFFqr>3FlhtS6wPUsxy|Gf#9M)p!o5a;6LeN)W3wPDQqjfxera)Xw? z=;z;&;E#sH#i3N_H=#g9CPPN5nZ8PN(0XB89|;|a(~*}ChdhL4RY-aqVRpMh)i z8>_1Qikc+-~4-p?*Bv6cYtHr_W$4Zh@z}iLPA24kd#qm zWt6PQp4pVWXGBIugY1$KB1Kk0qU;idWR_CMi1Pnj&-?$q$MGD;`}A<#*L_{*`Tc&@ z_sps-e$P0sn!}mcq>D$*8cB{CBIYq)pC@bz96R=GNK5YTO`{3rE~&8;wf!0yGDqKZ zbbPz)cwx~J<%}6?Bg|#Ao>9tWBpfAti(0BM-G22{%KUQ&N*nRKA{5DFyG{XYm=8a3 zl3^$95YXhK*}B_%`l@=(3g`Ci<9#U2DkecLldn_S1@8HiJ5+J@I~)a8q_1Bc-(uIB zN2mKxm+qndqxct%p|lJPe6?Ql?;es;Jf8>tYGE%6+6*-QYf0Jo6YE3#&8JU$EG#Ws zE(Dk-@-q>LLoO)rXqC~~=XG^%Vt1ZCZn*k=Xv|~!Z4(}(LWy2%z*&9a6rl^`_7yw+ z1_84v=aS)u>U{a~^4oV{mlWp$bq{FX}o+V=gyOyuw0y#qKkxOg#4Ek9Il zb0c}GxAN{W4}NnFY9YO1T3}c0$2MnY`tEOgOLN5XMK~SN{){#Qgl-?4{^h9KXg9 zy!mK^pH&5$B=}RUS2OB}`Bdkvmm?!wc&1x%yFcGZjgDQtMR&w^$u229U66mno}%t` z4H|^^)LyFKUpu9ojh8<@^Kja7o_{rf!YKb7S({s#MGO6_&Q88Bt#PNAxlf@&D{0=9 zCMzr~{JF8_kudVm_VVRB0(T#MHyHD|F zbK_2vnfU_)SXW!NZFT=XbkxoIJj-EuTD&|SnP8ydQ<|Dv>1b&i$(*f-;_`cCG-xr^_edL;zy3Ol-sC~jm^v$OgL3+q_OsF z>J{p`eraWV>h^`&@k7P_9F1Gz%vBBpIDa%Rh{JFHmC*}O{)xPvt z`aN=3#N-seQcYP%;=D34w+nT0sda=>TFyO{?Fv)O4i>ri1SpnIOpHk>m`oMjMnz4n zh5!IhgEmi2OicmRH!f}**Pmj$S!ZkvT7v%i$6%nft?kC<;N#xdP|r8)rv8a-*VwP- zpBY{W80JUkN&r^?DU3i7BJZeJ0du7|difotmX_8>(FC&6($Wb)@0`^>oBHlMBsv~& zT#A`bwNgV$ETn}O@87e(E4fHB_0EXTt)VX0rk#;!<95YG6$ za$C>b;4&%fvD3rr;54eVBSX(@@v-8YHZ^{5cEX2C()nZb-v|4Ca%9ENc4t%gEX^bu z4CcJr!%OGY>*^Xt&1eSrDm`;W1rYf=TA`^-z#j=K8=IJ%I2(5L_2vYRaBD+i-Q&8m zI9o9^RK?SCiDpL`$dz$JpvfW2@9Xmo0=**Qbvuu$-s?H`pvSK9-8(iR{ZfWYmo7aG zl^_8F^MCm8LFNv7D7XB*lL2OUf`eW)6;gwgHP#=Wx~XGzR9$M(X**P>`g8Ty7cskT zZe0f%*FTSK-tdkFtnB&q`*+>Vgaq!?hWxEMUpIb#e=yRPW*S(S)>Y><&n3tbv#qp# zXJm*;?bZFWU)D>Ciy3+gdb`*u6GB)?&v3EvUYUe$;o)KS%YGXAuDfZ} z^0$i`KP4Tp>3r}PJtf(^IWjRkoRa;nNQ)(2x(+tG`njS3nZL%7=4Q}s(m$fH{v#v; zFqi|&mqb5p&Dw8-uCN8{NRe5aR?=zcG=a{~<*TtS;Q61@(@RZP5*Df7Cq>Kib3os8 zcG7VXt4yv&qy;y0|Nb|T3Z0un(1j~zPOVrSal3%>^M}(bTR4=NmI;@e(~W#wTzOY3k+^g7D%3N z*vu5Z^qiyAq?S5gJ?*XK>Xz*W?uxlR!T0aqzx41{L*>~L@FgcI2jX*e{Hr=a16-`MUsz>9=Q%&Z#>d8?` zxP6=cDsb)>jQ!)kwIXceD_{8>ByO=8HpSz_Sgm%{qe9a>yM9(Q< zC-3j?{|Ys{uBWEX9Qc8cmzNxT>aE-zCi1OYw~7UBcpLvklRIH-Vv<&A->1C0vqra- zM8YZ;^O({YmHW5aY@sJ`CVuzq@?w`<@=(>~@$TH{FIUaDb9c`c5eLP^Q+9uYAi<&C`0gM@*t0u$@0Imt%D*vFuu zF-^0X$s#WPaQ-nVddUM0kE5N&!ZAHjEx-?RH&*T~nzAqy6pHgIuDIXfQq zAxCN4e_u00XyMb=h;qxN!N+KPWo2Rvf4}(&Tke-{9-Ep{#+DJ_$Ev!fV<|*S4!z=( zt7}=i)?IvfGO+$D!2jm5mS@&lhrS*gO;ogRPz##!;liSC>giz?y6}(^H%>!C6ZI2f z@9NI4hUn#rYH6Z>d&qmNgZ5 zn#y<7pDfV@ND9r(4pvrFkn8K~KTZ#ue{3nCdeeDwrbdoZAsE%EX|UWufxR<*rp?{;J<29M0VT9mc2vTDS# zr*|5v3_)#d8fyxR`@>6!G34arHLU#fN~4p>S|>yD^7z6|uAp!v{R0M1CDz0L8i0k~K@kpGhJ4T@$l?J9>0gLQsVGI;M(Elaa~ zs*aAumsaiLf6Sn=!V>ax&n+eYJHHX$oIn^`BptApQqaIsnxDyFoN^Lpw* z{Zc+?>7sWPyf1$=g#uUY{7L-l>M`)YYJAiW8ILIjsK|0Z7bexqV{-4dMR^(vrl`#f zRUPcSd#ulDj}a24ktppyLtqUv&lJt#lkkBJHX^o(=I7Uxd+YJ1xNb=1o=)r~N%nikdicTU#3Z zVI<03M<9dJnKQ{_V`e(?vzIe_QyQT5+&$sPmLW$^T5N4@4*OVhMSWh?sq&^x;kkT< z`g`jf}&9&=oTL@w+cq1voqk67ss|OgB%jZreo^F1otkWrCH!MyVnf zZN#a4K!2@9>jPY;-|lhKXrD~ame64zd-LXMU|?W77Z+E_#84`DDY(GP>G#vJ)`o15 z0;u*WUzaBfCU4wWgAhS?MdHuZU~rm}5|Pf^M-P@+w#7HK`c4xKJt%0?n{%z(PQoW? z_Ig!snoYX?18uUq85!9qQKk6jgxyxl5^$x{cbJ?ZaP#o+H1RPm0DioJE(zmp0jZ71fF#a z7b`k=#?r##$D8!S%^{@|F+(=fUH7DXa(8oaX+oQ30Q_dsy4<}%y6pvnfu0Id`6-A> z+=7D9iD4!~4MB2tM=n(o1r-<8ka-{(U_Jm*BQEI%-LkR5pds)C-Igs!o|fwr4Rqt@ zXlZH1zUF;HD|!Yr(v-6o0>;<(kG5gGNI9^)Oz`&hPU!E~Ezzq9XX21@-o3iInr?D& z|Ni|0Bh@aW`G40}V#m8Vu*@JMWeHD>!yj0XwmDU|i7(l+1{GVQ#&cHj-`^F}uqYm= z3V6W^Dk{-B0;4}aH@Cwz7%iN96q`~n@p3f#6b(e>nwFin@v@Wgyc{wv_m*3pF?i~l zZCHH~?!|{%uR|Z7`<%a?qi@vOjjP zx9#1E#Vbgf-=J()S#{Du%rf4~9b`S%eCetebvx zlChsPOSNulZKV#y|Kesh&cl}k?@)l?r-x8 z0+lwQ)?b%l#(E;$p4f~X@Leh|zu%fFY-sT-a=*BEQg~!!%=dHs++9Jm-{6@J@c3@G!0zKXKohD>alw%!h7n&-Z*6n zkEzaMpX&U)1eQn~WMy{HpE-8z+7))d)wdu`W*DvA^~#l_54Z0YGb0^w8F?;$@#3&- z*R3EbrDXnmrxx@vYiotge}CZ$Y+;bulmeSBHDG_z-Ql!-$Bv6eM#F3C>qmfyI?!C8Lc`yC|DH!{joM>CG zE<%E13~ZRS4m^pQM)SyWVX0ySEB z&DlPu58t%!`Sa)Xk~SByM-pIAO&mUVPC)O8qalZ+BgfMG=w8NlzX$q{xU%Dgf==ga z7g3~A;Y}QM=nqa$=Ww(ot)i3e0wSC22YHY)IwQ|X_H%LZ$e*5zK|w+8sM~H_J?;~c z(Xzc|avc>!_e+<#A`~ycLW;f#E}RKuskcu?fzgmxDoE)$#Ojboj~?j=%mTEj=<4cb zPCqn$CJq}#tQOwDRcVV6Er0)w)q6qzj=g;S`qqPQBL9~KP%|!Z@L)(#HZD{4yA;oL z!pIrjLJPhIxXzypwII&{(+Vq9qH_3_Tq6h@1h(jBw7oOoJpQD=rC?r7&|uw!(cbBE z2q6Wl#7AwC(^LNW8%Fr6D0T#dR~~(2Twz6rYTXR}k!{)#XeUeGgnj?2=E^ruNq+Fc z;P3yqc*=lR?*k&>1++w`aMNmo*$qCnz0os_>KF$Gx9jg)Mg=A_2+?fk!zidoIjls5 z?LG1;GCXkaiBqG+hDQvl99T6CcH~0i;oG+_cQF2*GFfZO_xNUddb%GL@&s;Cxz15t zCO&fOo}pc5=us6E$L8iVF4g+;C29HHZZBt+}x=JsIZY%q$E16YMxeuSf^f{hJ7 zh_w0U9n$~TimBx;ES;S0T9ie1Cqwyg+c2Xf9bjmVWIR&iet$f{oWmOq7s1l!MjPZP z{mzU)F3ztIE;|1!dJ9#b8H6ya4;9uGZvW7`&lR4YzJWGHkG^RGSJb}WHX&0PjXNPF zg$l%ZZ-d(x3~H4;IKoFfSbY6dqCsW1@!z%KoQr5~T}Z2W$2N?kH*%CSyh zAUKIn!D)k8QlRyjI1iR(JMv3_IZ>mfQKAAUF>@bT#=cTKwOPXw2X`2rN-U%BDR8?p zrI+f2YNyWu-uW#%YHR=u*meB*{q0uTA=B5IlrVH?wsBFqxVW&8iSzE?Z!KHrbT-X0 zGSf**Ma8vAFO|k`dG4CSU>VOENc{CchX>rZCG5!|0^MlMRKy)o$jQm|q<1LLs(kY` zedbOD^D2y2p8sWQE3ym{oN<@_{6zuzHTb&K7TnzmxN?NBE9BW!gDPz(c_>k&PoF+* z2G5Fg&X`{#y>W18C`QOsvj^ysd*40^A}=98X%)OgzTYIwhqS;gEu9`75wSC0dypoh zeb};@U-v4y9sRbx?X5__?u-m-n$?QGRt%B z+)hbG&B!?sa>CYV%qf^(4MkQJV$~djqC#jemp)o%7=-69|FYsgl$lc)R#;tAXgHsL zt_feV{LpWC0_xz|TM7J-<0IXcbfSk|_2O4BGwCIhx1S%_qyH7j#*s*xWAR~l*fZGp zLYjL#&_=?7?&HNqN7K%!@7WI4Q-oGAfr9OGw_$hnA3KTYw@#k_uplVJug)2?6536v z{RKf5*UvAgRsr&R+-4F$3OSz(GIUfBEXdJ+Pr3V~+IA+UZV@S|l|501+HwPzW)5{N z8Z6OJkt`S@8Fuo1D>ggesdTDK6pSuy1D6q`jA@4iehsWJbDB|aZ)jw|Bh!ZXJy{g| zns-%RG&d_`Yo~V}*`bI>M(_zrYU=T?*e(`!zAHc8=oX%9k)Xbvcm41c?k#M>!4S%F zX$7eX|D?Gr(&#`hrLH2aut^Qe`XdhX^hDG$2;9C}*9 z$hEusNPCa)_h(~=y?`v^dO?Tw?%lgD{|23U^zSsq3$d|@2}+1T%_k2MC2~I<9i7jU z7aBd(LB9v|%Pzkco%2A@%RLK?u;4iDe)c=zQBloM*>zF^!?7fiQc|pMJ|16MW&b-3 z)nJe(qH$m#g^!;<=31?L?b~WGkDDVK#~=?BuSSuR61RZ*YG`W4w>QuY%5p9z&0rbaO*&LB8f;doaNpA*BZ-xGmLy_`r z4_Cyj?SC|`2|HbE32z~B7vy6cFqUt>O@)X;5il?zIhg`o>`=AqXGLQZwZZy;+OTtl zH_uX%NMiu_Wmmr&%?Z$f*9aUweAs6whMxcY-87U1$lurZ#NwIeK!w^`UJWHw2VyF zhC*f1gA;f=O#{StF9m-&44eba{Or{Rov+4r5w%cX=LvxMPOB>EmbHJ$*2W4^os_@*%(Mq(YbcH5J`s1gG_kPN5r{1yOHzbPxPPFeZsCLd! z`uzrlFH;ie!?@1(sMeiynWe#d+_Yk@WAYNks59q**`=8$}-zYmLq;C78VBNPcu z40V)YcU!y6wd>Y~26etwEuD{n>ytpv+!0COZtAIW)nc|(Lr zf)(1egI`LDQlar%AaOwzKpD-x*CtaocOUGtGGxO>C1HQ^Ms3@>EO~xf3;Lq<_MH=W zBj`fFLASp@H+tf@^A_S_`5=|CAAU{EY`}rhI=M!P(2m=0mx3`9l1+SV?QvBtEvZp5 z;SXU5D-aI@DsqM4&SHH3?I~*3;(xRCiWCZU6#+ZP;3Y~G)e|-RSkS+XI|F^g#ta@+ z*`Vad-1$aUqfqp9cOnU?;32(zm1p1nI)nX?&9P)1CE1?ApgUcncjtOCPdGX{00tqZ zlmWy&o{5D4wH>aa`;U*u#-ug%uBHFULC|MrgZSziQ2UG<)_)vNEqfjYh;@}|EUu>9MY*h6+ z?`}7glgIrIRZn@3v?LrU8TUq6Nj}ah2H$x*3kxM;d^UGJncoKs6TGOKJ$6Bv#Sgs18 zVPV$8B>1|#2M!#tdH;_-f*j1B9Q8reJ)jjS&%}fTCb8+f4>x#d$(OzkY+)>j2yP>Z zL_?=()4C)1rsbv!eZSFceVtAE$XmUKx(7IpUv*SQ#r!_Ga2>FO8!ekHmakB`$b>s$R0C7DFQ+Neh9Cjmh;8=2K6VC+NCOqtlDRE?WICLdr*To1 zHk9=C?c1?0Uo77P8ai5@eDBimSDEe5CC4XkP5)>vFE1ygr`vf7JoZ_%sX#qNjBM@r zut+KkSyswXBoa{TnjYxnYC}br?@S~rJJ_S>((MVg?qgOZ)VK^;yb z&)4h`)q<57qMXZ2m6hK`K?+9drZJpu$N%p77B)^&LPCOU5y_bB?K)LT=p9${^_2 zyX8em$3gj=oSZR0ToP$!Lr#3e!^7h<*w>&uc6zXssv@eioQ;jmR%#N~z_XHm?Vc2i zTjJKiU!JbRIHE6q{5V!pS@FEv1Cv@w9YGeh^D}u5A`b`EVukHjyGh!%Z5uGag5CSl zPd{!1XsW5joKjSLQHSPCID;Wiq}tr5)#W>a%#$ip>y~6L`aU|b=UZeMWA8L?cyvS< zHWrz)vojXz`3KZPHCHab!|QRhw6x4VeQmo%kZKF-P>t7cra6Zl#C{mHgL#zlaEa7y zY^KJDR4M=izJSk@Zo7C@XhBD4d7hv}|9<@BiKa8?GUxL12>M|7o{aS#)0!`dtPIxT zUTAS(fQ;QqMMGRvh^cyKvLB2(kfH{}b8>UT!w#B4{{x+UL!Um?Rev0^#NL{?A@@(d z`9Xf)IYAcfQsZO)SuhB&zfLbNwcfR5Wp_6I`Hvm`6`tKZmY*+3mEpJQWcFd6ZBDIVBxwkU0@v~CZC}lEC(xPbDT8Rko~ zcZIIMN*?kM^0)JRga=7jO%I?f`LBPk9vd6$eh8G?E=bb24vX0ywulEzurUNZ2t+6C zw=8_~p#D}Ov89%OZq7SSd0%N@-doce`lQl7`DZE@Hn*DCtLPi8=^G;n88tWOh_V~D zH*l2G&@T z##6kEwY>rD=nV2{q9%>NQi92@2s=z5@?pmsYp9%*SU(gpHq; zseJhgRyneTUG#d+`n3DCCn^y)Juj&$Jz45X+*W`NXp?Cz3LLb%t z5qb*#AA-;)v_zI;UO#pl*Zc2$drxi~VnEtCr?1I=jo->ycwQ<$Z!Z$!(>^nZ)KoeR zFMA@lkioFiVV8`j-NTHGj24!h!(LxBX+t2Hy#Vp3%A|yjdRmD5XJx2Q9CPM0;p&cm z`NHTRi0*O<|L-%BCfY!G$ve-V<1y7{QDdTnZTAzEy@}WajGPj|=s#>=LD%`qI>pJ$ zkU(4w`nT3L36kKtICa+h&(eVhx(~hd)(R@OCzLt^I}=|HiBX5L9OT`WxREHV_^_@N za|X@D4A7?K2Qlrj149V1T^Eggj6K+iSq2OlG<9`p&1c+3&h|SttqOkEj_b_rphKf9 zr<41;AS)r;@biQ1Jq0|qF(fx4aA)uG7HB$oX}AHmH^2-O0iUQ4U8Ka-kqhJ3pF00g z&?l1y-YD_RI`2qnJvvkl&$_~_iM;HkdT1vjnoCBChe^HvF~d6FD_mhw=_t4)Vvk=s zj&c91@3FmVflBG^!V{h4x|MDh(jqj9P}d9M0TDSN>0`$fP%W&|WbG5lx#gfL_Te^; zP6Hmve+xL@c3bX12MaZKn;S6=gpr=U;cy6|2ijl1RwOgCP&t)AA|Y}c0;VIGuxnh3>^@oo(!N-_upS2EiJ@x+?$NIJ!=BI)y=V6gGo=aTFi#*E|(bwktA z*zv_hWJRZ8hj|Zf_UOO#EHtVTnj5LRct2y7z=nwY zdVMWSR|KETQjDO-2-Pk-G>h_w+BqaK9t(JhEiYe6@0JVPjq!#%0{FY$47+-5vo;Ib zIH(kY0c2kwU=Tn|H5JCre*;{3hJK&f9-=%dK}mw_4*@n^!anKk@i`(~=B@a0sg176 z1#(8D+n3f^tGmFxF_0GJuU>uPz5QU2w8_?Pa{bDwYuvP1dPPmm%@hd8h!p(XMjyPw z#KLl#*k44Kw-$5165M;F0x@XVpXNYpErAGNzfWR4sAur;yJvy(AlZnO?k4K17*xcJ zZ3c)+E_@w0$P&iS@QIfIO!Tnjv=_KWg7Qkr5)ot|NcBr_b^zs78Ti#*h`QW_gNywI z8T*}3NY%r_!YKULCezGZTsAd7*qxH@u0B}i7*JPRKP=N+N<9QFxB+>wU8E_jis{staN*j6e;5l0`eiS+LYOK&Uu^) zIjb!O-RUIc;>*-yn@1+-czk{^i9N|lOMRI)Oop^d6kOkg1Lq6uu2lQt9eoDbrart; zP}56ITAfJNGJ}?id|(!N+-s;(THi;A8+pLtkYTUn+g=7XJ2VJt)t zYCr6)nI#qYH<8`1*fWWs8(u){3e~F*Sq>7M2&IM-hU2RpSx62^3(^}Xpf>~Ug+gd+ z1d65~DE;;8*B8hcY)P4!rD?1Wb!m}lIq{z>Rr4<%genQy^Eys9A#%h6%<+aJxE}92 z6VHcd&~;vQ#{uuVc7DIK!1P}sXS2w+)}EhH*nIzfK4>is1QT+E*>}@MlwTgCjIc$} z1U`jrIxK?;y5x?@eo_V#lCof)NNxnDrRgW`{d&ixzG)z+UUJfhtA1^2m-N*+j`If7 z+el+yzt#|m2n`Stv4;y>(^|A4KqMSTY%~(@%8>}xiL%uSHpe{8<4nb}o6HVAK;pl* z_zKZ*@SkD$(0eUzck81iE0(Gz6nilT9G4EXu#*s2m(&alI36QHegmbY?y;0`RJ%g5 zDO52e8A34jxCX0{{)ERaDd+3)^xRr+7637t(9)`YjCFTww|@Ar^Uy$h)VV@RQZTV9 z_LS}sx1v3QAl$E|ty5(z!le4me}3yP{{6#Ez5?arCdApc%X3fi7n7#OF@*R6%Y(zC zxIcp|iGj1Ij;mSB)|LX$=HaKLxUCTMGQI|EQ-)6|A^VzjyH_MxUeFvFA{~Mr-s+yXw zz@bx`SWR{xpB_ezJ(7-|{smnGd80HW$0+1@tU&#f&+PA@GFlBa=ZL;>gGNfK`o>AK z_oXH$Sm+~KcIg<&S^-4MtZM`XZL0VdaV$(N|g)y&*icS+Stm6`JyeXq(;=GmtStZ z+N{2U*yYJpzw-qeJg@>;i>{x$exP7s@BKH(CS{)R!#FAVm&wWBN0&wENrpXO(Q`<; zwZ4C^|8Y3)40T*aI^UZyR!TBr#0}Y&z(=&GEzet4?knf6J^0)oi4?^(zk$@-+vK$l zu}Cf5yN51&80$;$(&C#n_>nTJ0S)hA?;}GkP&=V&U&nan%o##KD>^Bv2rq1g1^(3( za8>7f(;!C9IAyk06{F%X{v2dc7^xXJw6kd3U0oa7n<~07x{(p|151cQhJS`FF8>(6 zBCYNNZG}VkZuqddBuwp35!4yaSXaa?rS#*6-Pf0$4C!@Jt$73lXpsFNhooi;;O@s% zw}qaRY>vux9X?8CZ9h&v-^V!FGr-;~25;U6d*{G0|J5?DKr*vgb6vE4Jm;0}Hd}ax zZdYusF)3!@Gms`G8VVI@Bj`JQ<}}adKm#;rV!?=bxVu|jnWw8d5Anp&$;o`=xzGLb z(7pIjYgGPDeA_-uXC}X%u(^v^wK)cxbRd-PNFiL5pRz|u2%O%Z`Qnk^ek=7q$*$|< zy2hb?6|={>A$fP;qykB&4E>Cx%gO$w0N`;q+B!O(Z5Cf|tp8+XLIer>jA3#NGPhI0iBGw`8Y zo02Mc&Y;|ast;*`p3kq9XjN87eO1cWi~cVQ(Ax_mFpF#;*R67bRp{NE)bp{LfOSbI z7Hr;&IpyqoFZ%O(a>IV7 z3RJ5nLyEzF!?r#X7RF5KFb5vf(AMs@j!;Z&TYGJNCDQK!t;I=|M_Z+yWF!V|dW{A| zy~R|B_4w?pp@6jXpeYmOFM88sr%4mM%1o3!b$uz#ycDD?s1iS6Zf0dGkeNMuitry{ zncX{A$WlbZOBENTWGIT8*5Yfo2rXvVA#p%)jB912 zA}JyR7_fwrl$@XM>$aCmfypEIom?S;+K$*IL;#OZj>yFoXxt(PhJZ)|KbF=)k~tXS zcq4ZCe|pZy8APOS!5Sy>k0g!OQ%vVSp9(ecEh*V=aryEVD13IE_`SWBs8H97ii!-1 z?tGDcEV;XPvAt40sq%UuH|_YnTtUSN$*Z&8org$}6M|BmzZ>?h<}Z4o-PF2OzS<^C zsY{}uX5hAdeKQ0&Y?o7k=%wfBzm}Kz5%owJa5DK5%y~wEiAd_Uxe-w1fnEux|MCZ0 z!o85~Y6g5914Q}x^YbYkrdPk*_rDC)({?%d0RwHQD%vGRM-e=x^z-urHN+RA_L?7w zSXv?m(f31LihV|wB(sV3E>9F_*GhzA=?IboED0&~6J|jL#tH8W6m(Db`JOx&~Ps)X`E@t4v%?oEsKaFl!vJ?7y<1i8=oi!J928@;w{II zPniit^01T>yxQ%sfWqiaO3B&oa33PZ!m;~rs_h5)QAB%P`ab;Lj>`u9D-GqL^WCq$ zSIQCetjOmH`k*azMxl?(6N+L~M8si)F}H3k^=V;@nZx?ycEv2{Dz4)%>832-?j?bh z-}wOduMaLc^6tZf)`og46NsMw{Pw7UbCN1ICr1Uf&CNQP9DmUcKmXJR55$)68fb|j z51f!7wi>*!v{XzaC=yZ`B-!nbAD5Pvx3J*-^7(VmL&2a1Y{@1d4GUuK48yY=p2ffC zKI{N-H<}1x#}K(jx>(a(tMHW#39t6i(a|oBuFv!HT2PKZ1Mel=ys5kEj4*w$VmU#7 zp%}&b`Sy0ZBP#-q_5yM%gDAO8XL=KAcT+KgVAmoyE&0turd;FW<1yBBkosQ}!VHa= zh1kbWpUm-4jcyDRrwbrJXLIEne@8{uxx!#;Lt@B`*gU%y))C<>_wK^esX60Pl+-R`De$RNwu zv_*r#lJ71vKSh|}9ok**ph(z3a(pb-DskGN_No)a;;3BFlYJO|d=61dI(o4j_3T_j zV8C_`jzP3aC)edU!>4{LqM*?<#2Cx*t8>ACA&NkuC~w<-+^VO!9e$9O9M0y$_|lVJ z#K8^E_$aq4K6tQAa$*IWBn2k*Qbyl71aFY+g@H8wRGI9jIdNQr`JRJ&W)SC?djbtT zjIk6K7Ds^D#!@@L-=F--+ATDhQg2@F8-l#d%*^9-TNG(A@FP3jH|xzG-UxYw5rB;w z-ElCQDq4?|Zth*lu(e6xRWOV<<2Sc8i*-XFpTWR%R(8F|>d((sC{$FUF*CC{I0Rsf zMBIkmf~k2NG;lH~5C*WdhzLrj88SDf5;Fyyl6>JPConb6WR$WHEj}SLy(}+JUNz*F zW3ZH8Hs~Y&w!J4Qp}UvADg2pKD!s^FUS3fViXHI+8(j6@Xt~wQYj+GS$ZXEx55)_f z2Pm~gRaG4&KFF~QvjE9>opsfX+xPU@zP+nJ6GcAO{1KLIcVxU?ac;afz6%lX35zBX zfCfW}ug>#yv8;WL+Pk#y?8?`E=2&{eBun3KA3MlM8h51+r<5AZzDc6msXW`2)P+N3 zxcBd;BJ$F|*x&qOiIL=0H?%!6baxj=I4X?Pczl>TmAd3y;UP>4nk6}Dw8bD`)7U5LQdm39Or;@ZT5uKcH)!2Pbtz2C& zn|C{oJl}~={@pa7ZLUQ6yAHjR0QO%bNx>sG=5AT+>igae8*}Hx`k&?R>WHufGx2i0 z7i9p!3MJz0GvBpI6FkINF3hGab(@3g*0LfA?Dm#L|=Dsg6- zns5CM74+~wfisf!83 z05g`^ie%`*)fYGfh&wWJCY3<$1R_zc zY!J|+)}6jRWB?b`m4Zna>Qbo3bjj7vOL?i1XU^GwN7s)xo6aVAH=}9BWcaAl68&yj z^4)P%Ew)7x6XjuVO61O)P-z&GRzK#ev&&(K`JG(Pln=xpR4l@#b1bLPA(2j~KYU}B zgP52ifZRkH#a&FnA=ZtH%68Snh9^1p5{-_Of46ELbFNqhgy zdN(jWL;0$`{XgMg*Sg6Nx?f%n2M%s(fyQe$SZ1EZ)9{!`;X64x#+ao3fowV$k}68V zGK#5kC>WR`=CL@|O^_)!HGAU)v8_&eYwEz7^`!_FvKG->#d<~Nc#cmQ%?io65&544 zd@(XDIHmrmrna_YJOESFJ0bcplPDFIw(`6*v+i0%PU?=up{D>3NN8(NR_c08myk(KW&0(@>m1ILdi|VVX_NLUFlB)wDjzH&f{hlY%fB)2BD>YD zkbDePc3^1jJk`czn(6DW8Q_TFsdQ^Iug~~~u+S@?zQ|)(@4xn=^-mxUXM$2oY`*bF@R8x0u4Qvof#EA2*(>8Us$zE@`w z!(2Ch)Xo#`jggbB&Uz4H0xYD|oyXrD6%8?69GGqSpkW0p z--$XL7}7e^)m>?SzG0lr{V^I1A~dp96ZMsXWP~Z;?G(G&&6_g zl5JE{8V5=ju3UwI)||yI*db5aoJgl%<2_j|3PZ0uv}|jz@Vk)>XR{$C8Tqe@&VIY1 zmCwI>3z&s7d8+nUV_GYhgwdPswQ0B{vduVw3n`|gl>PVUYg#@fVeSaOc%8iQ<1@dN z(sxBcLL>}S3lFcTYiYHKl~5_J8#7VjG>Z2fULeuCFREnz;%0YvUz#D3K{G@)G?LxB9x6m%~?cPKSYip|i0vO(@cpM)lr=}b- zKAxrhFFirbrhx?I^)6>~~t*f>nVlU*{|N$5?NFu#s1_#^?UDdMfijyf&zlWE3xtM{JodW&}o+r z$iTtJhXOdNynDi(u=LfDg=7=+gf6((DGa)j(UW9csEOW{4;XeKu!eK?4HGyP?*;!#-$m-s<1fAG4EiYDfC{yTmy!IKFOja{n+Bao$O{ z5D!09*P?H2UB%PipA&CXA3_jys&nTD+4GoTixv6vW3<7=Ex>-6ocqLyfZI<#yV)nQ zKCAFwbI(D_&5DikFcq3dzwY1Nb#U&tzNMldjxzZms}AkI>Z^y595&-qpGAIp(h(Mt znYDF(%8vWySB{yI`6KOmc*pMM%;*F1j8*jxWniwmv|i2_KJO8f$9$IX&D1C4!9$t~ zOvH3NW(VUC9gX&jA6jVMCiiOjFZ9GHHoC*dXkLh2A8}6cgDD0;El1p{BXD;t$#fu_6*k@R2m#BH-H@F9# z$c^hW4Vx40DWz#?@83g-glmKIDx3j!>@rwR>kFZ)rcKrYCDAnhi*8q-Wu{s~yYc+< z0hHY5E=x|sNo3pbP>^qE=lyu@qtjj>ej@y8hW8(CRKiA6EJ*?5)z#HC;S*hOUf!nV zd}njc!x8C!nSS#O6hF2+v$<_(b36ap{xSNeyanS)>9?)33hYH`ov$5meim{ur*JZL zOKI?N#lmzwhsoOo5At|pijS;hj_$qk!$tmV`m?lK&lUqS+uGuud352p$Q8el#mtox zMw?J+rF(d`#@)HI3uIoOnL->DDyFqz^;%q9RqVQ}msj=IMMxO1mvVGScHv;r7p#kd z)cL8{c)m_fT6-NMNxF>q>%Dp0PkYYzU^{WF3Dl`#&R3BA3NV{Yu6AJTiNUXv4M=gm zK$y)jb4M0Z@Oq|S@D4S9Z%Bxc0L+N`~wFIrk!ehjfP zGb_X?=kCsn=8mW5p-jQ6=m>0 z6f?g@Mj{STA|h6O?)|A;R1z++k24-_ul)EFR)ImvzI#mM(1FT9U`L)CUYZTdYO!^&|2I_o12?$UKgRN*eCI&O#6(CKfz>57O9(lWq!1}=4W)>9!A35vkr;t zR1d*7i~Y!^#Ej6G+wSNb+MvI`*-xK26UL|7v%5{{&W$Un&s)rpZeD0xeD2Sf=S{WS zj|&6(<+F9qf4!IFjYvW+NeOT|JO|9&Y(u z!3mJde4M|51x9O;W}gn4bGwR|)Rwlj;5_kCFwpT|&UD3$p|7V{g14=iHV`Pf~x}P{G{@agl`-uX*WG=D>T*gM_~M5d?)|2|`!JamG*oUiC34 zp)&%S7NMo~_NR=GiktRtj7iQgsf=)e|EcC6|siU|~r< zTR{w}8(flM`Bdg6xySBw4gT&~PhysVI2BY#>7}UIK?k)1xYf2I>H72c`wXj0)M(59 zEOF42j*mf6(%XfcM90v?2)l?8-?moUI)k}1KGm*`h)jy_}r7_E9$iEZ#y~;ZqD@VBiI>Qu%fT83?W06nl^03 zE+-FbA|Y3^&~cgT5Kj#6jHgU2xqZTT)LHLvCVW>hc+U^fBpiDoa#+pn$s02;Z;ij! z8k9UrBFSTOjJ2?vQi8My0$UTpAP(z9QJlPEE0~XwSN>!=ASl`#LE=-f~@~4 z6VeZdRMgeOu3u-s0BHo09_cuyijj_v$KlD1zd{dbU6pSX*-$m&2(gm-$f`El*w-j| zlEjPyRL1~_C`G>1FVO6Ifsq*lH~)GOX4~XLhj1n_&N#i4bIOiK$|*<~b22wK7eEB` z*JmCrGYQUY9FwG7q$gsB(^;OQI<`ZpaCx}A@&mcY1uWC1hnx}$D!DgPtEWy>NJhxw zHF6(1)b+L4r)3Z2AU?02)Ls3w-Ua^j+JCb}KjuHxR{KMoeOe=PR$TavIo=B1AtFO+ zUf+izcu9#Ta)_fkt49O9Ak=Uq87O3<`9LhHc;|v<13n z-oJPY^&e%nOkZXm-bt1@ZH@q!w`{i||5A{CJvLZ4L=7evm-&IggE*!6r4XF;(^y3O zwQcD|8XckXZ=SH8X~1DAe$Fsts9?HeoQfuSNC^-7ihDWT@sm#2oS*mDP2*d~1s!4on&cD|lkJh#S-{7)-1OFOQXRS7sU1l8YcPqN&$YTG>juB9=o`mUfMS#-zX{{^8yJ5*kYU*bFTJx)Gp$c|Ndu7 z%dCR=exv&uw<>ZW)LgxM^aFE0k!rnnZ*M<3MQBu1)ZJT?NZ?$+Fj6Klbc*cW#qCOi{j`-DGxw zwz+^h8V!+F#!ss1h;v{R^0q%{rKX=u#5wvybxYgfB#^CaZ0?*smfpxf70ioiZgTU2GP=9_R?tW1s z9ibg%{4;fP|Knrv6jO`}B*A>@sy1PIlE7!=>IdmI6<`h7+MS^NiD!$;BDjcn{hOD` z?N;P-JIg@|{G$a|JTyZ7r)oivhtHUM58| ztY#cD`*hRM)Y-XIXddI54Ad0R-GzGTaKsb$T;2OWd~f5G|E#W#owiaoGBV;je!!yL z`z9Y97%gC2k9o?EVzO#drWUra#IWQOtp>>R(g*?u>@UUU8D9uBlPj+dXNr!C3n&oa z7W;oSU3WN^Z5zMsS@ujwGD4KBNQjE0C_*I}QK*cR6)7Waqah(88Cj9a&PY~Bq>{{% zvLY+K-_?73-*LQud>uT`<9@Djp1*Y}-H0`oGWh&suy&Slxk#F`pZ4O6edEw0rRGa- zp{-c2&h{4o(+R897I6Ib_6F1Huqj?D00w6@HPnLGrAA+)PAgCNnXZK+2qHYgI=^Jlwbn?*k39!9iG=|Do5sd!wPB6o=`NS-9g$vlvu+hI zdd56TNjVRH=jXD(G6Us$IJUpzNQykk;Iuo#5DgFNbS3xRD(&c2ZCG~PSu@kFm^I%n zD8a>*{uI$9MyGzfSJ-u#GLnTK?<@VjAat!6bNeDCQNeHL2zn*ALYKm7Xjeh;d-dcy zPjE&rdfDf*E^-oW-`D$Rx*y=%l=HfPIF4R0-rsNyC+u)^$^Pl^>)hZ6)1BM@scA^LP}AW_Eyb6W zKJj6Au@$hIFGCmRWM$$z8KXRJRbq49z$Jcz4K^{fXBi#=x00-Xh*DZ9za>$m<;?`x z=gJg&LMK?OL5Z5 z$iO7?wxDArWgj{{QeRAk43HwGx)YiTD7e4TobtjsbP_K_axcH64V?l^KUY*~aHIFw zzP(oe*8=eEi8eFdH_eL^O@7^;8vP5(EK~#ijM%p+-;s+$NcQqI`!2qoUU%^TmD9d1 zG6CAQ%bO`78-_4*#Z`F1Te>hllsv>5kz}Ee0!D$?R&1isflv&FQ zDS4|KISM8C%cap)Q14S8Lk5F4+}7tZ#S1!2Ij2_n^m^Sr@lJP*ej4~&-8AZ~g z!xg(iOKpZQ7MkD2J^oqo%S2=JZ}h4yHoRUVE$w&Y`hu8Cu|($XlH%eg*GASf1#x9JPlX@?*)4MRTHTHxXw805`&KU4f z1k5NkZ|*_KWhqai>-ri<@YVZcijcNdB*|ExmP9;UsBP^`<|Q+bIJIg&gg}$hYvLyx zaLA{Eu7rNH2< zX`Z|#?BOJrLw+8(vXV<)uBlO0`nnXyTZ)HGvOb^O%2~AuDR;>EJ+i%g%j1t(hbl76 z6ImI8mVtnO#csh?-s<__?EC5OFsi?i!w?2nx}CZu$klxGg|P_jhIzuH=t?ju*JyS2 zE?ZDDyqdBel!%V2t32Aw)v~g6Q|LSr+rDS6dwxYce99&Wj(E+0EtUsL?{m^ZBz_!~ z)v~X{!>o~#R!_|wD+%!RRlRW`0d<1|4aL7&ms8WS2dyA(g9}AP>W@sUz5o0=l%cI? z$c-v2Wfs;vagVG z^QAiTmjFb^6^g-J)+@i6_H{R#lkxG?S)pQVUVbN9$%{cU5ybZ#cWluS3460zYn}JG zUY}K-fl6T2x^>rxu@#RX3I>VVmqkUd`@|A%t0rttA-xD>MVbS2CWeN&GYepTkJvu^EjL|t#@I?_z(7=qr9jg9S)1FNW|A#l3YiDw3i;ruusyGvKD{A(QB^V&*e zmW0nrN$!&3L9cpUE~<`x(|r@w*9~veOL|qsl3~eMkuc?nGgXwIm-n~6<{oxuj$6sE z?t(pkVlXPCX;9%VvM*I_@7Yo^iS$!l8AEn_2I$YcoOW8lo3YhG=P3TzG3`ZqpS z)Tkw`G?wDo5lIhmibp!ry_+|WxL5C&Y6U~^)9bk9snBgm0lrLR9sD0oH-0J>sU?>C z``%`ERo#Rg<*c0!uZK1Sf`A+>jYr;9Wwqh2aYb=Z6u5Sjc@_og+=X);-@SkUcTJu< zhkIL6MI}ZGnvh9R@vfli3y@BVT@%r0eFztJo%P8{+?}$`ll)>+@4tH?QuRmNWnm|0 z2h{Ki*Ek)MD(=>wKv$=I_|h&XE0qlb+6U^`f+@66fvMwx!lY<{>_ud{l1;Jy<&#Jo zmcnJavI_g+j1aE#7*A@@{q0y0q^+Qtyjz93{AMQ{FPB7){B^g^PF3ERhjV58y~&Fv zYd$4$@gQ`~8b8;X@*3QbWWmivrZz01&yn-k4!&1^rTVF$oXy*I_L@c?1q=5O0bt(l zis74xHX{d1Dc|~}6L9D1NuJ4xO$WHdA8}JyXOji*gG`OS;t}n3Pp!x$KZkqorFj9b z$lQR^`rf9wt!>f*YR}T-=)zwe z=(p5Pxx3TcHwnw7gfHChY?;U{2NC?<>CzMV&rKK=4Dn4V!0XV*XkJRgcki^gfUH~- zWhKlfF>Y&ZEx*fUz(vv?pev5BszENB84O#q-)?3d8iU(mlbX*&|5cnxf*gs}Eb)Cr zv5L6pMO|yxFM#cvhS7!#c;m`}h3x^jp#c0Hckt~WD5$(CSvTz4cC8ZR{v7-iZQrkl zKOPWv{Zd-;`7G`&jAY-~SZf39aOuc!MEIwz2!ttSmz+0P7-+J%&*rw#gB&)vD zF=wpn{@az2hPV6FiK7dD-|=(1-4F=2;>xz`yR@C(>2<(>hO7Lt@Ma%@*6y9xzMs(C z=qe&x4`_pl*s67g+z{p_KW^>7_v}_YOYf$LJcAghjjaok^hTOz=oX^HY_X(H^}puY zWu@t|vjEK?_JILS4?7A86b!B^{@B!w(}*YXA46vYqFIN7%2}98mo!^1eAQdX>ltdX ziQ$ZFyGCl+HOFgxwvc+p)-5A(bIF_THw~ZjLC5HnNS&g!3H*Ed@_yA3h8G?K5l82V z9Q>v+Uw*$@)0Nnt&xT@IQR%J1%~9!9Aw0>5GXViyK{(A_de6se2XxiP@{V2spcINq zjus_SmWP{}5e#z&qTIMN5jh=|)_eMu#ML%tX5gopr}HJIL+TuYg_Mt8)b!Ovt(3{#gNSpa8CPwz=ypez6>lMC#o|VjOLJ^CmB2^|A23V+c#Xfr_)Y^DSql{uIoVwt%LV z&)V*eQ$J#U+KitEe8u(sdnk1-atgQ4$Kw7)=ERd_*SZD3fhGy8J6JBnCHs`x_LPRl z3kxe0r;6?NmrH=+gXyT z!tk6gq|n@C4puKsv)^ty`lXBmS|=~T7y&*$11l4O%U8O~q$x{pOJ2%k8yd&VIj!c& zF}UwFUFS8uzUjcG6+d);F>_0>`b#wgM!;T0z7+L~%roH0G1w+UYcKM}A*8y0?r^;< zgATk&nZjDpW`HYEqWwBm+5(y6Tj2B%P64;VK&&_ht}4Tuk}N|0EY4mNpo0j9``2VEsFiTPssl+Qr(WO3Wj{B};K zKNRpxAMHDv{ZvtGce#1TL0kT2LyUF)+)1Q~Yx_I#;XqL=9t$?#{sn~!@Emnxzh{8= z13`f0c|cPuTa@!4TJP-HnE=0%T0H&(hmxzDH|l}rTo}KknM<98*Hgiy_RYcF#Ml8r zcFnItM*-a*!9#L2T9G+)kqAxt2D9iV9|b=Za)V)ubhDDy#8hG9{CjA16}$!x7FWa;bcBL}s&@)3w@w?27uye@9p z*lzwR@E2b%cze^}8~pLZ#hq8S*4<;Q0a%{PZ3~jd`x~ZP??b-)s8&^$i!eb4pn??9 z_v;3qiCgo#0D^R zgalN(VTcg@pmk^r2kT>%19vhbbj;ZJ z%E)xy?_&92@g_Fq*l07@POj`~V-Qn6RX*%yj8y^hV#d~#T1WtsXB}`A+qe?d`OnJA zbALXc@q%&b&Y*xUXLVvUCUQJ#98|}B>9gLx&Rc5d(mXEg`o>Fu#Rt zn>@$MjUV$sIUr88fx2(v1iTdzrLZ9%5+8=4CUsI#Z}1j|&_?wqe{?NfH{uQDO!wKo zW&Ss0s0n2l!y<3rW|E4kOXu^1RDRb-cY;Zv*F2N2x?MF`{B`~nXBg|@G3j&&zKaF= zy(3$UTHtAHM!staO|%*D6l&}9QoCD|4A?S)`(;v)UVI{demBBhx4_S>UO2HG><0Hy z=QW1G1S8g-`?mUCco5PNCICg%rv$P6pn*sk!jp(!NCDX0`{RckQ?aGp0=yu*FkC2n z7vp}k5VJs=KGpVXHyN6KN_?NWz$vZ9dz7XcJR-4(OVMi2^w3QJ0+$qI57qN?TR(?q zrTqQlGeyLmy$fWe_?NjXD#P~!yn!Bw?XwT;8W@EzPpF({Wjx7+=L=JhGA5O{*C0!6 z%OW!_rh>Ziu|I!Ko`z4r?77E))3reF1awJ3>fs5Q3CBVEq1P!_yfzffgvCc4(t`1@M4IlNe1u7_Y3UuD*$jXv=B;4WmIV&KF_7 z>m%w-SGX^@A<~^p*z#(+f{dO+&30LMz1_uKR|Aof0WO}Sx$a2HL9l+k=`~Xd3b7&1 zSTQ>Ps=wu;TF%P5K?ZnvZNyjuU^Bnph1>({qpieCEnQ7WNCV1;}`vEN_(IefB`_5n^ADE#Ek{Uz{}9fRRRan}`#Z(Wm&d$udg-hz| zE4}`94IWyIfQUFu#(7OlaXl0tQIAKaCJ@wD059>{z?AFIj2WWC?tiW+C&z}6riF1s z$nw_V-jNzKO))ljQB-~l+Mfq&me94%B;N2BrKITb$#H4OsnSTJuR;;}U`K5h z=g^8k`NfNU>Y(VP{SnZtdQ}jFgCYRP)hHp*zj0|x@=_r~5QQ}j{qp}=(9wgB@(^-R z)%!Has50KWcW=Ur<`D5rrFNVLd@l!a;N&+jFa~Sw4BEg2Wi|;cMl77|UM?k<_wwAL zqVYuizV8WCr@Mh*p68^6#tZSnw!p+x#dOe{CKGm5v|2CzC9CJ@(+totXD}HdGj(&o zoY&30Pb8YcW{Vv}d58n;o{1%*^|HpkCsH!p2*oAY?5E~_ADci}T9?=Rokm6;0XRaA zfs5py)@4=r7ru$+Dd+6Op{LGVhn}5SIi_`8nz|uz1XtLjwz@}jt}*h=uwASNkfoY1 zj>FmFH26BJ>tb7OB^Pr&RKjCH82v>Qu`N)Kw;0ThK>zz4<|BpuyOkA-gT6wFX zoctsyE&U2|r&D9d24SryTpnU}wL*jf4u-5UxO?%gbPq%ncov;Ly1Kev&|iFAnj-T# z+Rk+Qgo$qQ+M&8Q7))C$HlbztxI4IV92}miocP5BwL1niO_upbm;FWE=&)Zn*m5V> z9mF7pAP7X^DQ*N}`&SZVC-KKb{E-vKE#IuE*%gv;PG5GtFF=5?@$m=Pb!n2Ol=yCY zWZC~li^xdfpbX;MGR(DF%% zkR;dTBdahple!|fKDef;sz+NcSUi@Wj-o(ea|#Q0DIlG4zlIDIcMln-Z$Z92e-HE~ z+~Ps>8_&;ZkG`Up(&4h*s>E0xirnW|?XzRz2`g~R>0b^lv$ZfZk_C;%0P)Oj6l&oa zV!tVMCWs=Md~w?!L-qJ%j*H&i8dn+i@&%j(PtF0+NWi_;g6;Lv?naDnVwxUj?Zk3q zQnPgj{5kZ3v_74yWvGpHXcmm&=chxLpd;IOX5`Id#`_V+t~NG{t`3j1=dX>P$dM$a z6Z{H9w(koe&$nedG>I#bvVKtW^ss(ZWaL=5`T9$2Blh~oj$E2je>ZBM+`)5Ju~ppg`%(CAO}_V+4$O+soM|-WwM7n%v=} zMam=52=}l-Pv(w5*kq`S7?WG>>>iMyaHymoRMXI~Y9hZFVWGQc^zA;JAvsY?_r*RG zmID)b0Nb4xI$ZT*V3(}81@~U@3iHMcQwzf`#X}~d~Fdym>9>x^LYQwK>a;7HlkYD zdWTFkkP;<^lzBAghtk8>ZaaocKH{(@CM1SD&te5i3Hg;&^2Uzl+(>`2J4H99@amg3ocR0=N9>Io z6nt_r5wq;^C4U%R?jIDQnQ8Qqv0{)XOfqCkQfmd%k8uU zdYoRrC|AewYjju$w{Wb!?!8?^NK8%5kFqYE%E`Z8Clad`);E11{k@@ySvB+1k$WhjiTkz_(vzWm7Ff~;Vy5OFxYTZG% zZG2e}@4~=%fd(XBZkMf674ksO*}H3np+D?F*h&JT8k!+$ogl_DSgzmV=2(eX$zZ+2 zv_87z)`EXn0e0kSw0rDiE*NfEl2z6p;Ng8VUdU03zrp;uu%3>^gJ1}oXizTQCgX6^ zWq!tPI(@t!EsptfMN{6di04Z;UW<>P;#*>q`(t2WKo@{V53s91yBLdoTOnXv$OM7V zgC9IK+P%4YSsQLETNpVa{*0n$|AuD3+%Ewu3D6_HasbY}rx`FO!FcZTnJ;zQ4rgg} zewq>Br63Xg=xf{kn&>+~Dttw)c@d?+R^Z(&iAhY9yBE-pBuaev*wQnCnBhcDBeRE# z&i(Z*t$X!psz!>ffZdH8ml!qbf{ybkHrE9>xA$-PF@(umoo=XyG)Y_?K=b{NmX7YZ zhbbihi8dWV6;mA=BBTbAH|4fXFu>d>IFX>VdZNV^RVR7*A-Z@ybfVuu_}T)^S<>Jv zgD-v#XVNQdL&w~#=}wjF%62rT0qcUcrgMIuDTK^5&womYvByc2PTY+@-G13Lln%1q z7fzx=egyl@c|h`H3R;E32EKazf!%1@ep$+@To8Oue~n%vVXofnokKIS`hE92p# z5+SK=)-Xko(CuPCx``b>zM?xD!?*bge7!^Vd9!07OFN@;oiLt)F}rwzl~A5=JolwR zXvFbKIvhnvJfY{we*ti3qq?6-C+e3yR1@ChSQwtM!fmTN)S#G@#M_6&K(m3UI=@0H_&_AFD1+Q0FpCxjljZD2mLDdw~>U@{IvfKo`1h z=M|alH=I@kP8J0h7i*D$e;9G-j0I^J6;Zf`;$U4-uf!Injw{0JrO2$PUqEi z@erlOi=0FiiG&iQZ_h)gv9af__kxoWUzijCpqACJZQKM{#|XN{C)9dSpuR>$)2XAR&c=oKi21bw`d!KpNzrRkD{b4L)M7!mwZSo5H_C=Q#Fwt1$ zv`YC6qMINxx(%4<=rx7HkCVP9;h_rF;x0_(i3}(fiSx}4Q+XU!Adb#*ob|%=S}(lm z9-{}O1p$q-;YcO@#sz$0df6So-`3*k^W54UlvVZNc)I%jGZ#74kq~e@R-#;pf$|F- zY?qGd$9JC|@ocD|vDhP3(h&MS#c~)yo{(YE&NE!7mnXDHqA1Yi6 zg_(urJOdklPr4YEsQ9f75I+GiySWEL0zRzRBf_Iq>rTj9*>j%(1U>gnQohyYcnP=3 z1=52K)6QZs$bLNYjE^9k=#-++s3!kg6X69j^YhP;qA5tA@5>6yAz_EikE8`vm%5_3 z#Lc~eic@0@@}bbuLcA*L`+2l_l>+lbV66=&eTD4)#oft3uinC- zME)t`>QS7#vOhldrfVKK=YRw7vB?254RFyaii+8nTAVWj(Gb6e;t&M(ax%zp6+MnJ zdXO+WvJ9rY=udGC!6QSmf@SWw(pQYQRM%rO@7R5R)0%8ER#67~^G62jPBl#S=QsF7 zn-R(c>3@mQm8g9_5sT1I`M-pRd;zG{{7;Kjr7-_nm7@)U7!3N#@?7q?;zyvE)6&kqkZ)8sRI~4Sbtmb*~}soWZMxz=;mSe5NaFPwjUl_ z&5w*zsAVaH6a|wz636i>6%_>IJVu)zB+gtuSu8@$K3#tze(pe|B$2A3Ti=KXnYhdN zjD)z9Eo5py+Ng}F-elAsT?pReRKN*#;BfP)evTiF9;PzWd@=ed#<+WzXhcI?QR`z+fT2)_7v zJ1Y9)&RnicHB@I1(r5w;Crs@acFKkjB`P*XoKYhKJ$;dZzWxj`u=DF3ubkAv*eOwn z?F=AK^_}(EB8CBvWI~)5m?@7EI{J7^J`WM;lLf`|zg~KQSO^iW#U=g}r`d1d>}#hR zBBIR*@T_uj0lvANG3qR@g0=5rg4!RZjf>E*SfhzIK)ks0%ZAJ;Dko+i>U=U)+hl-c z2Z0YUzJ+LE`y_Li51Nc8RD3RC26&)!CPp^9KFw2ZtTq>uh;!zLl%^nDY0KrUS9 zvOalk=M`8B8uAot-x9bJvy^-{sCdAOG8tcjj%Pg?)ltVIWxU6AG?q`|L3AaEr=FLi zrJkF(KunJ8|Lt2+ys6f0U6ruzGK#qPABATD%q9}*h$nNHHHxVpq*QoOfrrf?gh4jn zy9zRrc=$hh&I1BMCo9!-cdiX{g&}g^YiDWWeZV|)tB4qYb*#}Gl-Z3dvI&lY9;v!p z$fCR+hZ{YlN`&J-=Z6P%NAsr z7YsW#z0A#&x7~nI6S2kL+L0Z>Apo9|3gU5}if^C->UUBIWv0n>0 ze}|3#YG80kE4;w|5>yB^QG6y;m-##d8Kn>op!fI&7i7OGou$p=NCxHnD=Em{8aOUu zE`xC*n65x$26-frPD``cDdtNWqQ6{*%6=z8mgGl`{|fQ*Z^NhwqSd(eemhr?7Mu6G zJ&}^ktgOK(luy3%@Pn)=z!w*D^|i;C$_?SC*QS+3O!}5ooa*U#wg$GiUe;p}lVism zpo?G9l9KPdQx_Ko@0|>XDwiT`l=%-P@oS?rz%9_#z(2pE?a2=)RNvwh8LU5WL}5g@ zw6v6rNAn^H;}H=+mzThU@g91d*LNNntOOyk(Iy&8r{Ok~3XQfIftgid3mtxDm=}kM z%cZGTJD9}$bpmGx1fDkm#(~(2c$XS+k#ITx9rc6_aU`!4>ADSGHFO=AZnk(j(uPR+b3BwjvFzb z$1^LaV##6qR2k6TTX)zkx zgIY6QgTg?zP{`hY^o$wi;u$c+DD2O1@b=>#>FYq34XwRA% ztt@rE;Zr&V0f_85(g(@e2-b94EJ2_d1hDRy$yX7~DQiZYRUQad2gNWmnritwXYs8; zKOH`grE;TJTubW{VpgjUcDm|e#mb~$01-cqlDI(w9ROo}2MUf4jA_tx=F?FaM}3jt z*+w=?IGXl4WOsJ!NBPkEL%Td^^bUQ@)CAIRRH3gPaLG=owQYR1{Lc7N&jpSi40+V; z8+|>=bkx98iy((8z_gPacoMxT#qXOikpd6V=+={pXHbznw#n`=_Om%R>j;T+m_)N1 zazqFW1V40C-NWZ@2>X1ObwB`1>*3>21sw4R#x@==!caS+0hKf)iH#&FUO4bK78sOE zZrn%7pnHn<%n{|3Kn#HfZgFq0{fMn?Vk+&YCkLO?VrLe<(1pEqAUQc%m)D@teBZ{v zZfoU5pw%1Kt~DB8kAauKUvX=J!V@Ne+X^^-Z8pPt=5V1R@obGwVeOf}bEl!pVrci^ zdVnGUF$_tsyVFX>AegU&I6X_47YBS%!u|US3FF?sEiVO2+~%Z(Dn3@Y9^;pjFn}SQ zo+ZC86>J43KYu7WdF@{JuZ%m1#-UVxg(fUw zp#evjKsRpESiIy(E$2o$a{2)=x5$n7=Sy%H9LYc+?r z+Oh{RVlc#f9gbNkG|;9eDZkmf+Y@r0~4sh0+{~b_% zj;LZ=ARxQY5alnUB9vpEA`?NvSji3=lnO=_)B^I%BI^7J9KysMgu62c4{ASz2}$1Hmvjbe`d=A!ISO2pl+p60qUD*%DGSFQVW-elAYQ{tOxGZ6D}7U3z>?#PzR z9NP~55j2K`3(`$u&8{Pw(w%kn>w^o&i?00qJVQqz;$H5J>BpPV(fwV31bh)|UVU{7 zPZ+fnw@$C`x+qnpJO2CkLy#l;8hC7f={a^lppVd03Q&7{l_WytElD=)pMrhzX+3Y6 ztiGI)qDYuAa8Zxf2Q0f10)UTC2UQkTHRyBai&U8#=t z8usw#ToBA-?IuFW5}UIYkzdD9o5Wn#I>zF{R;IqG!EXv*qelPV-FKAEH{DfcLQ&Xn zf5k{B@Yc}zMjkR??ce?&EGpJjXEZDqw`yxc0PrAp&WE5 zf*Tydw_Xkc{zRlYn;N@|lzqr}py54#iUCE>;aYBm{v^$N!v!C1m{pD-JEL^8I>? z=MK5yzCLBa?Nl#@Ak#xRneBs}8^PI}44KqZ|9Evf_I zVanW}Jw_GP)ePRF-OI3wl8N&A+PmG|-Q5}W(Xtn8sAVmnKwg&Ba%@?+5gHcuGQH$) z)u%-e0-@MQ{8y3RR%L~!#e5fl@^P>#J{xSy`CyfN|LDrDsTic_?u{V++|#j z+sJHlk*1Afm`uKon?L^}6$C=#Ewbru$E&;RojdbR{Y!JVyD2Y8DvM1I39_8I*0Z+O z2Mi5ciO*!JmMn8{qV+oe|I|E~Kk;n_*TZa=-xo>LONbFGm1m|6Pf9at<@e8wo?WMCH1eVZ#>d^M?sn_Jh} zIjtEYypirmOd>cWyZ;Fsj;a0`hE?aKo&`1+mQ6NkdY?Iolkfqagz9FT7T>1kFlI6u znXD2L60u4DFa_MMSTL<+flJct_gfjSXT`&@01`l#tOyX+KdqUOPC=`FZSTT}ika4b zWD(k7wFaAC-(m2v!LdzNH}Jvped^{0QZENroGhk6rL_iMf=SKI^8n5q$kz!SbF>t5 zaQcZ8lj^Xo9YhAldf*vtq@d2LJ$LL~+ReB=s*e)k;15G!vAw|aCG=Xm!i+i|0C#g{K)Fs}w>oa?V!A3Pr$u7Lov-#91pTK2m5-#NS=RUNKsm)p9A zsJf-hlk+6Z*rQgg+Jg@8-ik65)2$?(3ZV35mByzKpCQ9X&(>C4IFNob^?LFH82|5Y zA6z)NYfn~PM7z?E`f?OdBAb1Ak*>c3YNeC=Zxw=sDOws$1gZt#OLcw`sb+g1-RP^rdI_Mfxa(TBH8$!>M}B#71<-(KIVx5gALX2TeEq4b$dG>0X+`IebIpA zU=DfKZSc%5DOW76&`G})B!5Q=cA9ZQWNuvC@wJA-#C69JsRC3%y+SvZo;X;Vz)%ms zk_mg%ybHRooY(%mwI;#s?s~{S-p&wkatdKB`$KTZ zMdHK4D?^LQODgJd=XA}Xg9nKLPRXt+ydFZYL{e*;9drx)k@aj$F!91FLvDm{7H3;` zBtR1mpS=bVCg$|zR}ZYR`(loOMFb98djK>Q4y@X+{?dtE57RO&bAw4;#!ppigx=Yy z0zeMWnFUhkxE7>5DXEkxuU#7fOj6_-B@zzr3~q?jwV}DV`8O&nPqK_3IA~|dYd{oI zzy3k1A6syy;_E4U^N9Z4I+X=^a>1dmI0mahdScBKc`Vlj*Y|EHmAjTZAwW-qSp+Po zGWI$uz0W?Jz#q0f{F2MGW(qHn2I2BMTS(SnXFO0jvQ$6Je3Wopw~8Kj!~-lFqSrN- zs_C%tyP9WzGd$pxyGZfu;5{-gtGc!l2GDOv@{K4^h?IoC;ccPY0kVmO&*?uO4>=TM z2{)e-3L$nMJV5A+?tP+5;r;EqnZSzgB9>uSREGT&$A&@AmVR)4xILqKa6sZ>5WW%| zgcyvp0s9ZdUjhPs)f}+=ppu`jvhk^qcRX$!?ON~~T+#h~eVPCVC#(Kg+1+XQ{5&(^ zPDhoNbn$y`4nE_Vs;(x9!N#S=uEKl9QfcUaVugRIpXv!3p4!kkiUz)CXov}69g-;H zw)I`dmKnJX9aR*DE8IXCS>H`r?ApC+G-&psKUSW3>8tws`r#yn5m$AJ7*9yA`4(P1 z4F105|NAC`#_?U$9j8}323!Ca=(04^-L?ZKF9E3k4MN(E&;oTS=r_M$Fz`-z z5AIJK4ycD442A??hxvb2rZ6D_o~7zs5MCTKmFA$NZ)Uv2k$7oze(Mk|f)Ct=l|$_5r?^+@g^i9N(0q zLnY~857Dg;ow`LhnAjA8h(V7dh5J`?|6{W?8e>_uzr0-F4iZH`NlMM%+p>EZ>2+m( z^HT=~VsMw^eBaO+IZ6Pj1WahYhyQ)9p}+Hmhpl&VdU~<>=e41)KYwm+h%AJm1s2Wp zr*O{Qo3K546Y1a7@{KRH$Zm+NiR;!p|2%>x?NytI7h~35!+*OX^hf|XtN@m zIcpg%SW=cpKDRZjT!eMhYN~{^4w!nOPJqR9niEF9VU5B=Wx(6yzsZ4$Pak3QTJHKe zN~2_x1!dg^}(e$r(ek9ACY}>*Kj{ zjckg=wl^Oo;iV(|mvH&ar<;eg2;XrE?o&rb-6~@5wfh8Z!FZL?oDVodJXQ0Q``eOp zUrWT8u|nfQRvWrA2V6Y=kw%q*>+R?@P#JxP=o4YW+Ux81t9!Wh_Gz*ZMQTe#kzI8} zgg+4-s)b&>*eUth@~{iI}C9(e5nGLxq$;Seb~UoKr~X125eI z$WG=7F@$qOB7EZp+!t?Z=^NRScr7RhBhozreM?GrWSlHqdv0dzf!!ZM<6tic%w9ZS zBEt1BT5rdW*X(Pu>n0R!)d5M5{|Q@Z&$X zVFB$}1qm_xEKpiQv}c&>XdZu-%_aO@m$XxDeT1DCvI^KDiKmyudoNFVx&}u%bmr(J zf?6H#TKx@43SWo%76{CWm=i;!C9pbtZ%d%}$w*1WUG>1Z2DrW*1EInnJsMK*zel(? zI~r6{(kRxXS8ux_^LsI)i#9Qhs|S`U=m7Z2ZUd949@9EGnWz&#^Z=|6+WgcaISDu{ z&ZUNYo(30#?+E~4K>V78yu7?b91>%2MMS-Rz2iTc&@=*5+;5;jiNYPKhvdiv8R5M- z;n&2|qQ1UB>WRT7#+q}#p!bOQa+zpWVVQ8_=CF;gXmZ|Ii8C>6<_z36o?$+DX_dZ* z-Wk!y#Kf4tv|Y{&g*Wa|k|1{j`Bc54tx=5i82@b$jJYmg*{SQ1y014#Uof zNp13Rn@&eyH6(o{1n&;_e+@HEuzq~Bhj`%SO_%dM{{W?p8Fdu;6_K~B+~O)c^IeI* z|3XsO4Pmrt?w>Lrk9#nEn3wheCE^eGg>yXp({5)m_{``* zi0;OOr#f6diCD|!6H^(wz?Fss2J~s?t)LCT_Dlb?7k{i;te;NAUV5m6gu4L;S1&tq z@ZcxsopjReU9?0JfGl){ahx%=&z2Kf)4K}faovNhVXt9tpF?brnF5DSL`uRgL&Nhc zHN8d5=i-T*35J6_gD&a)l`}gd>9HDMqXx=(=aGfM7J6Mg1>qF3(h#dW(zLnWT?7O6 zns#1wQA0ABw({YFs2MS}>#x7clK?2Hp_F=6afN6Us>WAcEQg}y2x2mB8Xca`de%)# z$rLJ37Q@d_joU|;PQx)}@?i?-4L)luJR38pp)SOf{({kWK)gvOQPrsL z;Up)&GaIljLeGKIkvZ|$D(6V9v9JgeEU)Rk9apbh(RyQYs&mt;Rl%qnIQ0?LSliJW zqq>S72p#N6fQv!&^{4lj2(gFS{k)vSzs*+^XJ9fkvGhi=;YrSC_&B)8`>3x6fjq`V zUy)?1>DdCM2u8U$$d;^C{AC|x#0A1^)22;xm)Ni0nx+dTf3CiJ@*{n(P5;eHg>2lS z!A`)*$QHRcV5W0_goK1N^3dzve8GsLy8L{^zhAL}omz*JK4X6uHZFb>@HeW}SP2QD zw5cAZDGHb`l;|Mv$_R5Zw?t~uGd<3#n-%%0%w{`KGC1~SU1Wwq2z!c#`UdVqe%fyo zZ6DCk=fmcQRZfYZ5Ud&gf!!Q()WJc z0Km~6vHvP>%Q@Xh$=8^XKtR=7{@P%93s5+0T(ibt+!+`nGuec^(sFV;W5kt>WJR?7 z1px<|T=w0B?4}3ac6Ld{8x+^U0gbz~S#Ed;-uhjr8rm|UAWY}}smM%AdJlo~|edpChXGY_PLsbzV06_v10IdhO`+Wv)S3@ZS_Ul^e!-u?nTXNhu z@s}bEJm|=)(9M(DV1l=9zapp$h16~sWwKt}#+3!J-;WE)e7dZw1}}RK1c_fmujcj* zmFYf(7h7c+uJ!fXZq;KZ6eLPdEMQR8c!wT{0e}JkRm|>eF1?(@Oh}zi0tQ^Dvx&17 z6azE-4ZvPV=rPu}jM%7srEX&!129~qdLt5wQzVyp;)`t+doXV#pnsp3#}-dFucDVp z$#Y+Gu^iPMWJxMtmWUdEN$-agMKLZK>g(=HHsxoiX3=yjXW!I3iEjTZmc}XY&5su4 zT~@eUi0!O|Q28432^w5MWG))Td$@Jw;4zt^!zbd`H{TM~lG1NrsBhB}ZWt3_iZ&y8 z5AHb5JeGDZtiC4;Xgm6rC3IjA^v(&3u03Mdl1#)#GiG#Q_HA(W9e+i+muV$Mj z4UC7K?uf`JLjKMIPNY*yivcoV4xuqqx@+vwD?)uTQc{~9*%#uIx^+4bOBY#V3~M8fpq_`a%2o+Bk*cQi3s%cN zC{jU0c8Cak9Dj_aq=FCK9P;lZeSm;Lu0w#I;6vPCoqQ+dt~-9J;_+{`ieXY~5K z%)h7d)DYQc-+=a20J43-WE*@Uk_-0snqH?mCdwV4_Dx z{We+6-1(yOx^+fC{1CiwAXyH2>*xfnxQ4i2oX#eVz`l+leSmUS{H(;Yk+3+p?#r=2 zuFIYK_aosNq&=^zt1FM-(3p!zSb3eDnK=mbGp(PGjumUxoMcqn2C+Zmv{s-x8f`E2keH{pBXi8_~z2&P6lSXvdn|eBiV&E(9`SY z)c*{6bcx$Y7Ucy4;IbO9xMYnn+c6Lf61U7%e*}&k`YfQ?Djks&*O-keCkH?dDi(5n zai)ADprCtS=;yO^4Qq+`n`5l(Ecnl1jy-*-o9l>glKN6riXzIgHD7=E}57I zK~;57>%}PHp9^Wx}4*r!$V-C>vqUz3(0nE%HMD9)=<&*{ucQCV5a(!2~0>B#ogfHgVkbGHK-F%(0>m{zl# z6fGvi0nD<51N_M%7hpJi%GD?*!Fuh8lw3OTxW%aql;!^)&1N!Tp|v!?Py8a5IYM3J zUtE)k$YWZyapOitKYrb(3^<6ww;cm7)!5L`aQnqG$U6YbLa$8lPN?breFk@WlGAhf z^U{*b=r42Luu7$CWkXeZy7KfHd~tSit85mcEY2>C4+MOm-D`iYW$@m|JL{7mmh+Ee$W3g)D;Z%P#0n5OvJp; z^v0u;o0(}@UX8t4cK%PumiFW3x9ZnC3Jjv9#2<^)&T0y>SLJ1%RVzhPuIj zxw^MeaPkx@Cb>A2*m(Zo*h5hdLxy~^2RvrK22!bQvby92jw#=3lw_uDv93KpJG!6t zuJJaLM?C+18aMBk_umY7aEBf#9{%&hB7=*Qys*X9ZCjtdPl}F^rl}FM%CgXGrGd26 z3`4|9kW#)Ic0eS(JE)5+O0Fb-Qi@iypSh8tRMgFnKc!50>&|LP36g*RS<~lUJl&Be zf9%;u)yEV*iL9E)a=$-AuBvh+HlrN>{Zq&2pTMC>pBC$#8SN6B_`M#h&O!yC=3346 z^Bnj%WAY-kH|qx^p8P0{VkG}x(*Mi;#-mZ<6g-|zZQs3^Y0jDrCy!o$;RaV9L?w%K YC+bHJp3y(8h5t(#8kp!m(X$Qy9}f~1d;kCd literal 0 HcmV?d00001 diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 0104f56..a45f5b5 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -906,9 +906,11 @@ void MainWindow::setupTransactionsTab() { // Set up context menu on transactions tab auto theme = Settings::getInstance()->get_theme_name(); - if (theme == "dark"){ + if (theme == "dark" || theme == "midnight") { ui->listChat->setStyleSheet("background-image: url(res/sdlogo.png) ;background-attachment: fixed ;background-position: center center ;background-repeat: no-repeat;background-size: cover"); - }else{ui->listChat->setStyleSheet("background-image: url(res/sdlogo2.png) ;background-attachment: fixed ;background-position: center center ;background-repeat: no-repeat;background-size: cover");} + } + if (theme == "default") {ui->listChat->setStyleSheet("background-image: url(res/sdlogo2.png) ;background-attachment: fixed ;background-position: center center ;background-repeat: no-repeat;background-size: cover");} + ui->listChat->setResizeMode(QListView::Adjust); ui->listChat->setWordWrap(true); ui->listChat->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel); @@ -997,6 +999,7 @@ void MainWindow::setupTransactionsTab() { menu.exec(ui->transactionsTable->viewport()->mapToGlobal(pos)); }); + } void MainWindow::setupchatTab() { From dbbc079432fff1edfa05b954d254728974118dab Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 3 May 2020 18:52:29 +0200 Subject: [PATCH 062/256] add new standard avatar --- src/chatmodel.cpp | 39 +++++++++++++++++++++++++++------------ src/contactmodel.cpp | 16 ++++++++++++++-- src/controller.cpp | 42 ++++++++++++++++++++++++++++++------------ 3 files changed, 71 insertions(+), 26 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 68b496a..4f5a7e6 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -1,3 +1,5 @@ +// Copyright 2019-2020 The Hush developers +// GPLv3 #include "chatmodel.h" #include "settings.h" #include "ui_confirm.h" @@ -395,15 +397,17 @@ Tx MainWindow::createTxForSafeContactRequest() { // 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 // QString addr = c.getPartnerAddress(); // this address will be insert by the user - QString cid = ""; - QString myAddr = ""; - QString addr = ""; - QString type = "Request"; + QString cid = c.getCid(); + QString myAddr = c.getMyAddress(); + QString addr = c.getPartnerAddress(); + QString type = "cont"; + + QString hmemo= createHeaderMemo(type,cid,myAddr); - // tx.toAddrs.push_back(ToFields{addr, amt, hmemo}) ; + tx.toAddrs.push_back(ToFields{addr, amt, hmemo}) ; qDebug() << "pushback chattx"; } @@ -439,7 +443,7 @@ void MainWindow::safeContactRequest() { // return; // } - /* Tx tx = createTxForSafeContactRequest(); + Tx tx = createTxForSafeContactRequest(); QString error = doSendRequestTxValidations(tx); @@ -455,15 +459,26 @@ void MainWindow::safeContactRequest() { qDebug() << "Tx aborted"; } + // Create a new Dialog to show that we are computing/sending the Tx // Create a new Dialog to show that we are computing/sending the Tx auto d = new QDialog(this); auto connD = new Ui_ConnectionDialog(); connD->setupUi(d); - QPixmap logo(":/img/res/logobig.gif"); - connD->topIcon->setBasePixmap(logo.scaled(256, 256, Qt::KeepAspectRatio, Qt::SmoothTransformation)); + QMovie *movie1 = new QMovie(":/img/res/silentdragonlite-animated.gif");; + QMovie *movie2 = new QMovie(":/img/res/silentdragonlite-animated-dark.gif");; + auto theme = Settings::getInstance()->get_theme_name(); + if (theme == "dark" || theme == "midnight") { + movie2->setScaledSize(QSize(512,512)); + connD->topIcon->setMovie(movie2); + movie2->start(); + } else { + movie1->setScaledSize(QSize(512,512)); + connD->topIcon->setMovie(movie1); + movie1->start(); + } connD->status->setText(tr("Please wait...")); - connD->statusDetail->setText(tr("Your Safe Contact Request will be send")); + connD->statusDetail->setText(tr("Your Contact Request will be send")); d->show(); @@ -501,14 +516,14 @@ void MainWindow::safeContactRequest() { QMessageBox::critical(this, QObject::tr("Transaction Error"), errStr, QMessageBox::Ok); } - );*/ + ); } QString MainWindow::doSendRequestTxValidations(Tx tx) { // Check to see if we have enough verified funds to send the Tx. - /* CAmount total; + CAmount total; for (auto toAddr : tx.toAddrs) { if (!Settings::isValidAddress(toAddr.addr)) { QString addr = (toAddr.addr.length() > 100 ? toAddr.addr.left(100) + "..." : toAddr.addr); @@ -532,5 +547,5 @@ QString MainWindow::doSendRequestTxValidations(Tx tx) { .arg(available.toDecimalhushString(), total.toDecimalhushString()); } - return "";*/ + return ""; } diff --git a/src/contactmodel.cpp b/src/contactmodel.cpp index a19fe1c..1a677e1 100644 --- a/src/contactmodel.cpp +++ b/src/contactmodel.cpp @@ -10,14 +10,26 @@ void ContactModel::renderContactList(QListView* view) { //QStandardItem* Items = new QStandardItem(); - QStandardItem* Items1 = new QStandardItem(QIcon("res/darkwing.png"),c.getName()); - // contact->appendRow(Items); + auto theme = Settings::getInstance()->get_theme_name(); + if ((theme == "dark" || theme == "midnight")) { + QStandardItem* Items1 = new QStandardItem(QIcon("res/sdlogo.png"),c.getName()); + contact->appendRow(Items1); + view->setModel(contact); + view->setIconSize(QSize(80,100)); + view->setUniformItemSizes(true); + view->setDragDropMode(QAbstractItemView::DropOnly);; + } + if (theme == "default" || theme == "blue"){ + + QStandardItem* Items1 = new QStandardItem(QIcon("res/sdlogo2.png"),c.getName()); contact->appendRow(Items1); view->setModel(contact); view->setIconSize(QSize(80,100)); view->setUniformItemSizes(true); view->setDragDropMode(QAbstractItemView::DropOnly);; + } + } diff --git a/src/controller.cpp b/src/controller.cpp index 577d438..81676e6 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -954,22 +954,43 @@ void Controller::refreshTransactions() { }; txdata.push_back(tx); - - QString cid = ""; + + QString type; + QString cid; if (memo.startsWith("{")) { + + type = memo.mid(75,4); cid = memo.mid(14,36); + + qDebug()<addCid(txid, cid); - }else{ - if(chatModel->getCidByTx(txid) != QString("0xdeadbeef")) + + } + if (type == "cont") + + { + + qDebug()<< "Als Request erkannt"; + + + } + + + if (chatModel->getCidByTx(txid) != QString("0xdeadbeef")){ + cid = chatModel->getCidByTx(txid); - else - cid = ""; } - + + + else{ + + cid = ""; + } + QString contact; for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) - // for (auto &p : this->chatItems) { if (address == c.getMyAddress()){ @@ -977,7 +998,7 @@ void Controller::refreshTransactions() { qDebug()<< "Addressbuch Addresse: " << c.getMyAddress(); qDebug()<< "Addresse: " << address; - }else{ contact = "ELSE";} + }else{ contact = "";} ChatItem item = ChatItem( datetime, @@ -988,9 +1009,6 @@ void Controller::refreshTransactions() { txid, false ); - // qDebug()<< "KontaktName: " << contact; - - // qDebug()<< "Addressbuch Addresse: " << c.getMyAddress(); chatModel->addMessage(item); } From d3d19cab9e62c25436c753dcc973444b47b1fbee Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 3 May 2020 19:44:50 +0200 Subject: [PATCH 063/256] switch sides of conversation --- src/contactrequest.ui | 72 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 src/contactrequest.ui diff --git a/src/contactrequest.ui b/src/contactrequest.ui new file mode 100644 index 0000000..fb923db --- /dev/null +++ b/src/contactrequest.ui @@ -0,0 +1,72 @@ + + + + + Dialog + + + + 0 + 0 + 400 + 300 + + + + Dialog + + + + + 30 + 240 + 341 + 32 + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + + buttonBox + accepted() + Dialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + Dialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + + From 4da6eddae2ba504eb59eafb2a276ebb6c535f44a Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 3 May 2020 19:45:49 +0200 Subject: [PATCH 064/256] switch sides of conversation --- src/chatmodel.cpp | 14 ++++++++++++-- src/contactmodel.cpp | 4 ++-- src/contactmodel.h | 2 ++ 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 4f5a7e6..de38e97 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -8,6 +8,7 @@ #include "ui_mainwindow.h" #include "addressbook.h" #include "ui_memodialog.h" +#include "ui_contactrequest.h" #include "addressbook.h" #include #include @@ -122,7 +123,7 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) { QStandardItem* Items = new QStandardItem(c.second.toChatLine()); - Items->setData("Incoming", Qt::UserRole +1); + Items->setData("Outgoing", Qt::UserRole +1); chat->appendRow(Items); ui->listChat->setModel(chat); @@ -141,7 +142,7 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) { QStandardItem* Items1 = new QStandardItem(c.second.toChatLine()); - Items1->setData("Outgoing", Qt::UserRole +1); + Items1->setData("Incoming", Qt::UserRole +1); chat->appendRow(Items1); } @@ -423,6 +424,15 @@ Tx MainWindow::createTxForSafeContactRequest() { //////////////////De-activated for now/////////////////// void MainWindow::safeContactRequest() { + + // Ui_ContactRequest contactRequest; + // QDialog dialog(this); + // contactRequest.setupUi(&dialog); + // Settings::saveRestore(&dialog); + + // memoDialog.memoTxt->setLenDisplayLabel(memoDialog.memoSize); + // memoDialog.memoTxt->setAcceptButton(memoDialog.buttonBox->button(QDialogButtonBox::Ok)); + ////////////////////////////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/contactmodel.cpp b/src/contactmodel.cpp index 1a677e1..956bd63 100644 --- a/src/contactmodel.cpp +++ b/src/contactmodel.cpp @@ -15,7 +15,7 @@ void ContactModel::renderContactList(QListView* view) QStandardItem* Items1 = new QStandardItem(QIcon("res/sdlogo.png"),c.getName()); contact->appendRow(Items1); view->setModel(contact); - view->setIconSize(QSize(80,100)); + view->setIconSize(QSize(60,70)); view->setUniformItemSizes(true); view->setDragDropMode(QAbstractItemView::DropOnly);; } @@ -24,7 +24,7 @@ void ContactModel::renderContactList(QListView* view) QStandardItem* Items1 = new QStandardItem(QIcon("res/sdlogo2.png"),c.getName()); contact->appendRow(Items1); view->setModel(contact); - view->setIconSize(QSize(80,100)); + view->setIconSize(QSize(60,70)); view->setUniformItemSizes(true); view->setDragDropMode(QAbstractItemView::DropOnly);; diff --git a/src/contactmodel.h b/src/contactmodel.h index b97cc8a..2bf3fe3 100644 --- a/src/contactmodel.h +++ b/src/contactmodel.h @@ -1,3 +1,5 @@ +// Copyright 2019-2020 The Hush developers +// GPLv3 #ifndef CONTACTMODEL_H #define CONTACTMODEL_H From bcbee161eb277d4c5f4cef532a34ae186d4c41b2 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 3 May 2020 23:37:02 +0200 Subject: [PATCH 065/256] activate contact request hm, for testing --- src/chatmodel.cpp | 111 ++++++++++++++++------------ src/contactrequest.ui | 165 +++++++++++++++++++++++++++++++++--------- src/mainwindow.cpp | 5 +- src/mainwindow.h | 3 +- 4 files changed, 200 insertions(+), 84 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index de38e97..550081c 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -377,12 +377,28 @@ QString MainWindow::doSendChatTxValidations(Tx tx) { return ""; } -// Create a Contact Request. + +// Create a Tx from the current state of the Chat page. Tx MainWindow::createTxForSafeContactRequest() { - Tx tx; - CAmount totalAmt; - { + + Ui_Dialog request; + QDialog dialog(this); + request.setupUi(&dialog); + Settings::saveRestore(&dialog); +dialog.exec(); + + Tx tx; + QObject::connect(request.cancel, &QPushButton::clicked, [&] () { + + dialog.close(); + }); + + + QObject::connect(request.sendRequestButton, &QPushButton::clicked, this, &MainWindow::ContactRequest); + // For each addr/amt in the Chat tab + { + CAmount totalAmt; QString amtStr = "0"; CAmount amt; @@ -392,48 +408,46 @@ Tx MainWindow::createTxForSafeContactRequest() { for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) + if (request.zaddr->text().trimmed() != c.getPartnerAddress()) { - 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 - // QString addr = c.getPartnerAddress(); // this address will be insert by the user - QString cid = c.getCid(); - QString myAddr = c.getMyAddress(); - QString addr = c.getPartnerAddress(); - QString type = "cont"; - - - - QString hmemo= createHeaderMemo(type,cid,myAddr); - - tx.toAddrs.push_back(ToFields{addr, amt, hmemo}) ; + QString cid = c.getCid(); + QString myAddr = c.getMyAddress(); + QString type = "cont"; + QString addr = request.zaddr->text(); - qDebug() << "pushback chattx"; - } -} + + + QString hmemo= createHeaderMemo(type,cid,myAddr,0,0); + QString memo = request.requestmemo->toPlainText().trimmed(); + + tx.toAddrs.push_back(ToFields{addr, amt, hmemo}); + tx.toAddrs.push_back(ToFields{addr, amt, memo}); - tx.fee = Settings::getMinerFee(); + qDebug() << "pushback chattx"; + tx.fee = Settings::getMinerFee(); return tx; qDebug() << "ChatTx created"; -} -//////////////////De-activated for now/////////////////// -void MainWindow::safeContactRequest() { + } if (request.zaddr->text().trimmed().isEmpty() == false){ + + QMessageBox msg(QMessageBox::Critical, tr("Please insert a contact Address"), request.zaddr->text(), + QMessageBox::Ok, this); + + msg.exec(); + + } + + } +} +void MainWindow::ContactRequest() { - // Ui_ContactRequest contactRequest; - // QDialog dialog(this); - // contactRequest.setupUi(&dialog); - // Settings::saveRestore(&dialog); - // memoDialog.memoTxt->setLenDisplayLabel(memoDialog.memoSize); - // memoDialog.memoTxt->setAcceptButton(memoDialog.buttonBox->button(QDialogButtonBox::Ok)); - ////////////////////////////Todo: Check if its a zaddr////////// + ////////////////////////////Todo: Check if a Contact is selected////////// // Create a Tx from the values on the send tab. Note that this Tx object // might not be valid yet. @@ -441,21 +455,24 @@ void MainWindow::safeContactRequest() { // Memos can only be used with zAddrs. So check that first // for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) - // if (ui->ContactZaddr->text().trimmed() == c.getName()) { + // if (ui->contactNameMemo->text().trimmed().isEmpty() || ui->memoTxtChat->toPlainText().trimmed().isEmpty()) { // auto addr = ""; // if (! Settings::isZAddress(AddressBook::addressFromAddressLabel(addr->text()))) { - // QMessageBox msg(QMessageBox::Critical, tr("Contact requests can only be used with z-addresses"), - // tr("The memo field can only be used with a z-address.\n") + addr->text() + tr("\ndoesn't look like a z-address"), - // QMessageBox::Ok, this); + // QMessageBox msg(QMessageBox::Critical, tr("You have to select a contact and insert a Memo"), + // tr("You have selected no Contact from Contactlist,\n") + tr("\nor your Memo is empty"), + // QMessageBox::Ok, this); - // msg.exec(); - // return; + // msg.exec(); + // return; // } - Tx tx = createTxForSafeContactRequest(); + +//}; + + Tx tx = createTxForSafeContactRequest(); - QString error = doSendRequestTxValidations(tx); + QString error = doSendChatTxValidations(tx); if (!error.isEmpty()) { // Something went wrong, so show an error and exit @@ -469,7 +486,6 @@ void MainWindow::safeContactRequest() { qDebug() << "Tx aborted"; } - // Create a new Dialog to show that we are computing/sending the Tx // Create a new Dialog to show that we are computing/sending the Tx auto d = new QDialog(this); auto connD = new Ui_ConnectionDialog(); @@ -488,9 +504,10 @@ void MainWindow::safeContactRequest() { } connD->status->setText(tr("Please wait...")); - connD->statusDetail->setText(tr("Your Contact Request will be send")); + connD->statusDetail->setText(tr("Your Message will be send")); d->show(); + ui->memoTxtChat->clear(); // And send the Tx rpc->executeTransaction(tx, @@ -509,7 +526,8 @@ void MainWindow::safeContactRequest() { }); // Force a UI update so we get the unconfirmed Tx - rpc->refresh(true); + // rpc->refresh(true); + ui->memoTxtChat->clear(); }, // Errored out @@ -527,7 +545,8 @@ void MainWindow::safeContactRequest() { QMessageBox::critical(this, QObject::tr("Transaction Error"), errStr, QMessageBox::Ok); } ); - } + + } QString MainWindow::doSendRequestTxValidations(Tx tx) { @@ -558,4 +577,4 @@ QString MainWindow::doSendRequestTxValidations(Tx tx) { } return ""; -} +} \ No newline at end of file diff --git a/src/contactrequest.ui b/src/contactrequest.ui index fb923db..1bd758f 100644 --- a/src/contactrequest.ui +++ b/src/contactrequest.ui @@ -1,72 +1,165 @@ - - - - + + Dialog - - + + 0 0 - 400 - 300 + 780 + 416 - + Dialog - - + + - 30 + 0 + 100 + 351 + 17 + + + + <html><head/><body><p>Please insert the Address of your contact :</p></body></html> + + + + + + 10 + 190 + 461 + 17 + + + + <html><head/><body><p>Insert a Message, and ask your friend for the contact request : </p><p><br/></p></body></html> + + + + + + 0 240 - 341 - 32 + 591 + 101 + + + + + + + 0 + 140 + 591 + 25 + + + + + + + 490 + 360 + 114 + 25 - - Qt::Horizontal + + + 100 + 0 + - - QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + Send + + + false + + + + + + 320 + 360 + 114 + 25 + + + + + 100 + 0 + + + + Cancel + + + false + + + + + + 0 + 10 + 351 + 17 + + + + <html><head/><body><p>Please insert a Nickname for your contact :</p></body></html> + + + + + + 0 + 50 + 591 + 25 + - - buttonBox - accepted() + sendRequestButton + clicked() Dialog accept() - - 248 - 254 + + 536 + 262 - - 157 - 274 + + 389 + 207 - buttonBox - rejected() + cancel + clicked() Dialog reject() - - 316 - 260 + + 396 + 262 - - 286 - 274 + + 389 + 207 - diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index a45f5b5..d685005 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -14,6 +14,7 @@ #include "settings.h" #include "version.h" #include "connection.h" +#include "ui_contactrequest.h" #include "requestdialog.h" #include "websockets.h" #include @@ -1006,7 +1007,8 @@ void MainWindow::setupchatTab() { // Send button QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::sendChatButton); - QObject::connect(ui->safeContactRequest, &QPushButton::clicked, this, &MainWindow::safeContactRequest); + QObject::connect(ui->safeContactRequest, &QPushButton::clicked, this, &MainWindow::ContactRequest); + ///////// Set selected Zaddr for Chat with Doubleklick @@ -1032,6 +1034,7 @@ void MainWindow::setupchatTab() { } + ChatMemoEdit::ChatMemoEdit(QWidget* parent) : QPlainTextEdit(parent) { QObject::connect(this, &QPlainTextEdit::textChanged, this, &ChatMemoEdit::updateDisplay); } diff --git a/src/mainwindow.h b/src/mainwindow.h index 1110f67..c767128 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -108,13 +108,14 @@ private: Tx createTxFromChatPage(); Tx createTxForSafeContactRequest(); + void encryptWallet(); void removeWalletEncryption(); void cancelButton(); void sendButton(); void sendChatButton(); - void safeContactRequest(); + void ContactRequest(); void addAddressSection(); void maxAmountChecked(int checked); From 30a5403833fc8548979abd30db25c3156df5fb75 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Mon, 4 May 2020 11:15:05 +0200 Subject: [PATCH 066/256] Add ComboBox for avatar --- application.qrc | 11 ++++ res/Berg.png | Bin 0 -> 70184 bytes res/Unbenannt-4 Kopie.png | Bin 0 -> 88464 bytes res/denio.png | Bin 0 -> 66558 bytes res/duke.png | Bin 0 -> 76820 bytes res/garfield.png | Bin 0 -> 108906 bytes res/hirsch.png | Bin 0 -> 142903 bytes res/mickey.png | Bin 0 -> 58807 bytes res/pinguin.png | Bin 0 -> 53787 bytes res/popey.png | Bin 0 -> 39428 bytes res/sharpee.png | Bin 0 -> 6006 bytes res/snoopy.png | Bin 0 -> 46143 bytes res/yoda.png | Bin 0 -> 84114 bytes silentdragon-lite.pro | 3 + src/addressbook.cpp | 45 +++++++------- src/addressbook.h | 6 +- src/addressbook.ui | 123 +++++++++++++++++++++++++++++++++++++- src/contactmodel.cpp | 31 ++++------ src/contactmodel.h | 15 ++++- src/mainwindow.cpp | 5 +- 20 files changed, 193 insertions(+), 46 deletions(-) create mode 100644 res/Berg.png create mode 100644 res/Unbenannt-4 Kopie.png create mode 100644 res/denio.png create mode 100644 res/duke.png create mode 100644 res/garfield.png create mode 100644 res/hirsch.png create mode 100644 res/mickey.png create mode 100644 res/pinguin.png create mode 100644 res/popey.png create mode 100644 res/sharpee.png create mode 100644 res/snoopy.png create mode 100644 res/yoda.png diff --git a/application.qrc b/application.qrc index e4cd3d2..42f093b 100644 --- a/application.qrc +++ b/application.qrc @@ -11,6 +11,17 @@ res/darkwing.png res/sdlogo.png res/sdlogo2.png + res/Berg.png + res/denio.png + res/duke.png + res/sharpee.png + res/yoda.png + res/mickey.png + res/snoopy.png + res/popey.png + res/garfield.png + res/pinguin.png + res/hirsch.png res/hushdlogo.gif diff --git a/res/Berg.png b/res/Berg.png new file mode 100644 index 0000000000000000000000000000000000000000..0aab208cc2a65527640ab6c8036876ef8fb8a8ce GIT binary patch literal 70184 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 literal 0 HcmV?d00001 diff --git a/res/Unbenannt-4 Kopie.png b/res/Unbenannt-4 Kopie.png new file mode 100644 index 0000000000000000000000000000000000000000..e9d0d54e65200d11b447666bfe67509719442df2 GIT binary patch literal 88464 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%0ALx8KyW@??b$Thi56L| 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 literal 0 HcmV?d00001 diff --git a/res/duke.png b/res/duke.png new file mode 100644 index 0000000000000000000000000000000000000000..4310cef9311ff8c22006d34fa49880094681b561 GIT binary patch literal 76820 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

2y#T)UkUS8lW4;#x$+c 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%0DBvGu_3p~!q@Oz*!?OIpqJMiTTN6ZYe#{#KI9 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