-
Notifications
You must be signed in to change notification settings - Fork 0
/
recommendWindow.cpp
124 lines (82 loc) · 2.55 KB
/
recommendWindow.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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
#include <iostream>
#include <fstream>
#include <string>
#include <QFormLayout>
#include <QHBoxLayout>
#include <QVBoxLayout>
#include <QDialog>
#include <QLayoutItem>
#include "recommendWindow.h"
using namespace std;
RecommendWindow::RecommendWindow(Netflix* flix, Movie* movie, QWidget* next)
{
netflix = flix;
this->next = next;
this->movie = movie;
/**************************************************************/
string currentMovie;
stringstream ss;
string frontQueue;
string costString;
if(movie != NULL){
ss << movie->getCost();
ss >> costString;
frontQueue = movie->getTitle() + " ($" + costString + ")";
currentMovie = frontQueue;
} else {
currentMovie = "There are no recommendations.";
}
QString qCurrentMovie = QString::fromStdString(currentMovie);
/**************************************************************/
headerLabel = new QLabel("Movie Recommendation:");
titleLabel = new QLabel(qCurrentMovie);
addButton = new QPushButton("&Add to my Queue");
contButton = new QPushButton("&Continue to Main Menu");
QHBoxLayout* botRow;
botRow = new QHBoxLayout;
if(movie != NULL){
botRow->addWidget(addButton);
botRow->addWidget(contButton);
} else {
botRow->addWidget(contButton);
}
QVBoxLayout* vLayout = new QVBoxLayout;
/**************************************************************/
if(movie != NULL){
string keyword;
set<string> keywordSet = movie->getAllKeywords();
for(set<string>::iterator keyIter = keywordSet.begin(); keyIter != keywordSet.end(); ++keyIter){
keyword = *keyIter;
QString qKeyword = QString::fromStdString(keyword);
keywordLabel = new QLabel(qKeyword);
vLayout->addWidget(keywordLabel);
}
}
/**************************************************************/
QVBoxLayout* mainLayout = new QVBoxLayout;
mainLayout->addWidget(headerLabel);
mainLayout->addWidget(titleLabel);
mainLayout->addLayout(vLayout);
mainLayout->addLayout(botRow);
connect(addButton, SIGNAL(clicked()), this, SLOT(addClicked()));
connect(contButton, SIGNAL(clicked()), this, SLOT(contClicked()));
setLayout(mainLayout);
}
void RecommendWindow::addClicked(){
netflix->enqueueMovie(movie);
this->hide();
next->show();
emit updateQueue();
delete this;
}
void RecommendWindow::contClicked(){
this->hide();
next->show();
delete this;
}
void RecommendWindow::closeEvent(QCloseEvent *event)
{
this->hide();
next->show();
delete this;
}