-rw-r--r-- | noncore/graphics/drawpad/drawpad.cpp | 2 | ||||
-rw-r--r-- | noncore/graphics/drawpad/drawpadcanvas.cpp | 12 | ||||
-rw-r--r-- | noncore/graphics/drawpad/newpagedialog.cpp | 22 | ||||
-rw-r--r-- | noncore/graphics/drawpad/newpagedialog.h | 4 |
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 @@ -152,8 +152,9 @@ DrawPad::DrawPad(QWidget* parent, const char* name) connect(m_pFilledRectangleToolAction, SIGNAL(activated()), this, SLOT(setFilledRectangleTool())); m_pFilledRectangleToolAction->addTo(rectanglePopupMenu); m_pRectangleToolButton->setPopup(rectanglePopupMenu); + m_pRectangleToolButton->setPopupDelay(0); m_pEllipseToolButton = new QToolButton(drawModeToolBar); m_pEllipseToolButton->setToggleButton(true); @@ -167,8 +168,9 @@ DrawPad::DrawPad(QWidget* parent, const char* name) connect(m_pFilledEllipseToolAction, SIGNAL(activated()), this, SLOT(setFilledEllipseTool())); m_pFilledEllipseToolAction->addTo(ellipsePopupMenu); m_pEllipseToolButton->setPopup(ellipsePopupMenu); + m_pEllipseToolButton->setPopupDelay(0); m_pFillToolAction = new QAction(tr("Fill Region"), Resource::loadIconSet("drawpad/fill.png"), QString::null, 0, this); m_pFillToolAction->setToggleAction(true); connect(m_pFillToolAction, SIGNAL(activated()), this, SLOT(setFillTool())); 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 @@ -53,8 +53,9 @@ private: }; State m_state; ulong m_dataLenght; + QString m_dataFormat; QList<QPixmap> m_pixmaps; }; DrawPadCanvasXmlHandler::DrawPadCanvasXmlHandler() @@ -79,8 +80,13 @@ bool DrawPadCanvasXmlHandler::startElement(const QString& namespaceURI, const QS if (qName.compare("data") == 0) { m_state = InData; m_dataLenght = atts.value("length").toULong(); + m_dataFormat = atts.value("format"); + + if (m_dataFormat.isEmpty()) { + m_dataFormat = "XPM"; + } } return true; } @@ -132,9 +138,9 @@ bool DrawPadCanvasXmlHandler::characters(const QString& ch) QByteArray byteArrayUnzipped(m_dataLenght); ::uncompress((uchar*)byteArrayUnzipped.data(), &m_dataLenght, (uchar*)byteArray.data(), byteArray.size()); QImage image; - image.loadFromData((const uchar*)byteArrayUnzipped.data(), m_dataLenght, "XPM"); + image.loadFromData((const uchar*)byteArrayUnzipped.data(), m_dataLenght, m_dataFormat); QPixmap* pixmap = new QPixmap(image.width(), image.height()); pixmap->convertFromImage(image); m_pixmaps.append(pixmap); @@ -214,9 +220,9 @@ void DrawPadCanvas::save(QIODevice* ioDevice) QImage image = bufferIterator.current()->convertToImage(); QByteArray byteArray; QBuffer buffer(byteArray); - QImageIO imageIO(&buffer, "XPM"); + QImageIO imageIO(&buffer, "PNG"); buffer.open(IO_WriteOnly); imageIO.setImage(image); imageIO.write(); @@ -225,9 +231,9 @@ void DrawPadCanvas::save(QIODevice* ioDevice) ulong size = byteArray.size() * 2; QByteArray byteArrayZipped(size); ::compress((uchar*)byteArrayZipped.data(), &size, (uchar*)byteArray.data(), byteArray.size()); - textStream << " <data length=\"" << byteArray.size() << "\">"; + textStream << " <data length=\"" << byteArray.size() << "\" format=\"PNG\">"; static const char hexchars[] = "0123456789abcdef"; for (int i = 0; i < (int)size; i++ ) { 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 @@ -19,16 +19,16 @@ #include <qlayout.h> #include <qradiobutton.h> #include <qspinbox.h> -NewPageDialog::NewPageDialog(uint width, uint height, const QColor& foregroundColor, - const QColor& backgroundColor, QWidget* parent, const char* name) +NewPageDialog::NewPageDialog(uint width, uint height, const QColor& penColor, + const QColor& brushColor, QWidget* parent, const char* name) : QDialog(parent, name, true) { setCaption(tr("New Page")); - m_foregroundColor = foregroundColor; - m_backgroundColor = backgroundColor; + m_penColor = penColor; + m_brushColor = brushColor; QGroupBox* sizeGroupBox = new QGroupBox(0, Qt::Vertical, tr("Page Size"), this); QLabel* widthLabel = new QLabel(tr("Width :"), sizeGroupBox); @@ -39,13 +39,13 @@ NewPageDialog::NewPageDialog(uint width, uint height, const QColor& foregroundCo m_pWidthSpinBox->setValue(width); m_pHeightSpinBox->setValue(height); - m_pContentButtonGroup = new QButtonGroup(0, Qt::Vertical, tr("Contents"), this); + m_pContentButtonGroup = new QButtonGroup(0, Qt::Vertical, tr("Background"), this); QRadioButton* whiteColorRadioButton = new QRadioButton(tr("White"), m_pContentButtonGroup); - QRadioButton* foregroundColorRadioButton = new QRadioButton(tr("Foreground Color"), m_pContentButtonGroup); - QRadioButton* backgroundColorRadioButton = new QRadioButton(tr("Background Color"), m_pContentButtonGroup); + QRadioButton* penColorRadioButton = new QRadioButton(tr("Pen Color"), m_pContentButtonGroup); + QRadioButton* brushColorRadioButton = new QRadioButton(tr("Brush Color"), m_pContentButtonGroup); m_pContentButtonGroup->setButton(0); QVBoxLayout* mainLayout = new QVBoxLayout(this, 4, 4); @@ -61,10 +61,10 @@ NewPageDialog::NewPageDialog(uint width, uint height, const QColor& foregroundCo sizeLayout->setColStretch(1, 1); contentLayout->addWidget(whiteColorRadioButton); - contentLayout->addWidget(foregroundColorRadioButton); - contentLayout->addWidget(backgroundColorRadioButton); + contentLayout->addWidget(penColorRadioButton); + contentLayout->addWidget(brushColorRadioButton); mainLayout->addWidget(sizeGroupBox); mainLayout->addWidget(m_pContentButtonGroup); } @@ -89,12 +89,12 @@ const QColor& NewPageDialog::selectedColor() case 0: return (Qt::white); break; case 1: - return (m_foregroundColor); + return (m_penColor); break; case 2: - return (m_backgroundColor); + return (m_brushColor); break; default: return (Qt::white); break; 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 @@ -35,10 +35,10 @@ public: private: QSpinBox* m_pWidthSpinBox; QSpinBox* m_pHeightSpinBox; - QColor m_foregroundColor; - QColor m_backgroundColor; + QColor m_penColor; + QColor m_brushColor; QButtonGroup* m_pContentButtonGroup; }; |