OpenCoverage

qtextdocumentwriter.cpp

Absolute File Name:/home/qt/qt5_coco/qt5/qtbase/src/gui/text/qtextdocumentwriter.cpp
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6-
7-
8class QTextDocumentWriterPrivate-
9{-
10public:-
11 QTextDocumentWriterPrivate(QTextDocumentWriter* qq);-
12-
13-
14 QByteArray format;-
15 QIODevice *device;-
16 bool deleteDevice;-
17-
18 QTextCodec *codec;-
19-
20-
21 QTextDocumentWriter *q;-
22};-
23QTextDocumentWriterPrivate::QTextDocumentWriterPrivate(QTextDocumentWriter *qq)-
24 : device(0),-
25 deleteDevice(false),-
26-
27 codec(QTextCodec::codecForName("utf-8")),-
28-
29 q(qq)-
30{-
31}
never executed: end of block
0
32-
33-
34-
35-
36-
37-
38QTextDocumentWriter::QTextDocumentWriter()-
39 : d(new QTextDocumentWriterPrivate(this))-
40{-
41}
never executed: end of block
0
42-
43-
44-
45-
46-
47QTextDocumentWriter::QTextDocumentWriter(QIODevice *device, const QByteArray &format)-
48 : d(new QTextDocumentWriterPrivate(this))-
49{-
50 d->device = device;-
51 d->format = format;-
52}
never executed: end of block
0
53-
54-
55-
56-
57-
58-
59-
60QTextDocumentWriter::QTextDocumentWriter(const QString &fileName, const QByteArray &format)-
61 : d(new QTextDocumentWriterPrivate(this))-
62{-
63 QFile *file = new QFile(fileName);-
64 d->device = file;-
65 d->deleteDevice = true;-
66 d->format = format;-
67}
never executed: end of block
0
68-
69-
70-
71-
72QTextDocumentWriter::~QTextDocumentWriter()-
73{-
74 if (d->deleteDevice
d->deleteDeviceDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
75 delete d->device;
never executed: delete d->device;
0
76 delete d;-
77}
never executed: end of block
0
78void QTextDocumentWriter::setFormat (const QByteArray &format)-
79{-
80 d->format = format;-
81}
never executed: end of block
0
82-
83-
84-
85-
86-
87-
88QByteArray QTextDocumentWriter::format () const-
89{-
90 return
never executed: return d->format;
d->format;
never executed: return d->format;
0
91}-
92void QTextDocumentWriter::setDevice (QIODevice *device)-
93{-
94 if (d->device
d->deviceDescription
TRUEnever evaluated
FALSEnever evaluated
&& d->deleteDevice
d->deleteDeviceDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
95 delete d->device;
never executed: delete d->device;
0
96-
97 d->device = device;-
98 d->deleteDevice = false;-
99}
never executed: end of block
0
100-
101-
102-
103-
104-
105QIODevice *QTextDocumentWriter::device () const-
106{-
107 return
never executed: return d->device;
d->device;
never executed: return d->device;
0
108}-
109void QTextDocumentWriter::setFileName (const QString &fileName)-
110{-
111 setDevice(new QFile(fileName));-
112 d->deleteDevice = true;-
113}
never executed: end of block
0
114QString QTextDocumentWriter::fileName () const-
115{-
116 QFile *file = qobject_cast<QFile *>(d->device);-
117 return
never executed: return file ? file->fileName() : QString();
file ? file->fileName() : QString();
never executed: return file ? file->fileName() : QString();
0
118}-
119-
120-
121-
122-
123-
124bool QTextDocumentWriter::write(const QTextDocument *document)-
125{-
126 QByteArray suffix;-
127-
128 if (d->device
d->deviceDescription
TRUEnever evaluated
FALSEnever evaluated
&& d->format.isEmpty()
d->format.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
129-
130-
131 if (QFile *file = qobject_cast<QFile *>(d->device)
QFile *file = ... *>(d->device)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
132 suffix = QFileInfo(file->fileName()).suffix().toLower().toLatin1();
never executed: suffix = QFileInfo(file->fileName()).suffix().toLower().toLatin1();
0
133 }
never executed: end of block
0
134-
135 QByteArray format = !d->format.isEmpty()
!d->format.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
? d->format.toLower() : suffix;
0
136-
137-
138 if (format == "odf"
format == "odf"Description
TRUEnever evaluated
FALSEnever evaluated
|| format == "opendocumentformat"
format == "opendocumentformat"Description
TRUEnever evaluated
FALSEnever evaluated
|| format == "odt"
format == "odt"Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
139 QTextOdfWriter writer(*document, d->device);-
140-
141 writer.setCodec(d->codec);-
142-
143 return
never executed: return writer.writeAll();
writer.writeAll();
never executed: return writer.writeAll();
0
144 }-
145-
146-
147-
148 if (format == "html"
format == "html"Description
TRUEnever evaluated
FALSEnever evaluated
|| format == "htm"
format == "htm"Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
149 if (!d->device->isWritable()
!d->device->isWritable()Description
TRUEnever evaluated
FALSEnever evaluated
&& ! d->device->open(QIODevice::WriteOnly)
! d->device->o...ce::WriteOnly)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
150 QMessageLogger(__FILE__, 274, __PRETTY_FUNCTION__).warning("QTextDocumentWriter::write: the device can not be opened for writing");-
151 return
never executed: return false;
false;
never executed: return false;
0
152 }-
153 QTextStream ts(d->device);-
154-
155 ts.setCodec(d->codec);-
156 ts << document->toHtml(d->codec->name());-
157-
158 d->device->close();-
159 return
never executed: return true;
true;
never executed: return true;
0
160 }-
161-
162 if (format == "txt"
format == "txt"Description
TRUEnever evaluated
FALSEnever evaluated
|| format == "plaintext"
format == "plaintext"Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
163 if (!d->device->isWritable()
!d->device->isWritable()Description
TRUEnever evaluated
FALSEnever evaluated
&& ! d->device->open(QIODevice::WriteOnly)
! d->device->o...ce::WriteOnly)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
164 QMessageLogger(__FILE__, 288, __PRETTY_FUNCTION__).warning("QTextDocumentWriter::write: the device can not be opened for writing");-
165 return
never executed: return false;
false;
never executed: return false;
0
166 }-
167 QTextStream ts(d->device);-
168-
169 ts.setCodec(d->codec);-
170-
171 ts << document->toPlainText();-
172 d->device->close();-
173 return
never executed: return true;
true;
never executed: return true;
0
174 }-
175-
176 return
never executed: return false;
false;
never executed: return false;
0
177}-
178-
179-
180-
181-
182-
183bool QTextDocumentWriter::write(const QTextDocumentFragment &fragment)-
184{-
185 if (fragment.d == 0
fragment.d == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
186 return
never executed: return false;
false;
never executed: return false;
0
187 QTextDocument *doc = fragment.d->doc;-
188 if (doc
docDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
189 return
never executed: return write(doc);
write(doc);
never executed: return write(doc);
0
190 return
never executed: return false;
false;
never executed: return false;
0
191}-
192void QTextDocumentWriter::setCodec(QTextCodec *codec)-
193{-
194 if (codec == 0
codec == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
195 codec = QTextCodec::codecForName("UTF-8");
never executed: codec = QTextCodec::codecForName("UTF-8");
0
196 ((!(codec)) ? qt_assert("codec",__FILE__,328) : qt_noop());-
197 d->codec = codec;-
198}
never executed: end of block
0
199-
200-
201-
202-
203-
204-
205QTextCodec *QTextDocumentWriter::codec() const-
206{-
207 return
never executed: return d->codec;
d->codec;
never executed: return d->codec;
0
208}-
209QList<QByteArray> QTextDocumentWriter::supportedDocumentFormats()-
210{-
211 QList<QByteArray> answer;-
212 answer << "plaintext";-
213-
214-
215 answer << "HTML";-
216-
217-
218 answer << "ODF";-
219-
220-
221 std::sort(answer.begin(), answer.end());-
222 return
never executed: return answer;
answer;
never executed: return answer;
0
223}-
224-
225-
Switch to Source codePreprocessed file

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