summaryrefslogtreecommitdiff
path: root/noncore/graphics
Unidiff
Diffstat (limited to 'noncore/graphics') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/graphics/drawpad/drawpad.pro3
-rw-r--r--noncore/graphics/drawpad/drawpadcanvas.cpp21
2 files changed, 2 insertions, 22 deletions
diff --git a/noncore/graphics/drawpad/drawpad.pro b/noncore/graphics/drawpad/drawpad.pro
index 6bea193..8f70cc6 100644
--- a/noncore/graphics/drawpad/drawpad.pro
+++ b/noncore/graphics/drawpad/drawpad.pro
@@ -30,26 +30,25 @@ SOURCES = drawpad.cpp \
30 importdialog.cpp \ 30 importdialog.cpp \
31 linetool.cpp \ 31 linetool.cpp \
32 main.cpp \ 32 main.cpp \
33 newpagedialog.cpp \ 33 newpagedialog.cpp \
34 page.cpp \ 34 page.cpp \
35 pageinformationdialog.cpp \ 35 pageinformationdialog.cpp \
36 pointtool.cpp \ 36 pointtool.cpp \
37 rectangletool.cpp \ 37 rectangletool.cpp \
38 shapetool.cpp \ 38 shapetool.cpp \
39 texttool.cpp \ 39 texttool.cpp \
40 thumbnailview.cpp \ 40 thumbnailview.cpp \
41 tool.cpp 41 tool.cpp
42 INCLUDEPATH+= $(OPIEDIR)/include \ 42 INCLUDEPATH+= $(OPIEDIR)/include
43 $(QTDIR)/src/3rdparty/zlib
44 DEPENDPATH+= $(OPIEDIR)/include 43 DEPENDPATH+= $(OPIEDIR)/include
45 LIBS += -lqpe -lopie 44 LIBS += -lqpe -lopie
46 DESTDIR = $(OPIEDIR)/bin 45 DESTDIR = $(OPIEDIR)/bin
47 TARGET = drawpad 46 TARGET = drawpad
48 47
49 TRANSLATIONS= ../../i18n/de/drawpad.ts 48 TRANSLATIONS= ../../i18n/de/drawpad.ts
50 TRANSLATIONS+= ../../i18n/en/drawpad.ts 49 TRANSLATIONS+= ../../i18n/en/drawpad.ts
51 TRANSLATIONS+= ../../i18n/es/drawpad.ts 50 TRANSLATIONS+= ../../i18n/es/drawpad.ts
52 TRANSLATIONS+= ../../i18n/fr/drawpad.ts 51 TRANSLATIONS+= ../../i18n/fr/drawpad.ts
53 TRANSLATIONS+= ../../i18n/hu/drawpad.ts 52 TRANSLATIONS+= ../../i18n/hu/drawpad.ts
54 TRANSLATIONS+= ../../i18n/ja/drawpad.ts 53 TRANSLATIONS+= ../../i18n/ja/drawpad.ts
55 TRANSLATIONS+= ../../i18n/ko/drawpad.ts 54 TRANSLATIONS+= ../../i18n/ko/drawpad.ts
diff --git a/noncore/graphics/drawpad/drawpadcanvas.cpp b/noncore/graphics/drawpad/drawpadcanvas.cpp
index ae1b554..5437068 100644
--- a/noncore/graphics/drawpad/drawpadcanvas.cpp
+++ b/noncore/graphics/drawpad/drawpadcanvas.cpp
@@ -19,26 +19,24 @@
19 19
20#include <qpe/applnk.h> 20#include <qpe/applnk.h>
21#include <qpe/filemanager.h> 21#include <qpe/filemanager.h>
22#include <qpe/mimetype.h> 22#include <qpe/mimetype.h>
23 23
24#include <qbuffer.h> 24#include <qbuffer.h>
25#include <qimage.h> 25#include <qimage.h>
26#include <qpainter.h> 26#include <qpainter.h>
27#include <qtextcodec.h> 27#include <qtextcodec.h>
28#include <qtextstream.h> 28#include <qtextstream.h>
29#include <qxml.h> 29#include <qxml.h>
30 30
31#include <zlib.h>
32
33const int PAGE_BACKUPS = 99; 31const int PAGE_BACKUPS = 99;
34 32
35class DrawPadCanvasXmlHandler: public QXmlDefaultHandler 33class DrawPadCanvasXmlHandler: public QXmlDefaultHandler
36{ 34{
37public: 35public:
38 DrawPadCanvasXmlHandler(); 36 DrawPadCanvasXmlHandler();
39 ~DrawPadCanvasXmlHandler(); 37 ~DrawPadCanvasXmlHandler();
40 38
41 QList<Page> pages(); 39 QList<Page> pages();
42 40
43 bool startElement(const QString& namespaceURI, const QString& localName, 41 bool startElement(const QString& namespaceURI, const QString& localName,
44 const QString& qName, const QXmlAttributes& atts); 42 const QString& qName, const QXmlAttributes& atts);
@@ -84,28 +82,24 @@ bool DrawPadCanvasXmlHandler::startElement(const QString& namespaceURI, const QS
84 82
85 if (qName == "image") { 83 if (qName == "image") {
86 m_title = QString(); 84 m_title = QString();
87 m_date = QDateTime::currentDateTime(); 85 m_date = QDateTime::currentDateTime();
88 } else if (qName == "title") { 86 } else if (qName == "title") {
89 m_state = InTitle; 87 m_state = InTitle;
90 } else if (qName == "date") { 88 } else if (qName == "date") {
91 m_state = InDate; 89 m_state = InDate;
92 } else if (qName == "data") { 90 } else if (qName == "data") {
93 m_state = InData; 91 m_state = InData;
94 m_dataLenght = atts.value("length").toULong(); 92 m_dataLenght = atts.value("length").toULong();
95 m_dataFormat = atts.value("format"); 93 m_dataFormat = atts.value("format");
96
97 if (m_dataFormat.isEmpty()) {
98 m_dataFormat = "XPM";
99 }
100 } 94 }
101 95
102 return true; 96 return true;
103} 97}
104 98
105bool DrawPadCanvasXmlHandler::endElement(const QString& namespaceURI, const QString& localName, 99bool DrawPadCanvasXmlHandler::endElement(const QString& namespaceURI, const QString& localName,
106 const QString& qName) 100 const QString& qName)
107{ 101{
108 Q_CONST_UNUSED(namespaceURI) 102 Q_CONST_UNUSED(namespaceURI)
109 Q_CONST_UNUSED(localName) 103 Q_CONST_UNUSED(localName)
110 104
111 if (qName == "title") { 105 if (qName == "title") {
@@ -141,39 +135,26 @@ bool DrawPadCanvasXmlHandler::characters(const QString& ch)
141 135
142 r = r << 4; 136 r = r << 4;
143 137
144 if (l <= '9') { 138 if (l <= '9') {
145 r += l - '0'; 139 r += l - '0';
146 } else { 140 } else {
147 r += l - 'a' + 10; 141 r += l - 'a' + 10;
148 } 142 }
149 143
150 byteArray[i] = r; 144 byteArray[i] = r;
151 } 145 }
152 146
153
154 QImage image; 147 QImage image;
155 148 image.loadFromData((const uchar*)byteArray.data(), m_dataLenght, m_dataFormat);
156 if (m_dataFormat == "XPM") {
157 if (m_dataLenght < ch.length() * 5) {
158 m_dataLenght = ch.length() * 5;
159 }
160
161 QByteArray byteArrayUnzipped(m_dataLenght);
162 ::uncompress((uchar*)byteArrayUnzipped.data(), &m_dataLenght, (uchar*)byteArray.data(), byteArray.size());
163
164 image.loadFromData((const uchar*)byteArrayUnzipped.data(), m_dataLenght, m_dataFormat);
165 } else {
166 image.loadFromData((const uchar*)byteArray.data(), m_dataLenght, m_dataFormat);
167 }
168 149
169 Page* page = new Page(m_title, image.width(), image.height()); 150 Page* page = new Page(m_title, image.width(), image.height());
170 page->setLastModified(m_date); 151 page->setLastModified(m_date);
171 page->convertFromImage(image); 152 page->convertFromImage(image);
172 m_pages.append(page); 153 m_pages.append(page);
173 } 154 }
174 155
175 return true; 156 return true;
176} 157}
177 158
178DrawPadCanvas::DrawPadCanvas(DrawPad* drawPad, QWidget* parent, const char* name) 159DrawPadCanvas::DrawPadCanvas(DrawPad* drawPad, QWidget* parent, const char* name)
179 : QScrollView(parent, name) 160 : QScrollView(parent, name)