Added function to kill usersDialog when dialog is closed.
[speedfreak] / Client / usersdialog.cpp
1 #include "usersdialog.h"
2 #include "ui_usersdialog.h"
3 #include <QPushButton>
4 #include <QDebug>
5
6 UsersDialog::UsersDialog(QWidget *parent) :
7     QDialog(parent),
8     ui(new Ui::UsersDialog)
9 {
10     ui->setupUi(this);
11     //usersList = new QStringList();
12     //ui->listWidgetUsers->addItems(usersList);
13     //emit getUsers();
14 }
15
16 UsersDialog::~UsersDialog()
17 {
18     delete ui;
19 }
20
21 void UsersDialog::changeEvent(QEvent *e)
22 {
23     QDialog::changeEvent(e);
24     switch (e->type()) {
25     case QEvent::LanguageChange:
26         ui->retranslateUi(this);
27         break;
28     default:
29         break;
30     }
31 }
32
33 /**
34   *This slot function will execute when user clicks listWidget item.
35   *Emits signal for getting user info from server.
36   *@param QListWidgetItem* item includes users name which need to send server.
37   */
38 void UsersDialog::on_listWidgetUsers_itemClicked(QListWidgetItem* item)
39 {
40     QString name;
41     name = item->text();
42
43     emit getUserInfo(item->text());
44 }
45
46 /**
47   *Sets users to listWidget.
48   */
49 void UsersDialog::appendUserToList(QString usrname)
50 {
51     //usersList->append(usrname);
52     ui->listWidgetUsers->addItem(usrname);
53 }
54
55 /**
56   *Sets data to user's information labels.
57   */
58 void UsersDialog::setUserInfo(QStringList *usersInfo)
59 {
60    QStringList splitted;
61    //QString temp;
62    QString allInfo;
63    //QString manufacter;
64    //QString description;
65    allInfo = usersInfo->at(1);
66    splitted = allInfo.split(";");
67    ui->labelUsersDetails->setText(usersInfo->at(0) + ":");
68
69    //temp = splitted.at(0);
70    //manufacter = temp.remove("![CDATA[", Qt::CaseSensitive);
71
72    //temp = splitted.at(3);
73    //description = temp.remove("]]>", Qt::CaseSensitive);
74
75    if (splitted.count() == 4)
76    {
77        ui->labelManufacter->setText(splitted.at(0));
78        ui->labelType->setText(splitted.at(1));
79        ui->labelModel->setText(splitted.at(2));
80        ui->plainTextEditDescription->setPlainText(splitted.at(3));
81     }
82
83    else
84    {
85        ui->plainTextEditDescription->setPlainText(splitted.at(0));
86    }
87    //ui->labelDescriptionHeader->setText("Description: " + usersInfo->at(4));
88 }