qdbustraytypes.cpp

Absolute File Name:/home/qt/qt5_coco/qt5/qtbase/src/platformsupport/dbustray/qdbustraytypes.cpp
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5static const int IconSizeLimit = 64;-
6static const int IconNormalSmallSize = 22;-
7static const int IconNormalMediumSize = 64;-
8-
9QXdgDBusImageVector iconToQXdgDBusImageVector(const QIcon &icon)-
10{-
11 QXdgDBusImageVector ret;-
12 QList<QSize> sizes = icon.availableSizes();-
13-
14-
15-
16-
17 bool hasSmallIcon = false;-
18 bool hasMediumIcon = false;-
19 qreal dpr = (static_cast<QGuiApplication *>(QCoreApplication::instance()))->devicePixelRatio();-
20 QList<QSize> toRemove;-
21 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(sizes)>::type> _container_((sizes)); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (const QSize &size = *_container_.i; _container_.control; _container_.control = 0) {-
22 int maxSize = qMax(size.width(), size.height());-
23 if (maxSize <= IconNormalSmallSize * dpr
maxSize <= Ico...mallSize * dprDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
24 hasSmallIcon = true;
never executed: hasSmallIcon = true;
0
25 else if (maxSize <= IconNormalMediumSize * dpr
maxSize <= Ico...diumSize * dprDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
26 hasMediumIcon = true;
never executed: hasMediumIcon = true;
0
27 else if (maxSize > IconSizeLimit * dpr
maxSize > IconSizeLimit * dprDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
28 toRemove << size;
never executed: toRemove << size;
0
29 }
never executed: end of block
0
30 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(toRemove)>::type> _container_((toRemove)); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (const QSize &size = *_container_.i; _container_.control; _container_.control = 0)-
31 sizes.removeOne(size);
never executed: sizes.removeOne(size);
0
32 if (!hasSmallIcon
!hasSmallIconDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
33 sizes.append(QSize(IconNormalSmallSize * dpr, IconNormalSmallSize * dpr));
never executed: sizes.append(QSize(IconNormalSmallSize * dpr, IconNormalSmallSize * dpr));
0
34 if (!hasMediumIcon
!hasMediumIconDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
35 sizes.append(QSize(IconNormalMediumSize * dpr, IconNormalMediumSize * dpr));
never executed: sizes.append(QSize(IconNormalMediumSize * dpr, IconNormalMediumSize * dpr));
0
36-
37 ret.reserve(sizes.size());-
38 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(sizes)>::type> _container_((sizes)); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QSize size = *_container_.i; _container_.control; _container_.control = 0) {-
39-
40 QImage im = icon.pixmap(size).toImage().convertToFormat(QImage::Format_ARGB32);-
41-
42 if (im.height() != im.width()
im.height() != im.width()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
43 int maxSize = qMax(im.width(), im.height());-
44 QImage padded(maxSize, maxSize, QImage::Format_ARGB32);-
45 padded.fill(Qt::transparent);-
46 QPainter painter(&padded);-
47 painter.drawImage((maxSize - im.width()) / 2, (maxSize - im.height()) / 2, im);-
48 im = padded;-
49 }
never executed: end of block
0
50-
51 QXdgDBusImageStruct kim(im.width(), im.height());-
52 const uchar *end = im.constBits() + im.byteCount();-
53 uchar *dest = reinterpret_cast<uchar *>(kim.data.data());-
54 for (const uchar *src = im.constBits(); src < end
src < endDescription
TRUEnever evaluated
FALSEnever evaluated
; src += 4, dest += 4)
0
55 qToUnaligned(qToBigEndian<quint32>(qFromUnaligned<quint32>(src)), dest);
never executed: qToUnaligned(qToBigEndian<quint32>(qFromUnaligned<quint32>(src)), dest);
0
56-
57 ret << kim;-
58 }
never executed: end of block
0
59 return
never executed: return ret;
ret;
never executed: return ret;
0
60}-
61-
62-
63const QDBusArgument &operator<<(QDBusArgument &argument, const QXdgDBusImageStruct &icon)-
64{-
65 argument.beginStructure();-
66 argument << icon.width;-
67 argument << icon.height;-
68 argument << icon.data;-
69 argument.endStructure();-
70 return
never executed: return argument;
argument;
never executed: return argument;
0
71}-
72-
73-
74const QDBusArgument &operator>>(const QDBusArgument &argument, QXdgDBusImageStruct &icon)-
75{-
76 qint32 width;-
77 qint32 height;-
78 QByteArray data;-
79-
80 argument.beginStructure();-
81 argument >> width;-
82 argument >> height;-
83 argument >> data;-
84 argument.endStructure();-
85-
86 icon.width = width;-
87 icon.height = height;-
88 icon.data = data;-
89-
90 return
never executed: return argument;
argument;
never executed: return argument;
0
91}-
92-
93-
94const QDBusArgument &operator<<(QDBusArgument &argument, const QXdgDBusImageVector &iconVector)-
95{-
96 argument.beginArray(qMetaTypeId<QXdgDBusImageStruct>());-
97 for (int i = 0; i < iconVector.size()
i < iconVector.size()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
98 argument << iconVector[i];-
99 }
never executed: end of block
0
100 argument.endArray();-
101 return
never executed: return argument;
argument;
never executed: return argument;
0
102}-
103-
104-
105const QDBusArgument &operator>>(const QDBusArgument &argument, QXdgDBusImageVector &iconVector)-
106{-
107 argument.beginArray();-
108 iconVector.clear();-
109-
110 while (!argument.atEnd()
!argument.atEnd()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
111 QXdgDBusImageStruct element;-
112 argument >> element;-
113 iconVector.append(element);-
114 }
never executed: end of block
0
115-
116 argument.endArray();-
117-
118 return
never executed: return argument;
argument;
never executed: return argument;
0
119}-
120-
121-
122const QDBusArgument &operator<<(QDBusArgument &argument, const QXdgDBusToolTipStruct &toolTip)-
123{-
124 argument.beginStructure();-
125 argument << toolTip.icon;-
126 argument << toolTip.image;-
127 argument << toolTip.title;-
128 argument << toolTip.subTitle;-
129 argument.endStructure();-
130 return
never executed: return argument;
argument;
never executed: return argument;
0
131}-
132-
133-
134const QDBusArgument &operator>>(const QDBusArgument &argument, QXdgDBusToolTipStruct &toolTip)-
135{-
136 QString icon;-
137 QXdgDBusImageVector image;-
138 QString title;-
139 QString subTitle;-
140-
141 argument.beginStructure();-
142 argument >> icon;-
143 argument >> image;-
144 argument >> title;-
145 argument >> subTitle;-
146 argument.endStructure();-
147-
148 toolTip.icon = icon;-
149 toolTip.image = image;-
150 toolTip.title = title;-
151 toolTip.subTitle = subTitle;-
152-
153 return
never executed: return argument;
argument;
never executed: return argument;
0
154}-
155-
156-
Switch to Source codePreprocessed file

Generated by Squish Coco Non-Commercial 4.3.0-BETA-master-30-08-2018-4cb69e9