blob: 0d19830e82b40c01c890b90ecb8ece9397601bef (
plain) (
blame)
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
|
#include "utils.h"
#include <QDir>
#include <QDesktopServices>
int comparisonWeightsPresenceStatusType(QXmppPresence::Status::Type statusType)
{
switch(statusType)
{
case QXmppPresence::Status::Online:
case QXmppPresence::Status::Chat:
return 0;
case QXmppPresence::Status::DND:
return 1;
case QXmppPresence::Status::Away:
case QXmppPresence::Status::XA:
return 2;
case QXmppPresence::Status::Offline:
case QXmppPresence::Status::Invisible:
return 3;
}
}
int comparisonWeightsPresenceType(QXmppPresence::Type type)
{
switch(type)
{
case QXmppPresence::Available:
return 0;
case QXmppPresence::Unavailable:
return 1;
case QXmppPresence::Error:
case QXmppPresence::Subscribe:
case QXmppPresence::Subscribed:
case QXmppPresence::Unsubscribe:
case QXmppPresence::Unsubscribed:
case QXmppPresence::Probe:
return 3;
}
}
QString presenceToStatusText(const QXmppPresence& presence)
{
QString statusText = presence.getStatus().getStatusText();
if(statusText.isEmpty())
{
if(presence.getType() == QXmppPresence::Available)
{
switch(presence.getStatus().getType())
{
case QXmppPresence::Status::Invisible:
case QXmppPresence::Status::Offline:
statusText = "Offline";
break;
case QXmppPresence::Status::Online:
case QXmppPresence::Status::Chat:
statusText = "Available";
break;
case QXmppPresence::Status::Away:
case QXmppPresence::Status::XA:
statusText = "Idle";
break;
case QXmppPresence::Status::DND:
statusText = "Busy";
break;
}
}
else
statusText = "Offline";
}
return statusText;
}
QString getSettingsDir()
{
return "appCache/";
}
QString getImageHash(const QByteArray& image)
{
if(image.isEmpty())
return "";
else
return QString(QCryptographicHash::hash(image,
QCryptographicHash::Sha1).toHex());
}
QImage getImageFromByteArray(const QByteArray& image)
{
QBuffer buffer;
buffer.setData(image);
buffer.open(QIODevice::ReadOnly);
QImageReader imageReader(&buffer);
return imageReader.read();
}
QString getImageType1(const QByteArray& image)
{
QBuffer buffer;
buffer.setData(image);
buffer.open(QIODevice::ReadOnly);
QString format = QImageReader::imageFormat(&buffer);
if(format.toUpper() == "PNG")
return "image/png";
else if(format.toUpper() == "MNG")
return "video/x-mng";
else if(format.toUpper() == "GIF")
return "image/gif";
else if(format.toUpper() == "BMP")
return "image/bmp";
else if(format.toUpper() == "XPM")
return "image/x-xpm";
else if(format.toUpper() == "SVG")
return "image/svg+xml";
else if(format.toUpper() == "JPEG")
return "image/jpeg";
return "image/unknown";
}
|