defuze.me
Client
|
00001 #include <QMovie> 00002 #include <QDebug> 00003 #include "loginview.hpp" 00004 #include "ui_loginview.h" 00005 00006 using namespace Network; 00007 00008 LoginView::LoginView(const QString& login) : QWidget(0), ui(new Ui::LoginView) 00009 { 00010 ui->setupUi(this); 00011 if (login.length() > 0) 00012 { 00013 ui->login_field->setText(login); 00014 ui->password_field->setFocus(); 00015 } 00016 success = false; 00017 } 00018 00019 LoginView::~LoginView() 00020 { 00021 delete ui; 00022 } 00023 00024 void LoginView::clear_controls() 00025 { 00026 ui->login_field->setEnabled(true); 00027 ui->password_field->setEnabled(true); 00028 ui->button_connect->setEnabled(true); 00029 } 00030 00031 void LoginView::on_button_connect_clicked() 00032 { 00033 ui->login_field->setEnabled(false); 00034 ui->password_field->setEnabled(false); 00035 ui->button_connect->setEnabled(false); 00036 emit authenticate(ui->login_field->text(), ui->password_field->text()); 00037 } 00038 00039 void LoginView::on_button_postpone_clicked() 00040 { 00041 // TODO 00042 } 00043 00044 void LoginView::closeEvent(QCloseEvent *event) 00045 { 00046 if (!success) 00047 emit cancelled(); 00048 event->accept(); 00049 } 00050 00051 void LoginView::on_button_cancel_clicked() 00052 { 00053 close(); 00054 } 00055 00056 void LoginView::login_failed(const QString) 00057 { 00058 clear_controls(); 00059 ui->description_label->setText(tr("Authentication failed. Please check your credentials and retry.")); 00060 ui->icon_label->setPixmap(QPixmap(":/icons/icons/error.png")); 00061 } 00062 00063 void LoginView::login_sucess() 00064 { 00065 success = true; 00066 close(); 00067 } 00068 00069 void LoginView::on_password_field_textChanged(QString text) 00070 { 00071 ui->button_connect->setEnabled(text.size() > 0 && ui->login_field->text().size() > 0); 00072 } 00073 00074 void LoginView::on_login_field_textChanged(QString text) 00075 { 00076 ui->button_connect->setEnabled(text.size() > 0 && ui->password_field->text().size() > 0); 00077 } 00078 00079 void Network::LoginView::on_password_field_returnPressed() 00080 { 00081 on_button_connect_clicked(); 00082 }