summaryrefslogtreecommitdiff
authorleseb <leseb>2002-04-07 10:50:41 (UTC)
committer leseb <leseb>2002-04-07 10:50:41 (UTC)
commitf87f79ef356475764d8b9011c3f3b467d3015426 (patch) (unidiff)
tree635aa20f8584a12ede938132c2113a7f8ed1bb1b
parent8f55b5aec83bb24ea80003f41f52794090d302fc (diff)
downloadopie-f87f79ef356475764d8b9011c3f3b467d3015426.zip
opie-f87f79ef356475764d8b9011c3f3b467d3015426.tar.gz
opie-f87f79ef356475764d8b9011c3f3b467d3015426.tar.bz2
Fix initial page size
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--apps/Applications/drawpad.desktop2
-rw-r--r--noncore/graphics/drawpad/drawpadcanvas.cpp2
2 files changed, 2 insertions, 2 deletions
diff --git a/apps/Applications/drawpad.desktop b/apps/Applications/drawpad.desktop
index 831858b..d4ba9ad 100644
--- a/apps/Applications/drawpad.desktop
+++ b/apps/Applications/drawpad.desktop
@@ -1,6 +1,6 @@
1[Desktop Entry] 1[Desktop Entry]
2Comment=A Drawing Program 2Comment=A Note Taking Program
3Exec=drawpad 3Exec=drawpad
4Icon=drawpad/DrawPad 4Icon=drawpad/DrawPad
5Type=Application 5Type=Application
6Name=DrawPad 6Name=DrawPad
diff --git a/noncore/graphics/drawpad/drawpadcanvas.cpp b/noncore/graphics/drawpad/drawpadcanvas.cpp
index 21ef15c..3ddd7b7 100644
--- a/noncore/graphics/drawpad/drawpadcanvas.cpp
+++ b/noncore/graphics/drawpad/drawpadcanvas.cpp
@@ -73,257 +73,257 @@ QList<QPixmap> DrawPadCanvasXmlHandler::pixmaps()
73} 73}
74 74
75bool DrawPadCanvasXmlHandler::startElement(const QString& namespaceURI, const QString& localName, 75bool DrawPadCanvasXmlHandler::startElement(const QString& namespaceURI, const QString& localName,
76 const QString& qName, const QXmlAttributes& atts) 76 const QString& qName, const QXmlAttributes& atts)
77{ 77{
78 Q_CONST_UNUSED(namespaceURI) 78 Q_CONST_UNUSED(namespaceURI)
79 Q_CONST_UNUSED(localName) 79 Q_CONST_UNUSED(localName)
80 80
81 if (qName.compare("data") == 0) { 81 if (qName.compare("data") == 0) {
82 m_state = InData; 82 m_state = InData;
83 m_dataLenght = atts.value("length").toULong(); 83 m_dataLenght = atts.value("length").toULong();
84 m_dataFormat = atts.value("format"); 84 m_dataFormat = atts.value("format");
85 85
86 if (m_dataFormat.isEmpty()) { 86 if (m_dataFormat.isEmpty()) {
87 m_dataFormat = "XPM"; 87 m_dataFormat = "XPM";
88 } 88 }
89 } 89 }
90 90
91 return true; 91 return true;
92} 92}
93 93
94bool DrawPadCanvasXmlHandler::endElement(const QString& namespaceURI, const QString& localName, 94bool DrawPadCanvasXmlHandler::endElement(const QString& namespaceURI, const QString& localName,
95 const QString& qName) 95 const QString& qName)
96{ 96{
97 Q_CONST_UNUSED(namespaceURI) 97 Q_CONST_UNUSED(namespaceURI)
98 Q_CONST_UNUSED(localName) 98 Q_CONST_UNUSED(localName)
99 99
100 if (qName.compare("data") == 0) { 100 if (qName.compare("data") == 0) {
101 m_state = Unknown; 101 m_state = Unknown;
102 } 102 }
103 103
104 return true; 104 return true;
105} 105}
106 106
107bool DrawPadCanvasXmlHandler::characters(const QString& ch) 107bool DrawPadCanvasXmlHandler::characters(const QString& ch)
108{ 108{
109 if (m_state == InData) { 109 if (m_state == InData) {
110 QByteArray byteArray(ch.length() / 2); 110 QByteArray byteArray(ch.length() / 2);
111 111
112 for (int i = 0; i < (int)ch.length() / 2; i++) { 112 for (int i = 0; i < (int)ch.length() / 2; i++) {
113 char h = ch[2 * i].latin1(); 113 char h = ch[2 * i].latin1();
114 char l = ch[2 * i + 1].latin1(); 114 char l = ch[2 * i + 1].latin1();
115 uchar r = 0; 115 uchar r = 0;
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
158DrawPadCanvas::DrawPadCanvas(DrawPad* drawPad, QWidget* parent, const char* name) 158DrawPadCanvas::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} 164}
165 165
166DrawPadCanvas::~DrawPadCanvas() 166DrawPadCanvas::~DrawPadCanvas()
167{ 167{
168} 168}
169 169
170void DrawPadCanvas::load(QIODevice* ioDevice) 170void DrawPadCanvas::load(QIODevice* ioDevice)
171{ 171{
172 QTextStream textStream(ioDevice); 172 QTextStream textStream(ioDevice);
173 textStream.setCodec(QTextCodec::codecForName("UTF-8")); 173 textStream.setCodec(QTextCodec::codecForName("UTF-8"));
174 174
175 QXmlInputSource xmlInputSource(textStream); 175 QXmlInputSource xmlInputSource(textStream);
176 QXmlSimpleReader xmlSimpleReader; 176 QXmlSimpleReader xmlSimpleReader;
177 DrawPadCanvasXmlHandler drawPadCanvasXmlHandler; 177 DrawPadCanvasXmlHandler drawPadCanvasXmlHandler;
178 178
179 xmlSimpleReader.setContentHandler(&drawPadCanvasXmlHandler); 179 xmlSimpleReader.setContentHandler(&drawPadCanvasXmlHandler);
180 xmlSimpleReader.parse(xmlInputSource); 180 xmlSimpleReader.parse(xmlInputSource);
181 181
182 m_pages = drawPadCanvasXmlHandler.pixmaps(); 182 m_pages = drawPadCanvasXmlHandler.pixmaps();
183 183
184 if (m_pages.isEmpty()) { 184 if (m_pages.isEmpty()) {
185 m_pages.append(new QPixmap(contentsRect().size())); 185 m_pages.append(new QPixmap(contentsRect().size()));
186 m_pages.current()->fill(Qt::white); 186 m_pages.current()->fill(Qt::white);
187 } 187 }
188 188
189 m_pageBackups.clear(); 189 m_pageBackups.clear();
190 m_pageBackups.append(new QPixmap(*(m_pages.current()))); 190 m_pageBackups.append(new QPixmap(*(m_pages.current())));
191 191
192 resizeContents(m_pages.current()->width(), m_pages.current()->height()); 192 resizeContents(m_pages.current()->width(), m_pages.current()->height());
193 viewport()->update(); 193 viewport()->update();
194 194
195 emit pagesChanged(); 195 emit pagesChanged();
196 emit pageBackupsChanged(); 196 emit pageBackupsChanged();
197} 197}
198 198
199void DrawPadCanvas::initialPage() 199void DrawPadCanvas::initialPage()
200{ 200{
201 m_pages.append(new QPixmap(234, 233)); 201 m_pages.append(new QPixmap(236, 232));
202 m_pages.current()->fill(Qt::white); 202 m_pages.current()->fill(Qt::white);
203 203
204 m_pageBackups.clear(); 204 m_pageBackups.clear();
205 m_pageBackups.append(new QPixmap(*(m_pages.current()))); 205 m_pageBackups.append(new QPixmap(*(m_pages.current())));
206 206
207 resizeContents(m_pages.current()->width(), m_pages.current()->height()); 207 resizeContents(m_pages.current()->width(), m_pages.current()->height());
208 viewport()->update(); 208 viewport()->update();
209 209
210 emit pagesChanged(); 210 emit pagesChanged();
211 emit pageBackupsChanged(); 211 emit pageBackupsChanged();
212} 212}
213 213
214void DrawPadCanvas::save(QIODevice* ioDevice) 214void DrawPadCanvas::save(QIODevice* ioDevice)
215{ 215{
216 QTextStream textStream(ioDevice); 216 QTextStream textStream(ioDevice);
217 textStream.setCodec(QTextCodec::codecForName("UTF-8")); 217 textStream.setCodec(QTextCodec::codecForName("UTF-8"));
218 218
219 textStream << "<drawpad>" << endl; 219 textStream << "<drawpad>" << endl;
220 textStream << " <images>" << endl; 220 textStream << " <images>" << endl;
221 221
222 QListIterator<QPixmap> bufferIterator(m_pages); 222 QListIterator<QPixmap> bufferIterator(m_pages);
223 223
224 for (bufferIterator.toFirst(); bufferIterator.current() != 0; ++bufferIterator) { 224 for (bufferIterator.toFirst(); bufferIterator.current() != 0; ++bufferIterator) {
225 textStream << " <image>" << endl; 225 textStream << " <image>" << endl;
226 226
227 QImage image = bufferIterator.current()->convertToImage(); 227 QImage image = bufferIterator.current()->convertToImage();
228 QByteArray byteArray; 228 QByteArray byteArray;
229 QBuffer buffer(byteArray); 229 QBuffer buffer(byteArray);
230 QImageIO imageIO(&buffer, "PNG"); 230 QImageIO imageIO(&buffer, "PNG");
231 231
232 buffer.open(IO_WriteOnly); 232 buffer.open(IO_WriteOnly);
233 imageIO.setImage(image); 233 imageIO.setImage(image);
234 imageIO.write(); 234 imageIO.write();
235 buffer.close(); 235 buffer.close();
236 236
237 textStream << " <data length=\"" << byteArray.size() << "\" format=\"PNG\">"; 237 textStream << " <data length=\"" << byteArray.size() << "\" format=\"PNG\">";
238 238
239 static const char hexchars[] = "0123456789abcdef"; 239 static const char hexchars[] = "0123456789abcdef";
240 240
241 for (int i = 0; i < (int)byteArray.size(); i++ ) { 241 for (int i = 0; i < (int)byteArray.size(); i++ ) {
242 uchar s = (uchar)byteArray[i]; 242 uchar s = (uchar)byteArray[i];
243 textStream << hexchars[s >> 4]; 243 textStream << hexchars[s >> 4];
244 textStream << hexchars[s & 0x0f]; 244 textStream << hexchars[s & 0x0f];
245 } 245 }
246 246
247 textStream << "</data>" << endl; 247 textStream << "</data>" << endl;
248 textStream << " </image>" << endl; 248 textStream << " </image>" << endl;
249 } 249 }
250 250
251 textStream << " </images>" << endl; 251 textStream << " </images>" << endl;
252 textStream << "</drawpad>"; 252 textStream << "</drawpad>";
253} 253}
254 254
255void DrawPadCanvas::importPage(const QString& fileName) 255void DrawPadCanvas::importPage(const QString& fileName)
256{ 256{
257 QPixmap* importedPixmap = new QPixmap(); 257 QPixmap* importedPixmap = new QPixmap();
258 258
259 importedPixmap->load(fileName); 259 importedPixmap->load(fileName);
260 m_pages.insert(m_pages.at() + 1, importedPixmap); 260 m_pages.insert(m_pages.at() + 1, importedPixmap);
261 261
262 m_pageBackups.clear(); 262 m_pageBackups.clear();
263 m_pageBackups.append(new QPixmap(*(m_pages.current()))); 263 m_pageBackups.append(new QPixmap(*(m_pages.current())));
264 264
265 resizeContents(m_pages.current()->width(), m_pages.current()->height()); 265 resizeContents(m_pages.current()->width(), m_pages.current()->height());
266 viewport()->update(); 266 viewport()->update();
267 267
268 emit pagesChanged(); 268 emit pagesChanged();
269 emit pageBackupsChanged(); 269 emit pageBackupsChanged();
270} 270}
271 271
272void DrawPadCanvas::exportPage(uint fromPage, uint toPage, const QString& name,const QString& format) 272void DrawPadCanvas::exportPage(uint fromPage, uint toPage, const QString& name,const QString& format)
273{ 273{
274 if (fromPage == toPage) { 274 if (fromPage == toPage) {
275 DocLnk docLnk; 275 DocLnk docLnk;
276 MimeType mimeType(format); 276 MimeType mimeType(format);
277 277
278 docLnk.setName(name); 278 docLnk.setName(name);
279 docLnk.setType(mimeType.id()); 279 docLnk.setType(mimeType.id());
280 280
281 FileManager fileManager; 281 FileManager fileManager;
282 QIODevice* ioDevice = fileManager.saveFile(docLnk); 282 QIODevice* ioDevice = fileManager.saveFile(docLnk);
283 QImageIO imageIO(ioDevice, format); 283 QImageIO imageIO(ioDevice, format);
284 284
285 QImage image = m_pages.current()->convertToImage(); 285 QImage image = m_pages.current()->convertToImage();
286 imageIO.setImage(image); 286 imageIO.setImage(image);
287 imageIO.write(); 287 imageIO.write();
288 delete ioDevice; 288 delete ioDevice;
289 } else { 289 } else {
290 for (uint i = fromPage; i <= toPage; i++) { 290 for (uint i = fromPage; i <= toPage; i++) {
291 DocLnk docLnk; 291 DocLnk docLnk;
292 MimeType mimeType(format); 292 MimeType mimeType(format);
293 293
294 docLnk.setName(name + QString::number(i)); 294 docLnk.setName(name + QString::number(i));
295 docLnk.setType(mimeType.id()); 295 docLnk.setType(mimeType.id());
296 296
297 FileManager fileManager; 297 FileManager fileManager;
298 QIODevice* ioDevice = fileManager.saveFile(docLnk); 298 QIODevice* ioDevice = fileManager.saveFile(docLnk);
299 QImageIO imageIO(ioDevice, format); 299 QImageIO imageIO(ioDevice, format);
300 300
301 QImage image = m_pages.at(i - 1)->convertToImage(); 301 QImage image = m_pages.at(i - 1)->convertToImage();
302 imageIO.setImage(image); 302 imageIO.setImage(image);
303 imageIO.write(); 303 imageIO.write();
304 delete ioDevice; 304 delete ioDevice;
305 } 305 }
306 } 306 }
307} 307}
308 308
309QPixmap* DrawPadCanvas::currentPage() 309QPixmap* DrawPadCanvas::currentPage()
310{ 310{
311 return m_pages.current(); 311 return m_pages.current();
312} 312}
313 313
314uint DrawPadCanvas::pagePosition() 314uint DrawPadCanvas::pagePosition()
315{ 315{
316 return (m_pages.at() + 1); 316 return (m_pages.at() + 1);
317} 317}
318 318
319uint DrawPadCanvas::pageCount() 319uint DrawPadCanvas::pageCount()
320{ 320{
321 return m_pages.count(); 321 return m_pages.count();
322} 322}
323 323
324void DrawPadCanvas::deleteAll() 324void DrawPadCanvas::deleteAll()
325{ 325{
326 QMessageBox messageBox(tr("Delete All"), tr("Do you want to delete\nall the pages?"), 326 QMessageBox messageBox(tr("Delete All"), tr("Do you want to delete\nall the pages?"),
327 QMessageBox::Information, QMessageBox::Yes, 327 QMessageBox::Information, QMessageBox::Yes,
328 QMessageBox::No | QMessageBox::Escape | QMessageBox::Default, 328 QMessageBox::No | QMessageBox::Escape | QMessageBox::Default,
329 QMessageBox::NoButton, this); 329 QMessageBox::NoButton, this);