summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (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
@@ -18,45 +18,44 @@ HEADERS = drawpad.h \
shapetool.h \
texttool.h \
thumbnailview.h \
tool.h
SOURCES = drawpad.cpp \
drawpadcanvas.cpp \
ellipsetool.cpp \
erasetool.cpp \
exportdialog.cpp \
filltool.cpp \
filledellipsetool.cpp \
filledrectangletool.cpp \
importdialog.cpp \
linetool.cpp \
main.cpp \
newpagedialog.cpp \
page.cpp \
pageinformationdialog.cpp \
pointtool.cpp \
rectangletool.cpp \
shapetool.cpp \
texttool.cpp \
thumbnailview.cpp \
tool.cpp
-INCLUDEPATH += $(OPIEDIR)/include \
- $(QTDIR)/src/3rdparty/zlib
+INCLUDEPATH += $(OPIEDIR)/include
DEPENDPATH += $(OPIEDIR)/include
LIBS += -lqpe -lopie
DESTDIR = $(OPIEDIR)/bin
TARGET = drawpad
TRANSLATIONS = ../../i18n/de/drawpad.ts
TRANSLATIONS += ../../i18n/en/drawpad.ts
TRANSLATIONS += ../../i18n/es/drawpad.ts
TRANSLATIONS += ../../i18n/fr/drawpad.ts
TRANSLATIONS += ../../i18n/hu/drawpad.ts
TRANSLATIONS += ../../i18n/ja/drawpad.ts
TRANSLATIONS += ../../i18n/ko/drawpad.ts
TRANSLATIONS += ../../i18n/no/drawpad.ts
TRANSLATIONS += ../../i18n/pl/drawpad.ts
TRANSLATIONS += ../../i18n/pt/drawpad.ts
TRANSLATIONS += ../../i18n/pt_BR/drawpad.ts
TRANSLATIONS += ../../i18n/sl/drawpad.ts
TRANSLATIONS += ../../i18n/zh_CN/drawpad.ts
TRANSLATIONS += ../../i18n/zh_TW/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
@@ -7,50 +7,48 @@
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#include "drawpadcanvas.h"
#include "drawpad.h"
#include "page.h"
#include "tool.h"
#include <qpe/applnk.h>
#include <qpe/filemanager.h>
#include <qpe/mimetype.h>
#include <qbuffer.h>
#include <qimage.h>
#include <qpainter.h>
#include <qtextcodec.h>
#include <qtextstream.h>
#include <qxml.h>
-#include <zlib.h>
-
const int PAGE_BACKUPS = 99;
class DrawPadCanvasXmlHandler: public QXmlDefaultHandler
{
public:
DrawPadCanvasXmlHandler();
~DrawPadCanvasXmlHandler();
QList<Page> pages();
bool startElement(const QString& namespaceURI, const QString& localName,
const QString& qName, const QXmlAttributes& atts);
bool endElement(const QString& namespaceURI, const QString& localName,
const QString& qName);
bool characters(const QString& ch);
private:
enum State {
Unknown,
InTitle,
InDate,
InData
};
@@ -72,52 +70,48 @@ DrawPadCanvasXmlHandler::~DrawPadCanvasXmlHandler()
}
QList<Page> DrawPadCanvasXmlHandler::pages()
{
return m_pages;
}
bool DrawPadCanvasXmlHandler::startElement(const QString& namespaceURI, const QString& localName,
const QString& qName, const QXmlAttributes& atts)
{
Q_CONST_UNUSED(namespaceURI)
Q_CONST_UNUSED(localName)
if (qName == "image") {
m_title = QString();
m_date = QDateTime::currentDateTime();
} else if (qName == "title") {
m_state = InTitle;
} else if (qName == "date") {
m_state = InDate;
} else if (qName == "data") {
m_state = InData;
m_dataLenght = atts.value("length").toULong();
m_dataFormat = atts.value("format");
-
- if (m_dataFormat.isEmpty()) {
- m_dataFormat = "XPM";
- }
}
return true;
}
bool DrawPadCanvasXmlHandler::endElement(const QString& namespaceURI, const QString& localName,
const QString& qName)
{
Q_CONST_UNUSED(namespaceURI)
Q_CONST_UNUSED(localName)
if (qName == "title") {
m_state = Unknown;
} else if (qName == "date") {
m_state = Unknown;
} else if (qName == "data") {
m_state = Unknown;
}
return true;
}
bool DrawPadCanvasXmlHandler::characters(const QString& ch)
{
@@ -129,63 +123,50 @@ bool DrawPadCanvasXmlHandler::characters(const QString& ch)
QByteArray byteArray(ch.length() / 2);
for (int i = 0; i < (int)ch.length() / 2; i++) {
char h = ch[2 * i].latin1();
char l = ch[2 * i + 1].latin1();
uchar r = 0;
if (h <= '9') {
r += h - '0';
} else {
r += h - 'a' + 10;
}
r = r << 4;
if (l <= '9') {
r += l - '0';
} else {
r += l - 'a' + 10;
}
byteArray[i] = r;
}
-
QImage image;
-
- if (m_dataFormat == "XPM") {
- if (m_dataLenght < ch.length() * 5) {
- m_dataLenght = ch.length() * 5;
- }
-
- QByteArray byteArrayUnzipped(m_dataLenght);
- ::uncompress((uchar*)byteArrayUnzipped.data(), &m_dataLenght, (uchar*)byteArray.data(), byteArray.size());
-
- image.loadFromData((const uchar*)byteArrayUnzipped.data(), m_dataLenght, m_dataFormat);
- } else {
- image.loadFromData((const uchar*)byteArray.data(), m_dataLenght, m_dataFormat);
- }
+ image.loadFromData((const uchar*)byteArray.data(), m_dataLenght, m_dataFormat);
Page* page = new Page(m_title, image.width(), image.height());
page->setLastModified(m_date);
page->convertFromImage(image);
m_pages.append(page);
}
return true;
}
DrawPadCanvas::DrawPadCanvas(DrawPad* drawPad, QWidget* parent, const char* name)
: QScrollView(parent, name)
{
m_pDrawPad = drawPad;
m_pages.setAutoDelete(true);
m_pageBackups.setAutoDelete(true);
viewport()->setBackgroundMode(QWidget::NoBackground);
}
DrawPadCanvas::~DrawPadCanvas()
{
}