improve some UI elements

This commit is contained in:
DenioD
2020-05-03 11:35:05 +02:00
parent 58bee815a5
commit 7b40755d42
4 changed files with 105 additions and 241 deletions

View File

@@ -97,21 +97,39 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView &view)
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(); QStandardItemModel* myModel = new QStandardItemModel();
for(auto &c : this->chatItems)
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 //////Render only Memos for selected contacts. Do not render empty Memos //// Render only memos where cid=cid
///
if ( if (
(ui->ContactZaddr->text().trimmed() == c.second.getAddress()) && (ui->contactNameMemo->text().trimmed() == c.second.getContact()) &&
(c.second.getMemo().startsWith("{") == false) && (c.second.getMemo().startsWith("{") == false) &&
(c.second.getMemo().isEmpty() == 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()); QStandardItem* Items = new QStandardItem(c.second.toChatLine());
Items->setData("Incoming", Qt::UserRole +1); Items->setData("Incoming", Qt::UserRole +1);
myModel->appendRow(Items); myModel->appendRow(Items);
@@ -120,14 +138,14 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view)
ui->listChat->setMinimumSize(200,350); ui->listChat->setMinimumSize(200,350);
ui->listChat->setItemDelegate(new ListViewDelegate()); ui->listChat->setItemDelegate(new ListViewDelegate());
ui->listChat->show(); ui->listChat->show();
} }
if ( if (
(ui->MyZaddr->text().trimmed() == c.second.getAddress()) && (ui->contactNameMemo->text().trimmed() == c.second.getContact()) &&
(c.second.getMemo().startsWith("{") == false) && (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->setMinimumSize(200,350);
ui->listChat->setItemDelegate(new ListViewDelegate()); ui->listChat->setItemDelegate(new ListViewDelegate());
ui->listChat->show(); 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()) 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 cid = c.getCid();
QString myAddr = c.getMyAddress(); QString myAddr = c.getMyAddress();
@@ -233,6 +238,7 @@ Tx MainWindow::createTxFromChatPage() {
QString hmemo= createHeaderMemo(type,cid,myAddr); QString hmemo= createHeaderMemo(type,cid,myAddr);
QString memo = ui->memoTxtChat->toPlainText().trimmed(); QString memo = ui->memoTxtChat->toPlainText().trimmed();
// ui->memoSizeChat->setLenDisplayLabel();// Todo -> activate lendisplay for chat // ui->memoSizeChat->setLenDisplayLabel();// Todo -> activate lendisplay for chat
tx.toAddrs.push_back(ToFields{addr, amt, hmemo}) ; 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 // Memos can only be used with zAddrs. So check that first
// for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) // 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 = ""; // auto addr = "";
// if (! Settings::isZAddress(AddressBook::addressFromAddressLabel(addr->text()))) { // if (! Settings::isZAddress(AddressBook::addressFromAddressLabel(addr->text()))) {
@@ -397,7 +403,7 @@ Tx MainWindow::createTxForSafeContactRequest() {
for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) 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 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 myAddr = c.getMyAddress(); // this should be a new HushChat zaddr
@@ -426,9 +432,6 @@ Tx MainWindow::createTxForSafeContactRequest() {
//////////////////De-activated for now/////////////////// //////////////////De-activated for now///////////////////
void MainWindow::safeContactRequest() { void MainWindow::safeContactRequest() {
////////////////////////////Todo: Check if its a zaddr////////// ////////////////////////////Todo: Check if its a zaddr//////////
// Create a Tx from the values on the send tab. Note that this Tx object // Create a Tx from the values on the send tab. Note that this Tx object

View File

@@ -881,24 +881,34 @@ void Controller::refreshTransactions() {
memo = QString::fromStdString(o["memo"]); memo = QString::fromStdString(o["memo"]);
QString cid; QString cid;
QString contact;
for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) 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(); cid = c.getCid();
}else {cid = "";} }else {cid = "";}
if (address == c.getPartnerAddress()){
contact = c.getName();
}else{ contact = "";}
ChatItem item = ChatItem( ChatItem item = ChatItem(
datetime, datetime,
address, address,
QString(""), contact,
memo, memo,
cid, // 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, txid,
true // is an outgoing message true // is an outgoing message
); );
chatModel->addMessage(item); chatModel->addMessage(item);
}
}
}
items.push_back(TransactionItemDetail{address, amount, memo}); items.push_back(TransactionItemDetail{address, amount, memo});
total_amount = total_amount + amount; total_amount = total_amount + amount;
@@ -912,7 +922,6 @@ void Controller::refreshTransactions() {
}else{ }else{
addresses.push_back(item.address); } addresses.push_back(item.address); }
} }
@@ -957,19 +966,34 @@ void Controller::refreshTransactions() {
else else
cid = ""; 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( ChatItem item = ChatItem(
datetime, datetime,
address, address,
QString(""), contact,
memo, memo,
cid, // we have to set the cid here, its included in the headermemo cid, // we have to set the cid here, its included in the headermemo
txid, txid,
false false
); );
// qDebug()<< "Message CID: " << cid; // qDebug()<< "KontaktName: " << contact;
chatModel->addMessage(item);
// qDebug()<< "Addressbuch Addresse: " << c.getMyAddress();
chatModel->addMessage(item);
}
} }
} }

View File

@@ -39,8 +39,12 @@ MainWindow::MainWindow(QWidget *parent) :
ui->setupUi(this); ui->setupUi(this);
ui->checkBox->setChecked(true); // ui->checkBox->setChecked(true);
logger = new Logger(this, QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)).filePath("silentdragonlite-wallet.log")); 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 // Status Bar
setupStatusBar(); setupStatusBar();
@@ -994,109 +998,22 @@ void MainWindow::setupchatTab() {
QObject::connect(ui->listContactWidget, &QTableView::clicked, [=] () { 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()<<item1->text();
QStandardItem *item2 = new QStandardItem("This is item one");
item2->setData("Outgoing", Qt::UserRole +1);
mymodel.appendRow(item2);
qDebug()<<item2->text();
QStandardItem *item3 = new QStandardItem("This is item one");
item3->setData("Outgoing", Qt::UserRole +1);
mymodel.appendRow(item3);
qDebug()<<item3->text();
// QStandardItem *item2 = new QStandardItem("Hallo");
// item1->setData("Outgoing", Qt::UserRole + 1);
// mymodel.appendRow(item2);
// qDebug()<<item2->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(); 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()) for(auto &p : AddressBook::getInstance()->getAllAddressLabels())
if (label_contact == p.getName()) { if (label_contact == p.getName()) {
ui->ContactZaddr->setText(p.getPartnerAddress()); // ui->ContactZaddr->setText(p.getPartnerAddress());
ui->MyZaddr->setText(p.getMyAddress()); // ui->MyZaddr->setText(p.getMyAddress());
ui->contactNameMemo->setText(p.getName()); ui->contactNameMemo->setText(p.getName());
ui->contactCid->setText(p.getCid()); ui->memoTxtChat->clear();
rpc->refresh(true); rpc->refresh(true);
updateChat(); // updateChat();
} }
}); });
} }
ChatMemoEdit::ChatMemoEdit(QWidget* parent) : QPlainTextEdit(parent) { ChatMemoEdit::ChatMemoEdit(QWidget* parent) : QPlainTextEdit(parent) {

View File

@@ -1351,21 +1351,24 @@
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;Hushchat Contactlist&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string> <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;Hushchat Contactlist&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property> </property>
</widget> </widget>
<widget class="MemoEdit" name="memoTxtChat"> <widget class="QTextEdit" name="memoTxtChat">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>340</x> <x>340</x>
<y>410</y> <y>460</y>
<width>921</width> <width>921</width>
<height>128</height> <height>131</height>
</rect> </rect>
</property> </property>
<property name="styleSheet">
<string notr="true">font: 11pt &quot;Noto Color Emoji&quot;;</string>
</property>
</widget> </widget>
<widget class="QLabel" name="memoSizeChat"> <widget class="QLabel" name="memoSizeChat">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>1200</x> <x>1190</x>
<y>540</y> <y>610</y>
<width>47</width> <width>47</width>
<height>17</height> <height>17</height>
</rect> </rect>
@@ -1393,8 +1396,8 @@
<widget class="QPushButton" name="sendChatButton"> <widget class="QPushButton" name="sendChatButton">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>1130</x> <x>710</x>
<y>590</y> <y>610</y>
<width>114</width> <width>114</width>
<height>25</height> <height>25</height>
</rect> </rect>
@@ -1412,45 +1415,6 @@
<bool>false</bool> <bool>false</bool>
</property> </property>
</widget> </widget>
<widget class="QLabel" name="label_42">
<property name="geometry">
<rect>
<x>350</x>
<y>550</y>
<width>81</width>
<height>17</height>
</rect>
</property>
<property name="text">
<string>Send To :</string>
</property>
</widget>
<widget class="QLabel" name="ContactName">
<property name="geometry">
<rect>
<x>350</x>
<y>580</y>
<width>81</width>
<height>17</height>
</rect>
</property>
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;My zaddr :&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
<widget class="QLabel" name="ContactZaddr">
<property name="geometry">
<rect>
<x>420</x>
<y>550</y>
<width>691</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string/>
</property>
</widget>
<widget class="QPushButton" name="safeContactRequest"> <widget class="QPushButton" name="safeContactRequest">
<property name="geometry"> <property name="geometry">
<rect> <rect>
@@ -1473,58 +1437,6 @@
<bool>false</bool> <bool>false</bool>
</property> </property>
</widget> </widget>
<widget class="QLabel" name="MyZaddr">
<property name="geometry">
<rect>
<x>420</x>
<y>580</y>
<width>691</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string/>
</property>
</widget>
<widget class="QLabel" name="contactCid">
<property name="geometry">
<rect>
<x>720</x>
<y>20</y>
<width>331</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
<widget class="QLabel" name="contactNameMemo_2">
<property name="geometry">
<rect>
<x>590</x>
<y>20</y>
<width>131</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;Conversation ID:&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
<widget class="QCheckBox" name="checkBox">
<property name="geometry">
<rect>
<x>980</x>
<y>0</y>
<width>271</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>Render only authenticated messages</string>
</property>
</widget>
<widget class="QLabel" name="contactNameMemo_3"> <widget class="QLabel" name="contactNameMemo_3">
<property name="geometry"> <property name="geometry">
<rect> <rect>
@@ -1544,7 +1456,7 @@
<x>340</x> <x>340</x>
<y>40</y> <y>40</y>
<width>921</width> <width>921</width>
<height>371</height> <height>421</height>
</rect> </rect>
</property> </property>
<property name="verticalScrollBarPolicy"> <property name="verticalScrollBarPolicy">
@@ -1572,6 +1484,19 @@
<bool>true</bool> <bool>true</bool>
</property> </property>
</widget> </widget>
<widget class="Line" name="line_6">
<property name="geometry">
<rect>
<x>340</x>
<y>430</y>
<width>911</width>
<height>31</height>
</rect>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</widget> </widget>
</widget> </widget>
</item> </item>
@@ -1743,11 +1668,6 @@
</widget> </widget>
<layoutdefault spacing="6" margin="11"/> <layoutdefault spacing="6" margin="11"/>
<customwidgets> <customwidgets>
<customwidget>
<class>MemoEdit</class>
<extends>QPlainTextEdit</extends>
<header>memoedit.h</header>
</customwidget>
<customwidget> <customwidget>
<class>AddressCombo</class> <class>AddressCombo</class>
<extends>QComboBox</extends> <extends>QComboBox</extends>