Diffstat (limited to 'noncore/graphics/drawpad/drawpadcanvas.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/graphics/drawpad/drawpadcanvas.cpp | 50 |
1 files changed, 38 insertions, 12 deletions
diff --git a/noncore/graphics/drawpad/drawpadcanvas.cpp b/noncore/graphics/drawpad/drawpadcanvas.cpp index bcb6877..dcf0871 100644 --- a/noncore/graphics/drawpad/drawpadcanvas.cpp +++ b/noncore/graphics/drawpad/drawpadcanvas.cpp | |||
@@ -49,2 +49,4 @@ private: | |||
49 | Unknown, | 49 | Unknown, |
50 | InTitle, | ||
51 | InDate, | ||
50 | InData | 52 | InData |
@@ -53,2 +55,4 @@ private: | |||
53 | State m_state; | 55 | State m_state; |
56 | QString m_title; | ||
57 | QDateTime m_date; | ||
54 | ulong m_dataLenght; | 58 | ulong m_dataLenght; |
@@ -78,3 +82,10 @@ bool DrawPadCanvasXmlHandler::startElement(const QString& namespaceURI, const QS | |||
78 | 82 | ||
79 | if (qName.compare("data") == 0) { | 83 | if (qName == "image") { |
84 | m_title = QString(); | ||
85 | m_date = QDateTime(QDate(1970, 1, 1)); | ||
86 | } else if (qName == "title") { | ||
87 | m_state = InTitle; | ||
88 | } else if (qName == "date") { | ||
89 | m_state = InDate; | ||
90 | } else if (qName == "data") { | ||
80 | m_state = InData; | 91 | m_state = InData; |
@@ -97,3 +108,7 @@ bool DrawPadCanvasXmlHandler::endElement(const QString& namespaceURI, const QStr | |||
97 | 108 | ||
98 | if (qName.compare("data") == 0) { | 109 | if (qName == "title") { |
110 | m_state = Unknown; | ||
111 | } else if (qName == "date") { | ||
112 | m_state = Unknown; | ||
113 | } else if (qName == "data") { | ||
99 | m_state = Unknown; | 114 | m_state = Unknown; |
@@ -104,5 +119,9 @@ bool DrawPadCanvasXmlHandler::endElement(const QString& namespaceURI, const QStr | |||
104 | 119 | ||
105 | bool DrawPadCanvasXmlHandler::characters(const QString& ch) | 120 | bool DrawPadCanvasXmlHandler::characters(const QString& ch) |
106 | { | 121 | { |
107 | if (m_state == InData) { | 122 | if (m_state == InTitle) { |
123 | m_title = ch; | ||
124 | } else if (m_state == InDate) { | ||
125 | m_date = m_date.addSecs(ch.toInt()); | ||
126 | } else if (m_state == InData) { | ||
108 | QByteArray byteArray(ch.length() / 2); | 127 | QByteArray byteArray(ch.length() / 2); |
@@ -147,3 +166,4 @@ bool DrawPadCanvasXmlHandler::characters(const QString& ch) | |||
147 | 166 | ||
148 | Page* page = new Page(image.width(), image.height()); | 167 | Page* page = new Page(m_title, image.width(), image.height()); |
168 | page->setLastModified(m_date); | ||
149 | page->convertFromImage(image); | 169 | page->convertFromImage(image); |
@@ -184,3 +204,3 @@ void DrawPadCanvas::load(QIODevice* ioDevice) | |||
184 | if (m_pages.isEmpty()) { | 204 | if (m_pages.isEmpty()) { |
185 | m_pages.append(new Page(contentsRect().size())); | 205 | m_pages.append(new Page("", contentsRect().size())); |
186 | m_pages.current()->fill(Qt::white); | 206 | m_pages.current()->fill(Qt::white); |
@@ -200,3 +220,3 @@ void DrawPadCanvas::initialPage() | |||
200 | { | 220 | { |
201 | m_pages.append(new Page(236, 232)); | 221 | m_pages.append(new Page("", 236, 232)); |
202 | m_pages.current()->fill(Qt::white); | 222 | m_pages.current()->fill(Qt::white); |
@@ -225,2 +245,6 @@ void DrawPadCanvas::save(QIODevice* ioDevice) | |||
225 | textStream << " <image>" << endl; | 245 | textStream << " <image>" << endl; |
246 | textStream << " <title>" << bufferIterator.current()->title() << "</title>" << endl; | ||
247 | |||
248 | int intDate = QDateTime(QDate(1970, 1, 1)).secsTo(bufferIterator.current()->lastModified()); | ||
249 | textStream << " <date>" << intDate << "</date>" << endl; | ||
226 | 250 | ||
@@ -343,3 +367,5 @@ void DrawPadCanvas::backupPage() | |||
343 | { | 367 | { |
344 | QPixmap* currentBackup = m_pageBackups.current(); | 368 | m_pages.current()->setLastModified(QDateTime::currentDateTime()); |
369 | |||
370 | Page* currentBackup = m_pageBackups.current(); | ||
345 | while (m_pageBackups.last() != currentBackup) { | 371 | while (m_pageBackups.last() != currentBackup) { |
@@ -361,3 +387,3 @@ void DrawPadCanvas::deleteAll() | |||
361 | 387 | ||
362 | m_pages.append(new Page(contentsRect().size())); | 388 | m_pages.append(new Page("", contentsRect().size())); |
363 | m_pages.current()->fill(Qt::white); | 389 | m_pages.current()->fill(Qt::white); |
@@ -374,5 +400,5 @@ void DrawPadCanvas::deleteAll() | |||
374 | 400 | ||
375 | void DrawPadCanvas::newPage(uint width, uint height, const QColor& color) | 401 | void DrawPadCanvas::newPage(QString title, uint width, uint height, const QColor& color) |
376 | { | 402 | { |
377 | m_pages.insert(m_pages.at() + 1, new Page(width, height)); | 403 | m_pages.insert(m_pages.at() + 1, new Page(title, width, height)); |
378 | m_pages.current()->fill(color); | 404 | m_pages.current()->fill(color); |
@@ -407,3 +433,3 @@ void DrawPadCanvas::deletePage() | |||
407 | if (m_pages.isEmpty()) { | 433 | if (m_pages.isEmpty()) { |
408 | m_pages.append(new Page(contentsRect().size())); | 434 | m_pages.append(new Page("", contentsRect().size())); |
409 | m_pages.current()->fill(Qt::white); | 435 | m_pages.current()->fill(Qt::white); |