-rw-r--r-- | noncore/graphics/drawpad/drawpadcanvas.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/noncore/graphics/drawpad/drawpadcanvas.cpp b/noncore/graphics/drawpad/drawpadcanvas.cpp index 49a8cf0..40c27b5 100644 --- a/noncore/graphics/drawpad/drawpadcanvas.cpp +++ b/noncore/graphics/drawpad/drawpadcanvas.cpp | |||
@@ -136,97 +136,97 @@ bool DrawPadCanvasXmlHandler::characters(const QString& ch) | |||
136 | } | 136 | } |
137 | 137 | ||
138 | return true; | 138 | return true; |
139 | } | 139 | } |
140 | 140 | ||
141 | DrawPadCanvas::DrawPadCanvas(DrawPad* drawPad, QWidget* parent, const char* name) | 141 | DrawPadCanvas::DrawPadCanvas(DrawPad* drawPad, QWidget* parent, const char* name) |
142 | : QScrollView(parent, name) | 142 | : QScrollView(parent, name) |
143 | { | 143 | { |
144 | m_pDrawPad = drawPad; | 144 | m_pDrawPad = drawPad; |
145 | m_pages.setAutoDelete(true); | 145 | m_pages.setAutoDelete(true); |
146 | m_pageBackups.setAutoDelete(true); | 146 | m_pageBackups.setAutoDelete(true); |
147 | } | 147 | } |
148 | 148 | ||
149 | DrawPadCanvas::~DrawPadCanvas() | 149 | DrawPadCanvas::~DrawPadCanvas() |
150 | { | 150 | { |
151 | } | 151 | } |
152 | 152 | ||
153 | void DrawPadCanvas::load(QIODevice* ioDevice) | 153 | void DrawPadCanvas::load(QIODevice* ioDevice) |
154 | { | 154 | { |
155 | QTextStream textStream(ioDevice); | 155 | QTextStream textStream(ioDevice); |
156 | textStream.setCodec(QTextCodec::codecForName("UTF-8")); | 156 | textStream.setCodec(QTextCodec::codecForName("UTF-8")); |
157 | 157 | ||
158 | QXmlInputSource xmlInputSource(textStream); | 158 | QXmlInputSource xmlInputSource(textStream); |
159 | QXmlSimpleReader xmlSimpleReader; | 159 | QXmlSimpleReader xmlSimpleReader; |
160 | DrawPadCanvasXmlHandler drawPadCanvasXmlHandler; | 160 | DrawPadCanvasXmlHandler drawPadCanvasXmlHandler; |
161 | 161 | ||
162 | xmlSimpleReader.setContentHandler(&drawPadCanvasXmlHandler); | 162 | xmlSimpleReader.setContentHandler(&drawPadCanvasXmlHandler); |
163 | xmlSimpleReader.parse(xmlInputSource); | 163 | xmlSimpleReader.parse(xmlInputSource); |
164 | 164 | ||
165 | m_pages = drawPadCanvasXmlHandler.pixmaps(); | 165 | m_pages = drawPadCanvasXmlHandler.pixmaps(); |
166 | 166 | ||
167 | if (m_pages.isEmpty()) { | 167 | if (m_pages.isEmpty()) { |
168 | m_pages.append(new QPixmap(contentsRect().size())); | 168 | m_pages.append(new QPixmap(contentsRect().size())); |
169 | m_pages.current()->fill(Qt::white); | 169 | m_pages.current()->fill(Qt::white); |
170 | } | 170 | } |
171 | 171 | ||
172 | m_pageBackups.clear(); | 172 | m_pageBackups.clear(); |
173 | m_pageBackups.append(new QPixmap(*(m_pages.current()))); | 173 | m_pageBackups.append(new QPixmap(*(m_pages.current()))); |
174 | 174 | ||
175 | resizeContents(m_pages.current()->width(), m_pages.current()->height()); | 175 | resizeContents(m_pages.current()->width(), m_pages.current()->height()); |
176 | viewport()->update(); | 176 | viewport()->update(); |
177 | 177 | ||
178 | emit pagesChanged(); | 178 | emit pagesChanged(); |
179 | emit pageBackupsChanged(); | 179 | emit pageBackupsChanged(); |
180 | } | 180 | } |
181 | 181 | ||
182 | void DrawPadCanvas::initialPage() | 182 | void DrawPadCanvas::initialPage() |
183 | { | 183 | { |
184 | m_pages.append(new QPixmap(234, 252)); | 184 | m_pages.append(new QPixmap(234, 233)); |
185 | m_pages.current()->fill(Qt::white); | 185 | m_pages.current()->fill(Qt::white); |
186 | 186 | ||
187 | m_pageBackups.clear(); | 187 | m_pageBackups.clear(); |
188 | m_pageBackups.append(new QPixmap(*(m_pages.current()))); | 188 | m_pageBackups.append(new QPixmap(*(m_pages.current()))); |
189 | 189 | ||
190 | resizeContents(m_pages.current()->width(), m_pages.current()->height()); | 190 | resizeContents(m_pages.current()->width(), m_pages.current()->height()); |
191 | viewport()->update(); | 191 | viewport()->update(); |
192 | 192 | ||
193 | emit pagesChanged(); | 193 | emit pagesChanged(); |
194 | emit pageBackupsChanged(); | 194 | emit pageBackupsChanged(); |
195 | } | 195 | } |
196 | 196 | ||
197 | void DrawPadCanvas::save(QIODevice* ioDevice) | 197 | void DrawPadCanvas::save(QIODevice* ioDevice) |
198 | { | 198 | { |
199 | QTextStream textStream(ioDevice); | 199 | QTextStream textStream(ioDevice); |
200 | textStream.setCodec(QTextCodec::codecForName("UTF-8")); | 200 | textStream.setCodec(QTextCodec::codecForName("UTF-8")); |
201 | 201 | ||
202 | textStream << "<drawpad>" << endl; | 202 | textStream << "<drawpad>" << endl; |
203 | textStream << " <images>" << endl; | 203 | textStream << " <images>" << endl; |
204 | 204 | ||
205 | QListIterator<QPixmap> bufferIterator(m_pages); | 205 | QListIterator<QPixmap> bufferIterator(m_pages); |
206 | 206 | ||
207 | for (bufferIterator.toFirst(); bufferIterator.current() != 0; ++bufferIterator) { | 207 | for (bufferIterator.toFirst(); bufferIterator.current() != 0; ++bufferIterator) { |
208 | textStream << " <image>" << endl; | 208 | textStream << " <image>" << endl; |
209 | 209 | ||
210 | QImage image = bufferIterator.current()->convertToImage(); | 210 | QImage image = bufferIterator.current()->convertToImage(); |
211 | QByteArray byteArray; | 211 | QByteArray byteArray; |
212 | QBuffer buffer(byteArray); | 212 | QBuffer buffer(byteArray); |
213 | QImageIO imageIO(&buffer, "XPM"); | 213 | QImageIO imageIO(&buffer, "XPM"); |
214 | 214 | ||
215 | buffer.open(IO_WriteOnly); | 215 | buffer.open(IO_WriteOnly); |
216 | imageIO.setImage(image); | 216 | imageIO.setImage(image); |
217 | imageIO.write(); | 217 | imageIO.write(); |
218 | buffer.close(); | 218 | buffer.close(); |
219 | 219 | ||
220 | ulong size = byteArray.size() * 2; | 220 | ulong size = byteArray.size() * 2; |
221 | QByteArray byteArrayZipped(size); | 221 | QByteArray byteArrayZipped(size); |
222 | ::compress((uchar*)byteArrayZipped.data(), &size, (uchar*)byteArray.data(), byteArray.size()); | 222 | ::compress((uchar*)byteArrayZipped.data(), &size, (uchar*)byteArray.data(), byteArray.size()); |
223 | 223 | ||
224 | textStream << " <data length=\"" << byteArray.size() << "\">"; | 224 | textStream << " <data length=\"" << byteArray.size() << "\">"; |
225 | 225 | ||
226 | static const char hexchars[] = "0123456789abcdef"; | 226 | static const char hexchars[] = "0123456789abcdef"; |
227 | 227 | ||
228 | for (int i = 0; i < (int)size; i++ ) { | 228 | for (int i = 0; i < (int)size; i++ ) { |
229 | uchar s = (uchar)byteArrayZipped[i]; | 229 | uchar s = (uchar)byteArrayZipped[i]; |
230 | textStream << hexchars[s >> 4]; | 230 | textStream << hexchars[s >> 4]; |
231 | textStream << hexchars[s & 0x0f]; | 231 | textStream << hexchars[s & 0x0f]; |
232 | } | 232 | } |