-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathuser.h
More file actions
122 lines (95 loc) · 2.94 KB
/
user.h
File metadata and controls
122 lines (95 loc) · 2.94 KB
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
#ifndef USER_H
#define USER_H
#include <QObject>
#include <QDialog>
#include <QString>
#include <QDateTime>
#include "mediadatabase.h"
#include <QLineEdit>
#include <QLabel>
#include <QVBoxLayout>
#include <QHBoxLayout>
class User : public QObject
{
Q_OBJECT
public:
explicit User(QObject *parent = 0);
~User();
const QString & getUsername();
const QString getJoinDateTime();
void setMediaDatabase(mediaDatabase * database);
signals:
public slots:
void presentLoginWindow();
void presentCreateUserWindow();
void presentUserInformationWindow();
private slots:
void userDataReceived(const QString & username, const QString & firstName,
const QString & lastName, const QString & email,
const QString & joinDateTime);
private:
QString _username, _firstName, _lastName, _email;
QDateTime _joinDateTime;
mediaDatabase * _db;
};
class UserLoginDialog : public QDialog
{
Q_OBJECT
public:
explicit UserLoginDialog(mediaDatabase * database, QWidget *parent = 0);
~UserLoginDialog();
signals:
void userDataReceived(const QString & username, const QString & firstName,
const QString & lastName, const QString & email,
const QString & joinDateTime);
public slots:
private slots:
void loginButtonHasBeenClicked();
private:
QLineEdit * _usernameLine, * _passwordLine;
mediaDatabase * _db;
void prepareLoginLayout();
};
class CreateUserDialog : public QDialog
{
Q_OBJECT
public:
explicit CreateUserDialog(mediaDatabase * database, QWidget *parent = 0);
~CreateUserDialog();
signals:
void userDataReceived(const QString & username, const QString & firstName,
const QString & lastName, const QString & email,
const QString & joinDateTime);
public slots:
private slots:
void checkUsernameButtonHasBeenClicked();
void createUserButtonHasBeenClicked();
private:
QLineEdit * _usernameLine, * _passwordLine, * _repeatPasswordLine, * _firstNameLine, * _lastNameLine, * _emailLine;
mediaDatabase * _db;
QLabel * _usernameAvailableLabel;
void prepareCreationLayout();
bool passwordsAreEqual();
bool usernameNotEmpty();
};
class UserInformation : public QDialog
{
Q_OBJECT
public:
explicit UserInformation(const QString username, const QString name,
const QString email, const QString membersince, mediaDatabase * database, QWidget *parent = 0);
~UserInformation();
signals:
public slots:
private slots:
void okButtonHasBeenPressed();
private:
const QString _username, _name, _email, _membersince;
mediaDatabase * _db;
void prepareUserInfoLayout();
QHBoxLayout * prepareFavoritesLayout();
QVBoxLayout * prepareFavoriteArtistLayout();
QVBoxLayout * prepareFavoriteAlbumLayout();
QVBoxLayout * prepareFavoriteSongLayout();
};
#endif // USER_H