fix symbol counter for requests #141

This commit is contained in:
DenioD
2020-06-16 21:55:33 +02:00
parent 68bfdb6234
commit bf8b0c960a
6 changed files with 70 additions and 5 deletions

View File

@@ -46,6 +46,45 @@ void ChatMemoEdit::setLenDisplayLabelChat(QLabel* label) {
this->lenDisplayLabelchat = label; this->lenDisplayLabelchat = label;
} }
ChatMemoEditRequest::ChatMemoEditRequest(QWidget* parent) : QTextEdit(parent) {
QObject::connect(this, &QTextEdit::textChanged, this, &ChatMemoEditRequest::updateDisplayChatRequest);
}
void ChatMemoEditRequest::updateDisplayChatRequest() {
QString txt = this->toPlainText();
if (lenDisplayLabelchatRequest)
lenDisplayLabelchatRequest->setText(QString::number(txt.toUtf8().size()) + "/" + QString::number(maxlenchatrequest));
if (txt.toUtf8().size() <= maxlenchatrequest) {
// Everything is fine
if (sendRequestButton)
sendRequestButton->setEnabled(true);
if (lenDisplayLabelchatRequest)
lenDisplayLabelchatRequest->setStyleSheet("");
}
else {
// Overweight
if (sendRequestButton)
sendRequestButton->setEnabled(false);
if (lenDisplayLabelchatRequest)
lenDisplayLabelchatRequest->setStyleSheet("color: red;");
}
}
void ChatMemoEditRequest::setMaxLenChatRequest(int len) {
this->maxlenchatrequest = len;
updateDisplayChatRequest();
}
void ChatMemoEditRequest::SetSendRequestButton(QPushButton* button) {
this->sendRequestButton = button;
}
void ChatMemoEditRequest::setLenDisplayLabelChatRequest(QLabel* label) {
this->lenDisplayLabelchatRequest = label;
}
void Chat::renderChatBox(Ui::MainWindow *ui, QListView *view, QLabel *label) void Chat::renderChatBox(Ui::MainWindow *ui, QListView *view, QLabel *label)
{ {

View File

@@ -703,6 +703,8 @@ void::MainWindow::addContact()
request.setupUi(&dialog); request.setupUi(&dialog);
Settings::saveRestore(&dialog); Settings::saveRestore(&dialog);
request.memorequest->setLenDisplayLabelChatRequest(request.memoSizeChatRequest);
try try
{ {
@@ -820,7 +822,7 @@ void MainWindow::ContactRequest() {
return; return;
} }
int max = 235; int max = 512;
QString chattext = contactRequest.getMemo();; QString chattext = contactRequest.getMemo();;
int size = chattext.size(); int size = chattext.size();
@@ -829,7 +831,7 @@ void MainWindow::ContactRequest() {
// auto addr = ""; // auto addr = "";
// if (! Settings::isZAddress(AddressBook::addressFromAddressLabel(addr->text()))) { // if (! Settings::isZAddress(AddressBook::addressFromAddressLabel(addr->text()))) {
QMessageBox msg(QMessageBox::Critical, tr("Your Message is too long"), QMessageBox msg(QMessageBox::Critical, tr("Your Message is too long"),
tr("You can only write messages with 235 character maximum \n") + tr("\n Please reduce your message to 235 character."), tr("You can only write messages with 512 character maximum \n") + tr("\n Please reduce your message to 235 character."),
QMessageBox::Ok, this); QMessageBox::Ok, this);
msg.exec(); msg.exec();

View File

@@ -378,7 +378,7 @@
</layout> </layout>
</item> </item>
<item row="11" column="0"> <item row="11" column="0">
<widget class="QLabel" name="memoSizeChat"> <widget class="QLabel" name="memoSizeChatRequest">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Preferred"> <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<horstretch>0</horstretch> <horstretch>0</horstretch>
@@ -391,7 +391,7 @@
</widget> </widget>
</item> </item>
<item row="9" column="0" colspan="6"> <item row="9" column="0" colspan="6">
<widget class="QTextEdit" name="memorequest"> <widget class="ChatMemoEditRequest" name="memorequest">
<property name="placeholderText"> <property name="placeholderText">
<string>Add a memo to your request</string> <string>Add a memo to your request</string>
</property> </property>
@@ -437,6 +437,13 @@
</item> </item>
</layout> </layout>
</widget> </widget>
<customwidgets>
<customwidget>
<class>ChatMemoEditRequest</class>
<extends>QTextEdit</extends>
<header>mainwindow.h</header>
</customwidget>
</customwidgets>
<resources/> <resources/>
<connections> <connections>
<connection> <connection>

View File

@@ -1548,6 +1548,7 @@ void MainWindow::setupchatTab() {
}); });
ui->memoTxtChat->setLenDisplayLabelChat(ui->memoSizeChat); ui->memoTxtChat->setLenDisplayLabelChat(ui->memoSizeChat);
} }
void MainWindow::updateChat() void MainWindow::updateChat()

View File

@@ -214,5 +214,21 @@ private:
QPushButton* sendChatButton = nullptr; QPushButton* sendChatButton = nullptr;
}; };
class ChatMemoEditRequest : public QTextEdit
{
public:
ChatMemoEditRequest(QWidget* parent);
void setMaxLenChatRequest(int len);
void setLenDisplayLabelChatRequest(QLabel* label);
void SetSendRequestButton(QPushButton* button);
void updateDisplayChatRequest();
private:
int maxlenchatrequest = 512;
QLabel* lenDisplayLabelchatRequest = nullptr;
QPushButton* sendRequestButton = nullptr;
};
#endif // MAINWINDOW_H #endif // MAINWINDOW_H

View File

@@ -429,7 +429,7 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>1226</width> <width>1226</width>
<height>493</height> <height>509</height>
</rect> </rect>
</property> </property>
<layout class="QVBoxLayout" name="sendToLayout"> <layout class="QVBoxLayout" name="sendToLayout">