-rw-r--r-- | noncore/graphics/drawpad/drawpadcanvas.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/noncore/graphics/drawpad/drawpadcanvas.cpp b/noncore/graphics/drawpad/drawpadcanvas.cpp index 3ddd7b7..58192d3 100644 --- a/noncore/graphics/drawpad/drawpadcanvas.cpp +++ b/noncore/graphics/drawpad/drawpadcanvas.cpp | |||
@@ -116,96 +116,98 @@ bool DrawPadCanvasXmlHandler::characters(const QString& ch) | |||
116 | 116 | ||
117 | if (h <= '9') { | 117 | if (h <= '9') { |
118 | r += h - '0'; | 118 | r += h - '0'; |
119 | } else { | 119 | } else { |
120 | r += h - 'a' + 10; | 120 | r += h - 'a' + 10; |
121 | } | 121 | } |
122 | 122 | ||
123 | r = r << 4; | 123 | r = r << 4; |
124 | 124 | ||
125 | if (l <= '9') { | 125 | if (l <= '9') { |
126 | r += l - '0'; | 126 | r += l - '0'; |
127 | } else { | 127 | } else { |
128 | r += l - 'a' + 10; | 128 | r += l - 'a' + 10; |
129 | } | 129 | } |
130 | 130 | ||
131 | byteArray[i] = r; | 131 | byteArray[i] = r; |
132 | } | 132 | } |
133 | 133 | ||
134 | 134 | ||
135 | QImage image; | 135 | QImage image; |
136 | 136 | ||
137 | if (m_dataFormat == "XPM") { | 137 | if (m_dataFormat == "XPM") { |
138 | if (m_dataLenght < ch.length() * 5) { | 138 | if (m_dataLenght < ch.length() * 5) { |
139 | m_dataLenght = ch.length() * 5; | 139 | m_dataLenght = ch.length() * 5; |
140 | } | 140 | } |
141 | 141 | ||
142 | QByteArray byteArrayUnzipped(m_dataLenght); | 142 | QByteArray byteArrayUnzipped(m_dataLenght); |
143 | ::uncompress((uchar*)byteArrayUnzipped.data(), &m_dataLenght, (uchar*)byteArray.data(), byteArray.size()); | 143 | ::uncompress((uchar*)byteArrayUnzipped.data(), &m_dataLenght, (uchar*)byteArray.data(), byteArray.size()); |
144 | 144 | ||
145 | image.loadFromData((const uchar*)byteArrayUnzipped.data(), m_dataLenght, m_dataFormat); | 145 | image.loadFromData((const uchar*)byteArrayUnzipped.data(), m_dataLenght, m_dataFormat); |
146 | } else { | 146 | } else { |
147 | image.loadFromData((const uchar*)byteArray.data(), m_dataLenght, m_dataFormat); | 147 | image.loadFromData((const uchar*)byteArray.data(), m_dataLenght, m_dataFormat); |
148 | } | 148 | } |
149 | 149 | ||
150 | QPixmap* pixmap = new QPixmap(image.width(), image.height()); | 150 | QPixmap* pixmap = new QPixmap(image.width(), image.height()); |
151 | pixmap->convertFromImage(image); | 151 | pixmap->convertFromImage(image); |
152 | m_pixmaps.append(pixmap); | 152 | m_pixmaps.append(pixmap); |
153 | } | 153 | } |
154 | 154 | ||
155 | return true; | 155 | return true; |
156 | } | 156 | } |
157 | 157 | ||
158 | DrawPadCanvas::DrawPadCanvas(DrawPad* drawPad, QWidget* parent, const char* name) | 158 | DrawPadCanvas::DrawPadCanvas(DrawPad* drawPad, QWidget* parent, const char* name) |
159 | : QScrollView(parent, name) | 159 | : QScrollView(parent, name) |
160 | { | 160 | { |
161 | m_pDrawPad = drawPad; | 161 | m_pDrawPad = drawPad; |
162 | m_pages.setAutoDelete(true); | 162 | m_pages.setAutoDelete(true); |
163 | m_pageBackups.setAutoDelete(true); | 163 | m_pageBackups.setAutoDelete(true); |
164 | |||
165 | viewport()->setBackgroundMode(QWidget::NoBackground); | ||
164 | } | 166 | } |
165 | 167 | ||
166 | DrawPadCanvas::~DrawPadCanvas() | 168 | DrawPadCanvas::~DrawPadCanvas() |
167 | { | 169 | { |
168 | } | 170 | } |
169 | 171 | ||
170 | void DrawPadCanvas::load(QIODevice* ioDevice) | 172 | void DrawPadCanvas::load(QIODevice* ioDevice) |
171 | { | 173 | { |
172 | QTextStream textStream(ioDevice); | 174 | QTextStream textStream(ioDevice); |
173 | textStream.setCodec(QTextCodec::codecForName("UTF-8")); | 175 | textStream.setCodec(QTextCodec::codecForName("UTF-8")); |
174 | 176 | ||
175 | QXmlInputSource xmlInputSource(textStream); | 177 | QXmlInputSource xmlInputSource(textStream); |
176 | QXmlSimpleReader xmlSimpleReader; | 178 | QXmlSimpleReader xmlSimpleReader; |
177 | DrawPadCanvasXmlHandler drawPadCanvasXmlHandler; | 179 | DrawPadCanvasXmlHandler drawPadCanvasXmlHandler; |
178 | 180 | ||
179 | xmlSimpleReader.setContentHandler(&drawPadCanvasXmlHandler); | 181 | xmlSimpleReader.setContentHandler(&drawPadCanvasXmlHandler); |
180 | xmlSimpleReader.parse(xmlInputSource); | 182 | xmlSimpleReader.parse(xmlInputSource); |
181 | 183 | ||
182 | m_pages = drawPadCanvasXmlHandler.pixmaps(); | 184 | m_pages = drawPadCanvasXmlHandler.pixmaps(); |
183 | 185 | ||
184 | if (m_pages.isEmpty()) { | 186 | if (m_pages.isEmpty()) { |
185 | m_pages.append(new QPixmap(contentsRect().size())); | 187 | m_pages.append(new QPixmap(contentsRect().size())); |
186 | m_pages.current()->fill(Qt::white); | 188 | m_pages.current()->fill(Qt::white); |
187 | } | 189 | } |
188 | 190 | ||
189 | m_pageBackups.clear(); | 191 | m_pageBackups.clear(); |
190 | m_pageBackups.append(new QPixmap(*(m_pages.current()))); | 192 | m_pageBackups.append(new QPixmap(*(m_pages.current()))); |
191 | 193 | ||
192 | resizeContents(m_pages.current()->width(), m_pages.current()->height()); | 194 | resizeContents(m_pages.current()->width(), m_pages.current()->height()); |
193 | viewport()->update(); | 195 | viewport()->update(); |
194 | 196 | ||
195 | emit pagesChanged(); | 197 | emit pagesChanged(); |
196 | emit pageBackupsChanged(); | 198 | emit pageBackupsChanged(); |
197 | } | 199 | } |
198 | 200 | ||
199 | void DrawPadCanvas::initialPage() | 201 | void DrawPadCanvas::initialPage() |
200 | { | 202 | { |
201 | m_pages.append(new QPixmap(236, 232)); | 203 | m_pages.append(new QPixmap(236, 232)); |
202 | m_pages.current()->fill(Qt::white); | 204 | m_pages.current()->fill(Qt::white); |
203 | 205 | ||
204 | m_pageBackups.clear(); | 206 | m_pageBackups.clear(); |
205 | m_pageBackups.append(new QPixmap(*(m_pages.current()))); | 207 | m_pageBackups.append(new QPixmap(*(m_pages.current()))); |
206 | 208 | ||
207 | resizeContents(m_pages.current()->width(), m_pages.current()->height()); | 209 | resizeContents(m_pages.current()->width(), m_pages.current()->height()); |
208 | viewport()->update(); | 210 | viewport()->update(); |
209 | 211 | ||
210 | emit pagesChanged(); | 212 | emit pagesChanged(); |
211 | emit pageBackupsChanged(); | 213 | emit pageBackupsChanged(); |