1 #include "registerdialog.h"
2 #include "ui_registerdialog.h"
10 #include "usersettings.h"
11 #include "settingsdialog.h"
12 #include "xmlreader.h"
15 * Constructor of this class.
17 RegisterDialog::RegisterDialog(QWidget *parent) :
18 QDialog(parent), ui(new Ui::RegisterDialog)
21 this->setWindowTitle("Register new user");
22 this->ui->regEMailLineEdit->setText("@");
24 ui->labelInfoToUser->setVisible(0);
25 ui->labelInfoToUser->setText("");
27 imageButtonState = false;
34 ui->buttonImage->setVisible(false);
35 ui->labelImage->setVisible(false);
36 // Read user profile xml
37 /*QString filename = "/home/user/MyDocs/speedfreak/profile/" + parent->getUserName() + "_profile.xml";
40 if (!file.open(QFile::ReadOnly))
42 qDebug() << "_xmlRead fail";
47 xmlReader = new XmlReader();
48 xmlReader->xmlReadProfile(&file,this);
54 * Destructor of this class.
56 RegisterDialog::~RegisterDialog()
64 void RegisterDialog::changeEvent(QEvent *e)
66 QDialog::changeEvent(e);
68 case QEvent::LanguageChange:
69 ui->retranslateUi(this);
77 * This function is used to clear lineEdits and close this dialog.
79 void RegisterDialog::clearRegisterLineEdits()
81 ui->regEMailLineEdit->setText("@");
82 ui->regPasswordLineEdit->setText("");
83 ui->regUserNameLineEdit->setText("");
84 ui->lineEditManufacturer->setText("");
85 ui->lineEditModel->setText("");
86 ui->lineEditType->setText("");
87 ui->textEditDescription->setText("");
92 // Next 6 functions can be removed if Settingsdialog is implemented without
93 // own copy of username, password & email
97 void RegisterDialog::setRegUserName(QString username)
99 this->regUsername = username;
105 void RegisterDialog::setRegPassword(QString password)
107 this->regPassword = password;
113 void RegisterDialog::setRegEmail(QString email)
115 this->regEmail = email;
121 QString RegisterDialog::getRegUserName()
123 return this->regUsername;
129 QString RegisterDialog::getRegPassword()
131 return this->regPassword;
137 QString RegisterDialog::getRegEmail()
139 return this->regEmail;
142 void RegisterDialog::on_registratePushButton_clicked()
145 setManufacturer(ui->lineEditManufacturer->text());
146 setType(ui->lineEditType->text());
147 setModel(ui->lineEditModel->text());
148 setDescription(ui->textEditDescription->toPlainText());
150 // emit settingsdialog --> mainwindow --> httpclient
151 //emit saveprofile();
155 // Send username, password and email to SpeedFreak server
156 this->regUsername = ui->regUserNameLineEdit->text();
157 this->regPassword = ui->regPasswordLineEdit->text();
158 this->regEmail = ui->regEMailLineEdit->text();
160 if (this->regUsername.compare("") && this->regPassword.compare("") && this->regEmail.compare("") && this->regEmail.compare("@"))
166 QMessageBox::about(this, "One or more of the fields is empty", "Set username (3-12 characters), password (at least 6 characters) and valid email address");
169 //close(); //using close() hides popup-window which reports error from server
173 * This get function return manufacturer
176 QString RegisterDialog::getManufacturer()
182 * This get function return type
185 QString RegisterDialog::getType()
191 * This get function return model
194 QString RegisterDialog::getModel()
200 * This get function return description
203 QString RegisterDialog::getDescription()
205 QString all = manufacturer + ";" + type + ";" + model + ";" + description;
210 * This get function return description
213 QString RegisterDialog::getPicture()
219 * This set function set manufacturer
222 void RegisterDialog::setManufacturer(QString m)
225 ui->lineEditManufacturer->setText(m);
229 * This set function set type
232 void RegisterDialog::setType(QString t)
235 ui->lineEditType->setText(t);
239 * This set function set model
242 void RegisterDialog::setModel(QString m)
245 ui->lineEditModel->setText(m);
249 * This set function set description
252 void RegisterDialog::setDescription(QString d)
255 ui->textEditDescription->setText(d);
259 * This set function set description
262 void RegisterDialog::setPicture(QString p)
269 * This function set label info text to user
272 void RegisterDialog::setLabelInfoToUser(QString infoText)
274 ui->labelInfoToUser->setVisible(1);
275 this->ui->labelInfoToUser->setText(infoText);
279 * This slot function called when image button clicked.
281 void RegisterDialog::on_buttonImage_clicked()
283 if (imageButtonState == false)
285 ui->buttonImage->setText("Load image");
289 ui->buttonImage->setText("Change image");
292 QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"), QDir::currentPath());
293 loadPicture(fileName);
297 * This function load picture.
300 void RegisterDialog::loadPicture(QString fileName)
302 if (!fileName.isEmpty())
304 QImage image(fileName);
307 QMessageBox::information(this, tr("Profile"),tr("Cannot load %1.").arg(fileName));
310 ui->labelImage->setPixmap(QPixmap::fromImage(image.scaled(QSize(120,120), Qt::KeepAspectRatio)));