/*
* SettingsDialog class
*
- * @author Olavi Pulkkinen <olavi.pulkkinen@fudeco.com>
- * @copyright (c) 2010 Speed Freak team
- * @license http://opensource.org/licenses/gpl-license.php GNU Public License
+ * @author Olavi Pulkkinen <olavi.pulkkinen@fudeco.com>
+ * @author Toni Jussila <toni.jussila@fudeco.com>
+ * @copyright (c) 2010 Speed Freak team
+ * @license http://opensource.org/licenses/gpl-license.php GNU Public License
*/
#include "settingsdialog.h"
#include "ui_settingsdialog.h"
#include "usersettings.h"
#include <QMessageBox>
+#include <QDebug>
-SettingsDialog::SettingsDialog(QWidget *parent) :
- QDialog(parent),
- ui(new Ui::SettingsDialog)
+/**
+ * Constructor of this class
+ */
+SettingsDialog::SettingsDialog(QWidget *parent) : QDialog(parent), ui(new Ui::SettingsDialog)
{
ui->setupUi(this);
+
+ helpSettingsDialog = NULL;
+ registerDialog = NULL;
this->setWindowTitle("Settings");
- this->ui->regEMailLineEdit->setText("@");
if (loginSaved())
{
// Already someone as user - change button text to "Change"
ui->setUserPushButton->setText("Log out");
+
+ // Button settings
+ ui->pushButtonProfile->setAutoFillBackground(true);
+ ui->pushButtonProfile->setStyleSheet("background-color: rgb(0, 0, 0); color: rgb(255, 255, 255)");
+ ui->pushButtonProfile->setDisabled(false);
+ ui->pushButtonProfile->setVisible(false);
}
+ // Button settings
+ ui->pushButtonInfo->setAutoFillBackground(true);
+ ui->pushButtonInfo->setStyleSheet("background-color: rgb(0, 0, 0); color: rgb(255, 255, 255)");
+ ui->pushButtonProfile->setVisible(false);
}
+/**
+ * Destructor of this class
+ */
SettingsDialog::~SettingsDialog()
{
delete ui;
}
+/**
+ *
+ */
void SettingsDialog::changeEvent(QEvent *e)
{
QDialog::changeEvent(e);
}
}
-//
-// Registrate
-//
+/**
+ * This slot function called when ever "register new user" -button clicked.
+ */
void SettingsDialog::on_registratePushButton_clicked()
{
- // Send username, password and email to SpeedFreak server
- this->regUsername = ui->regUserNameLineEdit->text();
- this->regPassword = ui->regPasswordLineEdit->text();
- this->regEmail = ui->regEMailLineEdit->text();
-
- if (this->regUsername.compare("") && this->regPassword.compare("") && this->regEmail.compare("") && this->regEmail.compare("@"))
- {
- emit sendregistration();
-
- }
- else
+ if(!registerDialog)
{
- 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");
+ registerDialog = new RegisterDialog(this);
}
-
- //close(); //using close() hides popup-window which reports error from server
-}
-
-// Next 6 functions can be removed if Settingsdialog is implemented without
-// own copy of username, password & email
-void SettingsDialog::setRegUserName(QString username)
-{
- this->regUsername = username;
-}
-
-void SettingsDialog::setRegPassword(QString password)
-{
- this->regPassword = password;
-}
-
-void SettingsDialog::setRegEmail(QString email)
-{
- this->regEmail = email;
-}
-
-QString SettingsDialog::getRegUserName()
-{
- return this->regUsername;
-}
-
-QString SettingsDialog::getRegPassword()
-{
- return this->regPassword;
+ connect(registerDialog, SIGNAL(registrate()), this, SLOT(registrate()));
+ connect(registerDialog, SIGNAL(rejected()), this, SLOT(killDialog()));
+ registerDialog->show();
}
-QString SettingsDialog::getRegEmail()
-{
- return this->regEmail;
-}
-
-//
-// Set / Change user
-//
+/**
+ * Set / Change user
+ */
void SettingsDialog::on_setUserPushButton_clicked()
{
if (!ui->setUserPushButton->text().compare("Log out"))
this->password = ui->setUserPasswordLineEdit->text();
ui->setUserPushButton->setText("Log in");
saveLogin( this->username, this->password);
+ ui->pushButtonProfile->setDisabled(true);
emit logout();
}
else
// Save these also to usersettings
//saveLogin( this->username, this->password);
-
-
/*
// Set "Set/Change User" button text
if (this->username.length() > 0)
// Next 4 functions can be removed if Settingsdialog is implemented without
// own copy of username & password
+/**
+ *
+ */
void SettingsDialog::setUserName(QString username)
{
this->username = username;
}
+/**
+ *
+ */
void SettingsDialog::setPassword(QString password)
{
this->password = password;
}
+/**
+ *
+ */
QString SettingsDialog::getUserName()
{
return this->username;
}
+/**
+ *
+ */
QString SettingsDialog::getPassword()
{
return this->password;
}
+/**
+ *
+ */
void SettingsDialog::setLabelInfoToUser(QString infoText)
{
this->ui->labelInfoToUser->setText(infoText);
}
+/**
+ *
+ */
void SettingsDialog::usernameOk(bool isOk)
{
if (isOk)
ui->setUserPushButton->setText("Log out");
ui->setUserUsernameLineEdit->setDisabled(true);
ui->setUserPasswordLineEdit->setDisabled(true);
+ ui->pushButtonProfile->setDisabled(false);
}
else
{
ui->setUserPushButton->setText("Log in");
- ui->setUserUsernameLineEdit->clear();
ui->setUserPasswordLineEdit->clear();
- this->username = ui->setUserUsernameLineEdit->text();
- this->password = ui->setUserPasswordLineEdit->text();
+ this->username = "";
+ this->password = "";
saveLogin( this->username, this->password);
+ ui->pushButtonProfile->setDisabled(true);
}
}
+
+/**
+ * This slot function called when ever info button clicked.
+ */
+void SettingsDialog::on_pushButtonInfo_clicked()
+{
+ if(!helpSettingsDialog)
+ {
+ helpSettingsDialog = new HelpSettingsDialog;
+ }
+ connect(helpSettingsDialog, SIGNAL(rejected()), this, SLOT(killDialog()));
+ helpSettingsDialog->show();
+}
+
+/**
+ * This slot function called when ever dialog rejected.
+ */
+void SettingsDialog::killDialog()
+{
+ if(helpSettingsDialog)
+ {
+ qDebug() << "__Settings kill: helpSettingsDialog";
+ delete helpSettingsDialog;
+ helpSettingsDialog = NULL;
+ }
+ if(registerDialog)
+ {
+ qDebug() << "__Settings kill: registerDialog";
+ delete registerDialog;
+ registerDialog = NULL;
+ }
+}
+
+/**
+ * This slot function called when
+ */
+void SettingsDialog::registrate()
+{
+ emit sendregistration();
+}