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());
150 // emit settingsdialog --> mainwindow --> httpclient
151 //emit saveprofile();
155 * This get function return manufacturer
158 QString ProfileDialog::getManufacturer()
164 * This get function return type
167 QString ProfileDialog::getType()
173 * This get function return model
176 QString ProfileDialog::getModel()
182 * This get function return description
185 QString ProfileDialog::getDescription()
191 * This get function return description
194 QString ProfileDialog::getPicture()
200 * This set function set manufacturer
203 void ProfileDialog::setManufacturer(QString m)
206 ui->lineEditManufacturer->setText(m);
210 * This set function set type
213 void ProfileDialog::setType(QString t)
216 ui->lineEditType->setText(t);
220 * This set function set model
223 void ProfileDialog::setModel(QString m)
226 ui->lineEditModel->setText(m);
230 * This set function set description
233 void ProfileDialog::setDescription(QString d)
236 ui->textEditDescription->setText(d);
240 * This set function set description
243 void ProfileDialog::setPicture(QString p)
250 * This function set label info text to user
253 void ProfileDialog::setLabelInfoToUser(QString infoText)
255 ui->labelInfoToUser->setVisible(1);
256 this->ui->labelInfoToUser->setText(infoText);