Browse Source

add new icons, dont write over send button

pull/130/head
DenioD 4 years ago
parent
commit
41e3bbdfae
  1. 9
      application.qrc
  2. BIN
      res/addContactBlack.png
  3. BIN
      res/addContactWhite.png
  4. BIN
      res/getAddrBlack.png
  5. BIN
      res/getAddrWhite.png
  6. BIN
      res/lock_green.png
  7. BIN
      res/requestBlack.png
  8. BIN
      res/requestWhite.png
  9. BIN
      res/send-white.png
  10. BIN
      res/sendBlack.png
  11. BIN
      res/unlocked.png
  12. 24
      src/DataStore/ChatDataStore.cpp
  13. 3
      src/DataStore/ChatDataStore.h
  14. 77
      src/chatmodel.cpp
  15. 5
      src/chatmodel.h
  16. 18
      src/contactrequest.ui
  17. 29
      src/mainwindow.cpp
  18. 5
      src/mainwindow.h
  19. 98
      src/mainwindow.ui

9
application.qrc

@ -41,6 +41,15 @@
<file>res/lock_green.svg</file>
<file>res/lock_blue.svg</file>
<file>res/unlocked.svg</file>
<file>res/getAddrWhite.png</file>
<file>res/send-white.png</file>
<file>res/requestWhite.png</file>
<file>res/addContactWhite.png</file>
<file>res/getAddrBlack.png</file>
<file>res/sendBlack.png</file>
<file>res/requestBlack.png</file>
<file>res/addContactBlack.png</file>
</qresource>
<qresource prefix="/img">
<file>res/hushdlogo.gif</file>

BIN
res/addContactBlack.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

BIN
res/addContactWhite.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
res/getAddrBlack.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

BIN
res/getAddrWhite.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
res/lock_green.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

BIN
res/requestBlack.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

BIN
res/requestWhite.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
res/send-white.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
res/sendBlack.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
res/unlocked.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1006 B

24
src/DataStore/ChatDataStore.cpp

@ -2,6 +2,7 @@
// GPLv3
#include "ChatDataStore.h"
#include "addressbook.h"
ChatDataStore* ChatDataStore::getInstance()
{
@ -48,15 +49,15 @@ std::map<QString, ChatItem> ChatDataStore::getAllRawChatItems()
return this->data;
}
std::map<QString, ChatItem> ChatDataStore::getAllContactRequests()
std::map<QString, ChatItem> ChatDataStore::getAllNewContactRequests()
{
std::map<QString, ChatItem> 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<QString, ChatItem> ChatDataStore::getAllContactRequests()
return filteredItems;
}
std::map<QString, ChatItem> ChatDataStore::getAllOldContactRequests()
{
std::map<QString, ChatItem> 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<QString, ChatItem> ChatDataStore::getAllMemos()
{

3
src/DataStore/ChatDataStore.h

@ -22,7 +22,8 @@ class ChatDataStore
void setData(QString key, ChatItem value);
ChatItem getData(QString key);
std::map<QString, ChatItem> getAllRawChatItems();
std::map<QString, ChatItem> getAllContactRequests();
std::map<QString, ChatItem> getAllNewContactRequests();
std::map<QString, ChatItem> getAllOldContactRequests();
std::map<QString, ChatItem> getAllMemos();
QString dump();

77
src/chatmodel.cpp

@ -10,7 +10,6 @@
#include "addressbook.h"
#include "ui_memodialog.h"
#include "ui_contactrequest.h"
#include "addressbook.h"
#include <QtWidgets>
#include <QUuid>
#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<json::array_t>()[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);
}
);
}

5
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<QString, QString> cidMap;
std::map<QString, QString> requestZaddrMap;
std::map<int, std::tuple<QString, QString, QString>> 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();

18
src/contactrequest.ui

@ -14,7 +14,7 @@
<string>Send a contact request</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="1" colspan="2">
<item row="0" column="2" colspan="2">
<widget class="QLabel" name="label_6">
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;right&quot;&gt;Choose a avatar for your contact :&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
@ -28,7 +28,7 @@
</property>
</widget>
</item>
<item row="1" column="1">
<item row="1" column="2">
<widget class="QComboBox" name="comboBoxAvatar">
<item>
<property name="text">
@ -185,6 +185,9 @@
<item row="6" column="0">
<widget class="QLineEdit" name="myzaddr"/>
</item>
<item row="6" column="1" rowspan="3" colspan="3">
<widget class="QTextEdit" name="memorequest"/>
</item>
<item row="7" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
@ -192,7 +195,7 @@
</property>
</widget>
</item>
<item row="8" column="0" colspan="3">
<item row="8" column="0">
<widget class="QLabel" name="cid">
<property name="text">
<string/>
@ -231,6 +234,13 @@
</property>
</widget>
</item>
<item row="9" column="3">
<widget class="QPushButton" name="sendcontactrequest">
<property name="text">
<string>Send Contact</string>
</property>
</widget>
</item>
</layout>
</widget>
<resources/>
@ -255,7 +265,7 @@
<sender>sendRequestButton</sender>
<signal>clicked()</signal>
<receiver>Dialog</receiver>
<slot>accept()</slot>
<slot>update()</slot>
<hints>
<hint type="sourcelabel">
<x>536</x>

29
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);

5
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();

98
src/mainwindow.ui

@ -1409,9 +1409,21 @@
<height>81</height>
</rect>
</property>
<property name="autoFillBackground">
<bool>false</bool>
</property>
<property name="styleSheet">
<string notr="true">font: 11pt &quot;Noto Color Emoji&quot;;</string>
</property>
<property name="autoFormatting">
<set>QTextEdit::AutoNone</set>
</property>
<property name="lineWrapMode">
<enum>QTextEdit::FixedColumnWidth</enum>
</property>
<property name="lineWrapColumnOrWidth">
<number>80</number>
</property>
</widget>
<widget class="QLabel" name="contactNameMemo">
<property name="geometry">
@ -1435,7 +1447,7 @@
<widget class="QPushButton" name="sendChatButton">
<property name="geometry">
<rect>
<x>1170</x>
<x>1160</x>
<y>560</y>
<width>91</width>
<height>81</height>
@ -1455,12 +1467,12 @@
</property>
<property name="icon">
<iconset>
<normalon>:/icons/res/send-new-white.png</normalon>
<normalon>:/icons/res/sendBlack.png</normalon>
</iconset>
</property>
<property name="iconSize">
<size>
<width>41</width>
<width>50</width>
<height>49</height>
</size>
</property>
@ -1533,18 +1545,21 @@
<height>0</height>
</size>
</property>
<property name="toolTip">
<string>Add a new contact</string>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset theme="Dark">
<normalon>:/icons/res/add_contact.png</normalon>
<normalon>:/icons/res/addContactBlack.png</normalon>
</iconset>
</property>
<property name="iconSize">
<size>
<width>43</width>
<height>49</height>
<width>50</width>
<height>45</height>
</size>
</property>
<property name="flat">
@ -1554,10 +1569,10 @@
<widget class="QPushButton" name="pushContact">
<property name="geometry">
<rect>
<x>10</x>
<y>30</y>
<width>41</width>
<height>41</height>
<x>50</x>
<y>20</y>
<width>61</width>
<height>51</height>
</rect>
</property>
<property name="baseSize">
@ -1566,6 +1581,9 @@
<height>0</height>
</size>
</property>
<property name="toolTip">
<string>Incoming contact request</string>
</property>
<property name="autoFillBackground">
<bool>false</bool>
</property>
@ -1574,71 +1592,41 @@
</property>
<property name="icon">
<iconset resource="../application.qrc">
<normaloff>:/icons/res/notification.png</normaloff>:/icons/res/notification.png</iconset>
<normaloff>:/icons/res/requestBlack.png</normaloff>:/icons/res/requestBlack.png</iconset>
</property>
<property name="iconSize">
<size>
<width>33</width>
<height>35</height>
<width>50</width>
<height>45</height>
</size>
</property>
<property name="flat">
<bool>true</bool>
</property>
</widget>
<widget class="QPushButton" name="sendContact">
<widget class="QPushButton" name="givemeZaddr">
<property name="geometry">
<rect>
<x>270</x>
<y>510</y>
<width>51</width>
<x>210</x>
<y>20</y>
<width>61</width>
<height>51</height>
</rect>
</property>
<property name="baseSize">
<size>
<width>100</width>
<height>0</height>
</size>
<property name="toolTip">
<string>Get a new Address</string>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset theme="Dark">
<normalon>:/icons/res/add_contact.png</normalon>
</iconset>
</property>
<property name="iconSize">
<size>
<width>43</width>
<height>49</height>
</size>
</property>
<property name="flat">
<bool>true</bool>
</property>
</widget>
<widget class="QPushButton" name="givemeZaddr">
<property name="geometry">
<rect>
<x>60</x>
<y>30</y>
<width>111</width>
<height>41</height>
</rect>
</property>
<property name="text">
<string> New Addr</string>
</property>
<property name="icon">
<iconset resource="../application.qrc">
<normaloff>:/icons/res/add_contact.png</normaloff>:/icons/res/add_contact.png</iconset>
<normaloff>:/icons/res/getAddrBlack.png</normaloff>:/icons/res/getAddrBlack.png</iconset>
</property>
<property name="iconSize">
<size>
<width>33</width>
<height>35</height>
<width>50</width>
<height>45</height>
</size>
</property>
<property name="flat">
@ -1648,8 +1636,8 @@
<widget class="QLabel" name="label_40">
<property name="geometry">
<rect>
<x>40</x>
<y>20</y>
<x>90</x>
<y>10</y>
<width>21</width>
<height>16</height>
</rect>
@ -2042,7 +2030,7 @@
<customwidget>
<class>AddressCombo</class>
<extends>QComboBox</extends>
<header location="global">addresscombo.h</header>
<header>addresscombo.h</header>
</customwidget>
<customwidget>
<class>QRCodeLabel</class>

Loading…
Cancel
Save