mainwindow.cpp 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #include "mainwindow.h"
  2. #include "ui_mainwindow.h"
  3. #include <QCommandLinkButton>
  4. #include <QProcess>
  5. #include <QDebug>
  6. #include <QLabel>
  7. #include <QTextStream>
  8. #include <QString>
  9. #include <QVector>
  10. #include <QLayout>
  11. #include <client.hpp>
  12. #include <vector>
  13. MainWindow::MainWindow(int argc, char** argv, QWidget *parent) :
  14. QMainWindow(parent),
  15. ui(new Ui::MainWindow),
  16. cli_argc(argc),
  17. cli_argv(argv) {
  18. this->process = new QProcess(this);
  19. ui->setupUi(this);
  20. ui->inputText->setText("KSupStyle YO?");
  21. this->connectUi();
  22. }
  23. /**
  24. * @brief MainWindow::buttonClicked
  25. */
  26. void MainWindow::connectClient() {
  27. qDebug() << "You clicked the button!!";
  28. Client* q_client = new Client(this, cli_argc, cli_argv);
  29. QObject::connect(q_client, &Client::messageReceived, this, &MainWindow::updateMessages);
  30. q_client->start();
  31. QTextEdit* send_message_box = this->findChild<QTextEdit*>("inputText");
  32. QPushButton* send_message_button = this->findChild<QPushButton*>("sendMessage");
  33. QObject::connect(send_message_button, &QPushButton::clicked, this, [&q_client, &send_message_box]() {
  34. q_client->sendMessage(send_message_box->toPlainText());
  35. });
  36. }
  37. void MainWindow::updateMessages(const QString& s) {
  38. QLabel* message_display = this->findChild<QLabel*>("messages");
  39. message_display->setText(s);
  40. }
  41. void MainWindow::connectUi() {
  42. QCommandLinkButton *button = this->findChild<QCommandLinkButton*>("connect");
  43. connect(button, &QCommandLinkButton::clicked, this, &MainWindow::connectClient);
  44. }
  45. MainWindow::~MainWindow()
  46. {
  47. delete ui;
  48. }