Browse Source

fix symbol counter for requests #141

pull/167/head
DenioD 4 years ago
parent
commit
bf8b0c960a
  1. 39
      src/Chat/Chat.cpp
  2. 6
      src/chatmodel.cpp
  3. 11
      src/contactrequest.ui
  4. 1
      src/mainwindow.cpp
  5. 16
      src/mainwindow.h
  6. 2
      src/mainwindow.ui

39
src/Chat/Chat.cpp

@ -46,6 +46,45 @@ void ChatMemoEdit::setLenDisplayLabelChat(QLabel* 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)
{

6
src/chatmodel.cpp

@ -703,6 +703,8 @@ void::MainWindow::addContact()
request.setupUi(&dialog);
Settings::saveRestore(&dialog);
request.memorequest->setLenDisplayLabelChatRequest(request.memoSizeChatRequest);
try
{
@ -820,7 +822,7 @@ void MainWindow::ContactRequest() {
return;
}
int max = 235;
int max = 512;
QString chattext = contactRequest.getMemo();;
int size = chattext.size();
@ -829,7 +831,7 @@ void MainWindow::ContactRequest() {
// auto addr = "";
// if (! Settings::isZAddress(AddressBook::addressFromAddressLabel(addr->text()))) {
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);
msg.exec();

11
src/contactrequest.ui

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

1
src/mainwindow.cpp

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

16
src/mainwindow.h

@ -214,5 +214,21 @@ private:
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

2
src/mainwindow.ui

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

Loading…
Cancel
Save