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
10 #include <QFileDialog>
12 #include <QMessageBox>
16 #include "profiledialog.h"
17 #include "ui_profiledialog.h"
18 #include "usersettings.h"
19 #include "settingsdialog.h"
20 #include "xmlreader.h"
23 * Constructor of this class.
24 * @param QWidget pointer to parent object. By default the value is NULL.
26 ProfileDialog::ProfileDialog(SettingsDialog *parent) : QDialog(parent), ui(new Ui::ProfileDialog)
28 qDebug() << "__ProfileDialog";
33 this->setWindowTitle("Profile - " + parent->getUserName());
37 this->setWindowTitle("Profile");
41 ui->labelInfoToUser->setVisible(0);
42 ui->labelInfoToUser->setText("");
45 imageButtonState = false;
53 // Read user profile xml
54 QString filename = "/home/user/MyDocs/speedfreak/profile/" + parent->getUserName() + "_profile.xml";
57 if (!file.open(QFile::ReadOnly))
59 qDebug() << "_xmlRead fail";
64 xmlReader = new XmlReader();
65 xmlReader->xmlReadProfile(&file,this);
71 * Destructor of this class. Deletes all dynamic objects and sets them to NULL.
73 ProfileDialog::~ProfileDialog()
75 qDebug() << "__~ProfileDialog";
87 void ProfileDialog::changeEvent(QEvent *e)
89 QDialog::changeEvent(e);
91 case QEvent::LanguageChange:
92 ui->retranslateUi(this);
100 * This slot function called when image button clicked.
103 void ProfileDialog::on_buttonImage_clicked()
105 if (imageButtonState == false)
107 ui->buttonImage->setText("Load image");
111 ui->buttonImage->setText("Change image");
114 QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"), QDir::currentPath());
115 loadPicture(fileName);
119 * This function load picture.
122 void ProfileDialog::loadPicture(QString fileName)
124 if (!fileName.isEmpty())
126 QImage image(fileName);
129 QMessageBox::information(this, tr("Profile"),tr("Cannot load %1.").arg(fileName));
132 ui->labelImage->setPixmap(QPixmap::fromImage(image.scaled(QSize(120,120), Qt::KeepAspectRatio)));
138 * This slot function called when save button clicked.
139 * @todo server connection
141 void ProfileDialog::on_buttonSave_clicked()
144 setManufacturer(ui->lineEditManufacturer->text());
145 setType(ui->lineEditType->text());
146 setModel(ui->lineEditModel->text());
147 setDescription(ui->textEditDescription->toPlainText());
149 // emit settingsdialog --> mainwindow --> httpclient
154 * This get function return manufacturer
157 QString ProfileDialog::getManufacturer()
163 * This get function return type
166 QString ProfileDialog::getType()
172 * This get function return model
175 QString ProfileDialog::getModel()
181 * This get function return description
184 QString ProfileDialog::getDescription()
190 * This get function return description
193 QString ProfileDialog::getPicture()
199 * This set function set manufacturer
202 void ProfileDialog::setManufacturer(QString m)
205 ui->lineEditManufacturer->setText(m);
209 * This set function set type
212 void ProfileDialog::setType(QString t)
215 ui->lineEditType->setText(t);
219 * This set function set model
222 void ProfileDialog::setModel(QString m)
225 ui->lineEditModel->setText(m);
229 * This set function set description
232 void ProfileDialog::setDescription(QString d)
235 ui->textEditDescription->setText(d);
239 * This set function set description
242 void ProfileDialog::setPicture(QString p)
249 * This function set label info text to user
252 void ProfileDialog::setLabelInfoToUser(QString infoText)
254 ui->labelInfoToUser->setVisible(1);
255 this->ui->labelInfoToUser->setText(infoText);