summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/graphics/drawpad/drawpad.cpp2
-rw-r--r--noncore/graphics/drawpad/drawpadcanvas.cpp12
-rw-r--r--noncore/graphics/drawpad/newpagedialog.cpp22
-rw-r--r--noncore/graphics/drawpad/newpagedialog.h4
4 files changed, 24 insertions, 16 deletions
diff --git a/noncore/graphics/drawpad/drawpad.cpp b/noncore/graphics/drawpad/drawpad.cpp
index aae9ab0..1375792 100644
--- a/noncore/graphics/drawpad/drawpad.cpp
+++ b/noncore/graphics/drawpad/drawpad.cpp
@@ -150,12 +150,13 @@ DrawPad::DrawPad(QWidget* parent, const char* name)
150 150
151 m_pFilledRectangleToolAction = new QAction(tr("Draw Filled Rectangle"), Resource::loadIconSet("drawpad/filledrectangle.png"), "", 0, this); 151 m_pFilledRectangleToolAction = new QAction(tr("Draw Filled Rectangle"), Resource::loadIconSet("drawpad/filledrectangle.png"), "", 0, this);
152 connect(m_pFilledRectangleToolAction, SIGNAL(activated()), this, SLOT(setFilledRectangleTool())); 152 connect(m_pFilledRectangleToolAction, SIGNAL(activated()), this, SLOT(setFilledRectangleTool()));
153 m_pFilledRectangleToolAction->addTo(rectanglePopupMenu); 153 m_pFilledRectangleToolAction->addTo(rectanglePopupMenu);
154 154
155 m_pRectangleToolButton->setPopup(rectanglePopupMenu); 155 m_pRectangleToolButton->setPopup(rectanglePopupMenu);
156 m_pRectangleToolButton->setPopupDelay(0);
156 157
157 m_pEllipseToolButton = new QToolButton(drawModeToolBar); 158 m_pEllipseToolButton = new QToolButton(drawModeToolBar);
158 m_pEllipseToolButton->setToggleButton(true); 159 m_pEllipseToolButton->setToggleButton(true);
159 160
160 QPopupMenu* ellipsePopupMenu = new QPopupMenu(m_pEllipseToolButton); 161 QPopupMenu* ellipsePopupMenu = new QPopupMenu(m_pEllipseToolButton);
161 162
@@ -165,12 +166,13 @@ DrawPad::DrawPad(QWidget* parent, const char* name)
165 166
166 m_pFilledEllipseToolAction = new QAction(tr("Draw Filled Ellipse"), Resource::loadIconSet("drawpad/filledellipse.png"), "", 0, this); 167 m_pFilledEllipseToolAction = new QAction(tr("Draw Filled Ellipse"), Resource::loadIconSet("drawpad/filledellipse.png"), "", 0, this);
167 connect(m_pFilledEllipseToolAction, SIGNAL(activated()), this, SLOT(setFilledEllipseTool())); 168 connect(m_pFilledEllipseToolAction, SIGNAL(activated()), this, SLOT(setFilledEllipseTool()));
168 m_pFilledEllipseToolAction->addTo(ellipsePopupMenu); 169 m_pFilledEllipseToolAction->addTo(ellipsePopupMenu);
169 170
170 m_pEllipseToolButton->setPopup(ellipsePopupMenu); 171 m_pEllipseToolButton->setPopup(ellipsePopupMenu);
172 m_pEllipseToolButton->setPopupDelay(0);
171 173
172 m_pFillToolAction = new QAction(tr("Fill Region"), Resource::loadIconSet("drawpad/fill.png"), QString::null, 0, this); 174 m_pFillToolAction = new QAction(tr("Fill Region"), Resource::loadIconSet("drawpad/fill.png"), QString::null, 0, this);
173 m_pFillToolAction->setToggleAction(true); 175 m_pFillToolAction->setToggleAction(true);
174 connect(m_pFillToolAction, SIGNAL(activated()), this, SLOT(setFillTool())); 176 connect(m_pFillToolAction, SIGNAL(activated()), this, SLOT(setFillTool()));
175 m_pFillToolAction->addTo(drawModeToolBar); 177 m_pFillToolAction->addTo(drawModeToolBar);
176 178
diff --git a/noncore/graphics/drawpad/drawpadcanvas.cpp b/noncore/graphics/drawpad/drawpadcanvas.cpp
index 8818c03..b8a1c2e 100644
--- a/noncore/graphics/drawpad/drawpadcanvas.cpp
+++ b/noncore/graphics/drawpad/drawpadcanvas.cpp
@@ -51,12 +51,13 @@ private:
51 Unknown, 51 Unknown,
52 InData 52 InData
53 }; 53 };
54 54
55 State m_state; 55 State m_state;
56 ulong m_dataLenght; 56 ulong m_dataLenght;
57 QString m_dataFormat;
57 QList<QPixmap> m_pixmaps; 58 QList<QPixmap> m_pixmaps;
58}; 59};
59 60
60DrawPadCanvasXmlHandler::DrawPadCanvasXmlHandler() 61DrawPadCanvasXmlHandler::DrawPadCanvasXmlHandler()
61{ 62{
62 m_state = Unknown; 63 m_state = Unknown;
@@ -77,12 +78,17 @@ bool DrawPadCanvasXmlHandler::startElement(const QString& namespaceURI, const QS
77 Q_CONST_UNUSED(namespaceURI) 78 Q_CONST_UNUSED(namespaceURI)
78 Q_CONST_UNUSED(localName) 79 Q_CONST_UNUSED(localName)
79 80
80 if (qName.compare("data") == 0) { 81 if (qName.compare("data") == 0) {
81 m_state = InData; 82 m_state = InData;
82 m_dataLenght = atts.value("length").toULong(); 83 m_dataLenght = atts.value("length").toULong();
84 m_dataFormat = atts.value("format");
85
86 if (m_dataFormat.isEmpty()) {
87 m_dataFormat = "XPM";
88 }
83 } 89 }
84 90
85 return true; 91 return true;
86} 92}
87 93
88bool DrawPadCanvasXmlHandler::endElement(const QString& namespaceURI, const QString& localName, 94bool DrawPadCanvasXmlHandler::endElement(const QString& namespaceURI, const QString& localName,
@@ -130,13 +136,13 @@ bool DrawPadCanvasXmlHandler::characters(const QString& ch)
130 } 136 }
131 137
132 QByteArray byteArrayUnzipped(m_dataLenght); 138 QByteArray byteArrayUnzipped(m_dataLenght);
133 ::uncompress((uchar*)byteArrayUnzipped.data(), &m_dataLenght, (uchar*)byteArray.data(), byteArray.size()); 139 ::uncompress((uchar*)byteArrayUnzipped.data(), &m_dataLenght, (uchar*)byteArray.data(), byteArray.size());
134 140
135 QImage image; 141 QImage image;
136 image.loadFromData((const uchar*)byteArrayUnzipped.data(), m_dataLenght, "XPM"); 142 image.loadFromData((const uchar*)byteArrayUnzipped.data(), m_dataLenght, m_dataFormat);
137 143
138 QPixmap* pixmap = new QPixmap(image.width(), image.height()); 144 QPixmap* pixmap = new QPixmap(image.width(), image.height());
139 pixmap->convertFromImage(image); 145 pixmap->convertFromImage(image);
140 m_pixmaps.append(pixmap); 146 m_pixmaps.append(pixmap);
141 } 147 }
142 148
@@ -212,24 +218,24 @@ void DrawPadCanvas::save(QIODevice* ioDevice)
212 for (bufferIterator.toFirst(); bufferIterator.current() != 0; ++bufferIterator) { 218 for (bufferIterator.toFirst(); bufferIterator.current() != 0; ++bufferIterator) {
213 textStream << " <image>" << endl; 219 textStream << " <image>" << endl;
214 220
215 QImage image = bufferIterator.current()->convertToImage(); 221 QImage image = bufferIterator.current()->convertToImage();
216 QByteArray byteArray; 222 QByteArray byteArray;
217 QBuffer buffer(byteArray); 223 QBuffer buffer(byteArray);
218 QImageIO imageIO(&buffer, "XPM"); 224 QImageIO imageIO(&buffer, "PNG");
219 225
220 buffer.open(IO_WriteOnly); 226 buffer.open(IO_WriteOnly);
221 imageIO.setImage(image); 227 imageIO.setImage(image);
222 imageIO.write(); 228 imageIO.write();
223 buffer.close(); 229 buffer.close();
224 230
225 ulong size = byteArray.size() * 2; 231 ulong size = byteArray.size() * 2;
226 QByteArray byteArrayZipped(size); 232 QByteArray byteArrayZipped(size);
227 ::compress((uchar*)byteArrayZipped.data(), &size, (uchar*)byteArray.data(), byteArray.size()); 233 ::compress((uchar*)byteArrayZipped.data(), &size, (uchar*)byteArray.data(), byteArray.size());
228 234
229 textStream << " <data length=\"" << byteArray.size() << "\">"; 235 textStream << " <data length=\"" << byteArray.size() << "\" format=\"PNG\">";
230 236
231 static const char hexchars[] = "0123456789abcdef"; 237 static const char hexchars[] = "0123456789abcdef";
232 238
233 for (int i = 0; i < (int)size; i++ ) { 239 for (int i = 0; i < (int)size; i++ ) {
234 uchar s = (uchar)byteArrayZipped[i]; 240 uchar s = (uchar)byteArrayZipped[i];
235 textStream << hexchars[s >> 4]; 241 textStream << hexchars[s >> 4];
diff --git a/noncore/graphics/drawpad/newpagedialog.cpp b/noncore/graphics/drawpad/newpagedialog.cpp
index b1b26ef..5c31978 100644
--- a/noncore/graphics/drawpad/newpagedialog.cpp
+++ b/noncore/graphics/drawpad/newpagedialog.cpp
@@ -17,37 +17,37 @@
17#include <qgroupbox.h> 17#include <qgroupbox.h>
18#include <qlabel.h> 18#include <qlabel.h>
19#include <qlayout.h> 19#include <qlayout.h>
20#include <qradiobutton.h> 20#include <qradiobutton.h>
21#include <qspinbox.h> 21#include <qspinbox.h>
22 22
23NewPageDialog::NewPageDialog(uint width, uint height, const QColor& foregroundColor, 23NewPageDialog::NewPageDialog(uint width, uint height, const QColor& penColor,
24 const QColor& backgroundColor, QWidget* parent, const char* name) 24 const QColor& brushColor, QWidget* parent, const char* name)
25 : QDialog(parent, name, true) 25 : QDialog(parent, name, true)
26{ 26{
27 setCaption(tr("New Page")); 27 setCaption(tr("New Page"));
28 28
29 m_foregroundColor = foregroundColor; 29 m_penColor = penColor;
30 m_backgroundColor = backgroundColor; 30 m_brushColor = brushColor;
31 31
32 QGroupBox* sizeGroupBox = new QGroupBox(0, Qt::Vertical, tr("Page Size"), this); 32 QGroupBox* sizeGroupBox = new QGroupBox(0, Qt::Vertical, tr("Page Size"), this);
33 33
34 QLabel* widthLabel = new QLabel(tr("Width :"), sizeGroupBox); 34 QLabel* widthLabel = new QLabel(tr("Width :"), sizeGroupBox);
35 QLabel* heightLabel = new QLabel(tr("Height :"), sizeGroupBox); 35 QLabel* heightLabel = new QLabel(tr("Height :"), sizeGroupBox);
36 36
37 m_pWidthSpinBox = new QSpinBox(1, 1024, 1, sizeGroupBox); 37 m_pWidthSpinBox = new QSpinBox(1, 1024, 1, sizeGroupBox);
38 m_pHeightSpinBox = new QSpinBox(1, 1024, 1, sizeGroupBox); 38 m_pHeightSpinBox = new QSpinBox(1, 1024, 1, sizeGroupBox);
39 39
40 m_pWidthSpinBox->setValue(width); 40 m_pWidthSpinBox->setValue(width);
41 m_pHeightSpinBox->setValue(height); 41 m_pHeightSpinBox->setValue(height);
42 42
43 m_pContentButtonGroup = new QButtonGroup(0, Qt::Vertical, tr("Contents"), this); 43 m_pContentButtonGroup = new QButtonGroup(0, Qt::Vertical, tr("Background"), this);
44 44
45 QRadioButton* whiteColorRadioButton = new QRadioButton(tr("White"), m_pContentButtonGroup); 45 QRadioButton* whiteColorRadioButton = new QRadioButton(tr("White"), m_pContentButtonGroup);
46 QRadioButton* foregroundColorRadioButton = new QRadioButton(tr("Foreground Color"), m_pContentButtonGroup); 46 QRadioButton* penColorRadioButton = new QRadioButton(tr("Pen Color"), m_pContentButtonGroup);
47 QRadioButton* backgroundColorRadioButton = new QRadioButton(tr("Background Color"), m_pContentButtonGroup); 47 QRadioButton* brushColorRadioButton = new QRadioButton(tr("Brush Color"), m_pContentButtonGroup);
48 48
49 m_pContentButtonGroup->setButton(0); 49 m_pContentButtonGroup->setButton(0);
50 50
51 QVBoxLayout* mainLayout = new QVBoxLayout(this, 4, 4); 51 QVBoxLayout* mainLayout = new QVBoxLayout(this, 4, 4);
52 sizeGroupBox->layout()->setSpacing(4); 52 sizeGroupBox->layout()->setSpacing(4);
53 m_pContentButtonGroup->layout()->setSpacing(4); 53 m_pContentButtonGroup->layout()->setSpacing(4);
@@ -59,14 +59,14 @@ NewPageDialog::NewPageDialog(uint width, uint height, const QColor& foregroundCo
59 sizeLayout->addWidget(m_pWidthSpinBox, 0, 1); 59 sizeLayout->addWidget(m_pWidthSpinBox, 0, 1);
60 sizeLayout->addWidget(m_pHeightSpinBox, 1, 1); 60 sizeLayout->addWidget(m_pHeightSpinBox, 1, 1);
61 61
62 sizeLayout->setColStretch(1, 1); 62 sizeLayout->setColStretch(1, 1);
63 63
64 contentLayout->addWidget(whiteColorRadioButton); 64 contentLayout->addWidget(whiteColorRadioButton);
65 contentLayout->addWidget(foregroundColorRadioButton); 65 contentLayout->addWidget(penColorRadioButton);
66 contentLayout->addWidget(backgroundColorRadioButton); 66 contentLayout->addWidget(brushColorRadioButton);
67 67
68 mainLayout->addWidget(sizeGroupBox); 68 mainLayout->addWidget(sizeGroupBox);
69 mainLayout->addWidget(m_pContentButtonGroup); 69 mainLayout->addWidget(m_pContentButtonGroup);
70} 70}
71 71
72NewPageDialog::~NewPageDialog() 72NewPageDialog::~NewPageDialog()
@@ -87,16 +87,16 @@ const QColor& NewPageDialog::selectedColor()
87{ 87{
88 switch (m_pContentButtonGroup->id(m_pContentButtonGroup->selected())) { 88 switch (m_pContentButtonGroup->id(m_pContentButtonGroup->selected())) {
89 case 0: 89 case 0:
90 return (Qt::white); 90 return (Qt::white);
91 break; 91 break;
92 case 1: 92 case 1:
93 return (m_foregroundColor); 93 return (m_penColor);
94 break; 94 break;
95 case 2: 95 case 2:
96 return (m_backgroundColor); 96 return (m_brushColor);
97 break; 97 break;
98 default: 98 default:
99 return (Qt::white); 99 return (Qt::white);
100 break; 100 break;
101 } 101 }
102} 102}
diff --git a/noncore/graphics/drawpad/newpagedialog.h b/noncore/graphics/drawpad/newpagedialog.h
index f418340..d680394 100644
--- a/noncore/graphics/drawpad/newpagedialog.h
+++ b/noncore/graphics/drawpad/newpagedialog.h
@@ -33,13 +33,13 @@ public:
33 const QColor& selectedColor(); 33 const QColor& selectedColor();
34 34
35private: 35private:
36 QSpinBox* m_pWidthSpinBox; 36 QSpinBox* m_pWidthSpinBox;
37 QSpinBox* m_pHeightSpinBox; 37 QSpinBox* m_pHeightSpinBox;
38 38
39 QColor m_foregroundColor; 39 QColor m_penColor;
40 QColor m_backgroundColor; 40 QColor m_brushColor;
41 41
42 QButtonGroup* m_pContentButtonGroup; 42 QButtonGroup* m_pContentButtonGroup;
43}; 43};
44 44
45#endif // NEWPAGEDIALOG_H 45#endif // NEWPAGEDIALOG_H