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 f7d37be..055ca88 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);
+
}
-
+
_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..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);
@@ -380,7 +383,7 @@ AddressBook::AddressBook()
void AddressBook::readFromStorage()
{
- /*QFile file(AddressBook::writeableFile());
+ QFile file(AddressBook::writeableFile());
if (file.exists())
{
@@ -394,40 +397,44 @@ 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());
+ else
+ {
+ qDebug() << "No Hush contacts found on disk!";
+ }
- // test to see if the contact items in datastore are correctly dumped to json
- DataStore::getContactDataStore()->dump();
+ // 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());
- 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 +449,7 @@ void AddressBook::writeToStorage()
contacts.push_back(c);
}
out << QString("v1") << contacts;
- file.close();*/
+ file.close();
}
QString AddressBook::writeableFile()
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/chatmodel.cpp b/src/chatmodel.cpp
index 445a6f1..f25fe79 100644
--- a/src/chatmodel.cpp
+++ b/src/chatmodel.cpp
@@ -239,17 +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");
+ QMessageBox::information(this, "Added Contact","successfully added your new contact. You can now Chat with this contact");
});
dialog.exec();
- rpc->refreshContacts(
- ui->listContactWidget
-
- );
}
void ChatModel::addCid(QString tx, QString cid)
@@ -776,7 +774,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]);
@@ -786,11 +785,15 @@ 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);
-
-
-
QObject::connect(request.sendRequestButton, &QPushButton::clicked, [&] () {
@@ -940,7 +943,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();
@@ -973,17 +979,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/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/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
-
- // );
+
});
}
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