2 * Register dialog class.
4 * @author Toni Jussila <toni.jussila@fudeco.com>
5 * @copyright (c) 2010 Speed Freak team
6 * @license http://opensource.org/licenses/gpl-license.php GNU Public License
12 #include <QFileDialog>
16 #include "registerdialog.h"
17 #include "ui_registerdialog.h"
18 #include "usersettings.h"
19 #include "settingsdialog.h"
20 #include "xmlreader.h"
23 * Constructor of this class.
25 RegisterDialog::RegisterDialog(QWidget *parent) :
26 QDialog(parent), ui(new Ui::RegisterDialog)
29 this->setWindowTitle("Register new user");
30 this->ui->regEMailLineEdit->setText("@");
32 ui->labelInfoToUser->setVisible(0);
33 ui->labelInfoToUser->setText("");
35 imageButtonState = false;
42 ui->buttonImage->setVisible(false);
43 ui->labelImage->setVisible(false);
45 // Read user profile xml from file.
46 /*QString filename = "/home/user/MyDocs/speedfreak/profile/" + parent->getUserName() + "_profile.xml";
49 if (!file.open(QFile::ReadOnly))
51 qDebug() << "_xmlRead fail";
56 xmlReader = new XmlReader();
57 xmlReader->xmlReadProfile(&file,this);
63 * Destructor of this class.
65 RegisterDialog::~RegisterDialog()
73 void RegisterDialog::changeEvent(QEvent *e)
75 QDialog::changeEvent(e);
77 case QEvent::LanguageChange:
78 ui->retranslateUi(this);
86 * This function is used to clear lineEdits and close this dialog.
88 void RegisterDialog::clearRegisterLineEdits()
90 ui->regEMailLineEdit->setText("@");
91 ui->regPasswordLineEdit->setText("");
92 ui->regUserNameLineEdit->setText("");
93 ui->lineEditManufacturer->setText("");
94 ui->lineEditModel->setText("");
95 ui->lineEditType->setText("");
96 ui->textEditDescription->setText("");
104 * @param QString username
106 void RegisterDialog::setRegUserName(QString username)
108 this->regUsername = username;
114 * @return QString username
116 QString RegisterDialog::getRegUserName()
118 return this->regUsername;
124 * @param QString password
126 void RegisterDialog::setRegPassword(QString password)
128 this->regPassword = password;
134 * @return QString password
136 QString RegisterDialog::getRegPassword()
138 return this->regPassword;
144 * @param QString email
146 void RegisterDialog::setRegEmail(QString email)
148 this->regEmail = email;
154 * @return QString email
156 QString RegisterDialog::getRegEmail()
158 return this->regEmail;
162 * This slot function called when ever register button clicked.
164 void RegisterDialog::on_registratePushButton_clicked()
167 setManufacturer(ui->lineEditManufacturer->text());
168 setType(ui->lineEditType->text());
169 setModel(ui->lineEditModel->text());
170 setDescription(ui->textEditDescription->toPlainText());
172 // Send username, password and email to SpeedFreak server
173 this->regUsername = ui->regUserNameLineEdit->text();
174 this->regPassword = ui->regPasswordLineEdit->text();
175 this->regEmail = ui->regEMailLineEdit->text();
177 if (this->regUsername.compare("") && this->regPassword.compare("") && this->regEmail.compare("") && this->regEmail.compare("@"))
183 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");
188 * This get function return manufacturer.
190 * @return QString manufacturer
192 QString RegisterDialog::getManufacturer()
198 * This function set manufacturer.
200 * @param QString manufacturer
202 void RegisterDialog::setManufacturer(QString m)
205 ui->lineEditManufacturer->setText(m);
209 * This get function return type.
211 * @return QString type
213 QString RegisterDialog::getType()
219 * This function set type.
221 * @param QString type
223 void RegisterDialog::setType(QString t)
226 ui->lineEditType->setText(t);
230 * This get function return model.
232 * @return QString model
234 QString RegisterDialog::getModel()
240 * This function set model.
242 * @param QString model
244 void RegisterDialog::setModel(QString m)
247 ui->lineEditModel->setText(m);
251 * This get function return description.
253 * @return QString description
255 QString RegisterDialog::getDescription()
257 QString all = manufacturer + ";" + type + ";" + model + ";" + description;
262 * This function set description.
266 void RegisterDialog::setDescription(QString d)
269 ui->textEditDescription->setText(d);
273 * This get function return picture.
275 * @return QString picture
277 QString RegisterDialog::getPicture()
283 * This function set picture.
285 * @param QString picture
287 void RegisterDialog::setPicture(QString p)
294 * This function set label info text to user.
298 void RegisterDialog::setLabelInfoToUser(QString infoText)
300 ui->labelInfoToUser->setVisible(1);
301 this->ui->labelInfoToUser->setText(infoText);
305 * This slot function called when ever image button clicked.
307 void RegisterDialog::on_buttonImage_clicked()
309 if (imageButtonState == false)
311 ui->buttonImage->setText("Load image");
315 ui->buttonImage->setText("Change image");
318 QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"), QDir::currentPath());
319 loadPicture(fileName);
323 * This function load picture.
325 * @param QString file name
327 void RegisterDialog::loadPicture(QString fileName)
329 if (!fileName.isEmpty())
331 QImage image(fileName);
334 QMessageBox::information(this, tr("Profile"),tr("Cannot load %1.").arg(fileName));
337 ui->labelImage->setPixmap(QPixmap::fromImage(image.scaled(QSize(120,120), Qt::KeepAspectRatio)));