-
Notifications
You must be signed in to change notification settings - Fork 0
/
loginWindow.cpp
99 lines (69 loc) · 2.4 KB
/
loginWindow.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
#include <iostream>
#include <fstream>
#include <string>
#include <QFormLayout>
#include <QHBoxLayout>
#include <QVBoxLayout>
#include <QDialog>
#include <QMessageBox>
#include "loginWindow.h"
using namespace std;
LoginWindow::LoginWindow(Netflix* flix, QWidget* parent)
{
netflix = flix;
headerLabel = new QLabel("Welcome to Netflix!");
loginButton = new QPushButton("&Login");
newUserButton = new QPushButton("&New User");
quitButton = new QPushButton("&Quit");
loginButton->setDefault(true);
userIDText = new QLineEdit;
passwordText = new QLineEdit;
QFormLayout* fLayout = new QFormLayout;
fLayout->addRow("", headerLabel);
fLayout->addRow("&Login:", userIDText);
fLayout->addRow("&Password:", passwordText);
QHBoxLayout* botRow = new QHBoxLayout;
botRow->addWidget(loginButton);
botRow->addWidget(newUserButton);
botRow->addWidget(quitButton);
QVBoxLayout* mainLayout = new QVBoxLayout;
mainLayout->addLayout(fLayout);
mainLayout->addLayout(botRow);
connect(userIDText, SIGNAL(returnPressed()),loginButton,SIGNAL(clicked()));
connect(passwordText, SIGNAL(returnPressed()),loginButton,SIGNAL(clicked()));
connect(loginButton, SIGNAL(clicked()), this, SLOT(loginClicked()));
connect(newUserButton, SIGNAL(clicked()), this, SLOT(newUserClicked()));
connect(quitButton, SIGNAL(clicked()), this, SLOT(quitClicked()));
setLayout(mainLayout);
signUpWindow = new SignUpWindow(flix, this);
//resultWindow = new ResultWindow(flix, this);
}
LoginWindow::~LoginWindow(){
}
void LoginWindow::loginClicked(){
string userID = userIDText->text().toStdString();
string password = passwordText->text().toStdString();
bool success = netflix->login(userID, password);
if(success){
this->hide();
mainWindow = new MainWindow(netflix, this);
//mainWindow->show();
recommendWindow = new RecommendWindow(netflix, netflix->recommend(), mainWindow);
connect(recommendWindow, SIGNAL(updateQueue()), mainWindow, SLOT(updateQueue()));
recommendWindow->show();
} else {
//create pop up box with error message
QMessageBox msgBox;
msgBox.setWindowTitle("Please Try Again.");
msgBox.setText("Improper UserID or Password.");
msgBox.exec();
}
passwordText->setText("");
}
void LoginWindow::newUserClicked(){
this->hide();
signUpWindow->show();
}
void LoginWindow::quitClicked(){
this->close();
}