-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathtraktcheckin.cpp
125 lines (103 loc) · 2.39 KB
/
traktcheckin.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
125
#include "traktcheckin.h"
#include "traktids.h"
#include "traktrequest.h"
TraktCheckin::TraktCheckin(QObject *parent) :
QObject(parent),
m_shareOnFacebook(false),
m_shareOnTwitter(false),
m_shareOnTumblr(false)
{
}
TraktIds *TraktCheckin::item() const
{
return m_item;
}
void TraktCheckin::setItem(TraktIds *ids)
{
m_item = ids;
emit itemChanged();
}
bool TraktCheckin::shareOnFacebook() const
{
return m_shareOnFacebook;
}
void TraktCheckin::setShareOnFacebook(bool share)
{
m_shareOnFacebook = share;
emit shareOnFacebookChanged();
}
bool TraktCheckin::shareOnTwitter() const
{
return m_shareOnTwitter;
}
void TraktCheckin::setShareOnTwitter(bool share)
{
m_shareOnTwitter = share;
emit shareOnTwitterChanged();
}
bool TraktCheckin::shareOnTumblr() const
{
return m_shareOnTumblr;
}
void TraktCheckin::setShareOnTumblr(bool share)
{
m_shareOnTumblr = share;
emit shareOnTumblrChanged();
}
QString TraktCheckin::message() const
{
return m_message;
}
void TraktCheckin::setMessage(const QString &message)
{
m_message = message;
emit messageChanged();
}
QString TraktCheckin::appVersion() const
{
return m_appVersion;
}
void TraktCheckin::setAppVersion(const QString &appVersion)
{
m_appVersion = appVersion;
emit appVersionChanged();
}
QString TraktCheckin::appDate() const
{
return m_appDate;
}
void TraktCheckin::setAppDate(const QString &appDate)
{
m_appDate = appDate;
emit appDateChanged();
}
void TraktCheckin::checkIn()
{
QVariantMap data;
QString typeName;
if (m_item->type() == "movies") {
typeName = "movie";
} else if (m_item->type() == "episodes") {
typeName = "episode";
} else {
return;
}
QVariantMap ids;
ids.insert("trakt", m_item->trakt());
QVariantMap item;
item.insert("ids", ids);
data.insert(typeName, item);
QVariantMap sharing;
sharing.insert("facebook", m_shareOnFacebook);
sharing.insert("twitter", m_shareOnTwitter);
sharing.insert("tumblr", m_shareOnTumblr);
data.insert("sharing", sharing);
data.insert("message", m_message);
data.insert("app_version", m_appVersion);
data.insert("app_date", m_appDate);
TraktRequest *request = new TraktRequest();
request->setPath("/checkin");
request->setOperation(TraktRequest::OperationPost);
request->setData(data);
request->fire();
}