Browse Source

add button to create a new zaddr

pull/130/head
DenioD 4 years ago
parent
commit
1bc63f41f6
  1. 18
      src/addressbook.cpp
  2. 111
      src/addressbook.ui
  3. 14
      src/chatmodel.cpp
  4. 275
      src/contactrequest.ui
  5. 9
      src/controller.cpp

18
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 // Connect the dialog's closing to updating the label address completor
QObject::connect(&d, &QDialog::finished, [=] (auto) { parent->updateLabels(); }); 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; bool sapling = true;
try try
{ {
@ -174,6 +175,7 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target)
qDebug() << QString("Caught something nasty with myZaddr Addressbook"); qDebug() << QString("Caught something nasty with myZaddr Addressbook");
} }
});
// model.updateUi(); //todo fix updating gui after adding // 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"); QString avatar = QString(":/icons/res/") + ab.comboBoxAvatar->currentText() + QString(".png");
qDebug()<<"AVATAR NAME : " << avatar;
if (addr.isEmpty() || newLabel.isEmpty()) if (addr.isEmpty() || newLabel.isEmpty())
{ {
@ -394,20 +395,15 @@ void AddressBook::readFromStorage()
QDataStream in(&file); // read the data serialized from the file QDataStream in(&file); // read the data serialized from the file
QString version; QString version;
in >> version; in >> version;
// qDebug() << "Detected old addressbook format"; QList<QList<QString>> stuff;
// Convert old addressbook format v1 to v2
QList<QList<QString>> stuff;
in >> stuff; in >> stuff;
//qDebug() << "Stuff: " << stuff;
for (int i=0; i < stuff.size(); i++) 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]); 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); allLabels.push_back(contact);
} }

111
src/addressbook.ui

@ -14,6 +14,43 @@
<string>Address Book</string> <string>Address Book</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout_2"> <layout class="QGridLayout" name="gridLayout_2">
<item row="2" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QPushButton" name="btnImport">
<property name="text">
<string>Import Address Book</string>
</property>
</widget>
</item>
<item>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="standardButtons">
<set>QDialogButtonBox::Close|QDialogButtonBox::Ok</set>
</property>
</widget>
</item>
</layout>
</item>
<item row="1" column="0">
<widget class="QTableView" name="addresses">
<property name="selectionMode">
<enum>QAbstractItemView::SingleSelection</enum>
</property>
<property name="selectionBehavior">
<enum>QAbstractItemView::SelectRows</enum>
</property>
<attribute name="horizontalHeaderStretchLastSection">
<bool>true</bool>
</attribute>
<attribute name="verticalHeaderVisible">
<bool>false</bool>
</attribute>
</widget>
</item>
<item row="0" column="0"> <item row="0" column="0">
<widget class="QGroupBox" name="groupBox"> <widget class="QGroupBox" name="groupBox">
<property name="title"> <property name="title">
@ -51,17 +88,27 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="1"> <item row="3" column="0">
<widget class="QLabel" name="label_5"> <widget class="QLineEdit" name="addr_chat"/>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_4">
<property name="text"> <property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;right&quot;&gt;Avatar :&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string> <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Conversation ID:&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="3" column="0"> <item row="5" column="0">
<widget class="QLineEdit" name="addr_chat"/> <widget class="QLineEdit" name="cid"/>
</item> </item>
<item row="3" column="1"> <item row="6" column="1">
<widget class="QPushButton" name="addNew">
<property name="text">
<string>Add to Address Book</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QComboBox" name="comboBoxAvatar"> <widget class="QComboBox" name="comboBoxAvatar">
<item> <item>
<property name="text"> <property name="text">
@ -195,63 +242,23 @@
</item> </item>
</widget> </widget>
</item> </item>
<item row="4" column="0"> <item row="4" column="1">
<widget class="QLabel" name="label_4"> <widget class="QLabel" name="label_5">
<property name="text"> <property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Conversation ID (editable):&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string> <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;right&quot;&gt;Avatar :&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="5" column="0"> <item row="3" column="1">
<widget class="QLineEdit" name="cid"/> <widget class="QPushButton" name="newZaddr">
</item>
<item row="6" column="1">
<widget class="QPushButton" name="addNew">
<property name="text"> <property name="text">
<string>Add to Address Book</string> <string>Create a new HushChat zaddr</string>
</property> </property>
</widget> </widget>
</item> </item>
</layout> </layout>
</widget> </widget>
</item> </item>
<item row="1" column="0">
<widget class="QTableView" name="addresses">
<property name="selectionMode">
<enum>QAbstractItemView::SingleSelection</enum>
</property>
<property name="selectionBehavior">
<enum>QAbstractItemView::SelectRows</enum>
</property>
<attribute name="horizontalHeaderStretchLastSection">
<bool>true</bool>
</attribute>
<attribute name="verticalHeaderVisible">
<bool>false</bool>
</attribute>
</widget>
</item>
<item row="2" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QPushButton" name="btnImport">
<property name="text">
<string>Import Address Book</string>
</property>
</widget>
</item>
<item>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="standardButtons">
<set>QDialogButtonBox::Close|QDialogButtonBox::Ok</set>
</property>
</widget>
</item>
</layout>
</item>
</layout> </layout>
</widget> </widget>
<resources/> <resources/>

14
src/chatmodel.cpp

@ -708,6 +708,7 @@ void::MainWindow::addContact()
request.setupUi(&dialog); request.setupUi(&dialog);
Settings::saveRestore(&dialog); Settings::saveRestore(&dialog);
QObject::connect(request.newZaddr, &QPushButton::clicked, [&] () {
try try
{ {
bool sapling = true; bool sapling = true;
@ -725,6 +726,7 @@ void::MainWindow::addContact()
qDebug() << QString("Caught something nasty with myZaddr Contact"); qDebug() << QString("Caught something nasty with myZaddr Contact");
} }
});
QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces);
@ -823,8 +825,6 @@ void MainWindow::ContactRequest() {
if (contactRequest.getReceiverAddress().isEmpty() || contactRequest.getMemo().isEmpty()) { 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"), 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"), tr("You have selected no Contact from Contactlist,\n") + tr("\nor your Memo is empty"),
QMessageBox::Ok, this); QMessageBox::Ok, this);
@ -833,6 +833,16 @@ void MainWindow::ContactRequest() {
return; 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; int max = 235;
QString chattext = contactRequest.getMemo();; QString chattext = contactRequest.getMemo();;
int size = chattext.size(); int size = chattext.size();

275
src/contactrequest.ui

@ -34,140 +34,6 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="4">
<widget class="QComboBox" name="comboBoxAvatar">
<item>
<property name="text">
<string>SDLogo</string>
</property>
<property name="icon">
<iconset>
<activeon>:/icons/res/SDLogo.png</activeon>
</iconset>
</property>
</item>
<item>
<property name="text">
<string>Duke</string>
</property>
<property name="icon">
<iconset>
<activeon>:/icons/res/Duke.png</activeon>
</iconset>
</property>
</item>
<item>
<property name="text">
<string>Denio</string>
</property>
<property name="icon">
<iconset>
<activeon>:/icons/res/Denio.png</activeon>
</iconset>
</property>
</item>
<item>
<property name="text">
<string>Berg</string>
</property>
<property name="icon">
<iconset>
<activeon>:/icons/res/Berg.png</activeon>
</iconset>
</property>
</item>
<item>
<property name="text">
<string>Stag</string>
</property>
<property name="icon">
<iconset>
<activeon>:/icons/res/Stag.png</activeon>
</iconset>
</property>
</item>
<item>
<property name="text">
<string>Sharpee</string>
</property>
<property name="icon">
<iconset>
<activeon>:/icons/res/Sharpee.png</activeon>
</iconset>
</property>
</item>
<item>
<property name="text">
<string>Elsa</string>
</property>
<property name="icon">
<iconset>
<normalon>:/icons/res/Elsa.png</normalon>
</iconset>
</property>
</item>
<item>
<property name="text">
<string>Yoda</string>
</property>
<property name="icon">
<iconset>
<activeon>:/icons/res/Yoda.png</activeon>
</iconset>
</property>
</item>
<item>
<property name="text">
<string>Garfield</string>
</property>
<property name="icon">
<iconset>
<activeon>:/icons/res/Garfield.png</activeon>
</iconset>
</property>
</item>
<item>
<property name="text">
<string>Snoopy</string>
</property>
<property name="icon">
<iconset>
<activeon>:/icons/res/Snoopy.png</activeon>
</iconset>
</property>
</item>
<item>
<property name="text">
<string>Popey</string>
</property>
<property name="icon">
<iconset>
<activeon>:/icons/res/Popey.png</activeon>
</iconset>
</property>
</item>
<item>
<property name="text">
<string>Pinguin</string>
</property>
<property name="icon">
<iconset>
<activeon>:/icons/res/Pinguin.png</activeon>
</iconset>
</property>
</item>
<item>
<property name="text">
<string>Mickey</string>
</property>
<property name="icon">
<iconset>
<activeon>:/icons/res/Mickey.png</activeon>
</iconset>
</property>
</item>
</widget>
</item>
<item row="2" column="0" colspan="2"> <item row="2" column="0" colspan="2">
<widget class="QLineEdit" name="labelRequest"> <widget class="QLineEdit" name="labelRequest">
<property name="maxLength"> <property name="maxLength">
@ -329,6 +195,147 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="2">
<widget class="QComboBox" name="comboBoxAvatar">
<item>
<property name="text">
<string>SDLogo</string>
</property>
<property name="icon">
<iconset>
<activeon>:/icons/res/SDLogo.png</activeon>
</iconset>
</property>
</item>
<item>
<property name="text">
<string>Duke</string>
</property>
<property name="icon">
<iconset>
<activeon>:/icons/res/Duke.png</activeon>
</iconset>
</property>
</item>
<item>
<property name="text">
<string>Denio</string>
</property>
<property name="icon">
<iconset>
<activeon>:/icons/res/Denio.png</activeon>
</iconset>
</property>
</item>
<item>
<property name="text">
<string>Berg</string>
</property>
<property name="icon">
<iconset>
<activeon>:/icons/res/Berg.png</activeon>
</iconset>
</property>
</item>
<item>
<property name="text">
<string>Stag</string>
</property>
<property name="icon">
<iconset>
<activeon>:/icons/res/Stag.png</activeon>
</iconset>
</property>
</item>
<item>
<property name="text">
<string>Sharpee</string>
</property>
<property name="icon">
<iconset>
<activeon>:/icons/res/Sharpee.png</activeon>
</iconset>
</property>
</item>
<item>
<property name="text">
<string>Elsa</string>
</property>
<property name="icon">
<iconset>
<normalon>:/icons/res/Elsa.png</normalon>
</iconset>
</property>
</item>
<item>
<property name="text">
<string>Yoda</string>
</property>
<property name="icon">
<iconset>
<activeon>:/icons/res/Yoda.png</activeon>
</iconset>
</property>
</item>
<item>
<property name="text">
<string>Garfield</string>
</property>
<property name="icon">
<iconset>
<activeon>:/icons/res/Garfield.png</activeon>
</iconset>
</property>
</item>
<item>
<property name="text">
<string>Snoopy</string>
</property>
<property name="icon">
<iconset>
<activeon>:/icons/res/Snoopy.png</activeon>
</iconset>
</property>
</item>
<item>
<property name="text">
<string>Popey</string>
</property>
<property name="icon">
<iconset>
<activeon>:/icons/res/Popey.png</activeon>
</iconset>
</property>
</item>
<item>
<property name="text">
<string>Pinguin</string>
</property>
<property name="icon">
<iconset>
<activeon>:/icons/res/Pinguin.png</activeon>
</iconset>
</property>
</item>
<item>
<property name="text">
<string>Mickey</string>
</property>
<property name="icon">
<iconset>
<activeon>:/icons/res/Mickey.png</activeon>
</iconset>
</property>
</item>
</widget>
</item>
<item row="5" column="2">
<widget class="QPushButton" name="newZaddr">
<property name="text">
<string>Create new Hushchat address</string>
</property>
</widget>
</item>
</layout> </layout>
</widget> </widget>
<resources/> <resources/>

9
src/controller.cpp

@ -1202,9 +1202,6 @@ void Controller::refreshTransactions() {
contactname = ""; contactname = "";
} }
qDebug()<<"Name :" << contactname;
bool isNotarized; bool isNotarized;
@ -1361,11 +1358,7 @@ void Controller::refreshTransactions() {
isNotarized, isNotarized,
isContact isContact
); );
DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item);
qDebug()<<"requestZaddrt? :"<<requestZaddr;
qDebug()<<"Ist Kontakt? :"<<isContact;
qDebug()<<"Memo :"<<memo;
} }
} }
} }

Loading…
Cancel
Save