author | leseb <leseb> | 2002-06-13 16:43:16 (UTC) |
---|---|---|
committer | leseb <leseb> | 2002-06-13 16:43:16 (UTC) |
commit | 54de91b66a2f0f985ff89503e919f85713d1f22c (patch) (side-by-side diff) | |
tree | 55df26ca5f08584beb4e033a1fee4510a8e2d45c | |
parent | 6a178f4ad2c3a9b92224c3506165cf03df41202e (diff) | |
download | opie-54de91b66a2f0f985ff89503e919f85713d1f22c.zip opie-54de91b66a2f0f985ff89503e919f85713d1f22c.tar.gz opie-54de91b66a2f0f985ff89503e919f85713d1f22c.tar.bz2 |
Starting to implement page attributes
-rw-r--r-- | noncore/graphics/drawpad/drawpad.cpp | 13 | ||||
-rw-r--r-- | noncore/graphics/drawpad/drawpad.h | 1 | ||||
-rw-r--r-- | noncore/graphics/drawpad/drawpad.pro | 2 | ||||
-rw-r--r-- | noncore/graphics/drawpad/newpagedialog.cpp | 14 | ||||
-rw-r--r-- | noncore/graphics/drawpad/newpagedialog.h | 3 | ||||
-rw-r--r-- | noncore/graphics/drawpad/pageinformationdialog.cpp | 70 | ||||
-rw-r--r-- | noncore/graphics/drawpad/pageinformationdialog.h | 39 |
7 files changed, 141 insertions, 1 deletions
diff --git a/noncore/graphics/drawpad/drawpad.cpp b/noncore/graphics/drawpad/drawpad.cpp index ef55268..369e7f0 100644 --- a/noncore/graphics/drawpad/drawpad.cpp +++ b/noncore/graphics/drawpad/drawpad.cpp @@ -20,12 +20,13 @@ #include "filledellipsetool.h" #include "filledrectangletool.h" #include "filltool.h" #include "importdialog.h" #include "linetool.h" #include "newpagedialog.h" +#include "pageinformationdialog.h" #include "pointtool.h" #include "rectangletool.h" #include "texttool.h" #include "thumbnailview.h" #include <opie/colordialog.h> @@ -83,12 +84,16 @@ DrawPad::DrawPad(QWidget* parent, const char* name) toolsPopupMenu->insertSeparator(); QAction* thumbnailViewAction = new QAction(tr("Thumbnail View"), tr("Thumbnail View..."), 0, this); connect(thumbnailViewAction, SIGNAL(activated()), this, SLOT(thumbnailView())); thumbnailViewAction->addTo(toolsPopupMenu); + + QAction* pageInformationAction = new QAction(tr("Page Information"), tr("Page Information..."), 0, this); + connect(pageInformationAction, SIGNAL(activated()), this, SLOT(pageInformation())); + pageInformationAction->addTo(toolsPopupMenu); menuBar->insertItem(tr("Tools"), toolsPopupMenu); // init page toolbar QPEToolBar* pageToolBar = new QPEToolBar(this); @@ -590,6 +595,14 @@ void DrawPad::thumbnailView() { ThumbnailView thumbnailView(this, m_pDrawPadCanvas, this); thumbnailView.showMaximized(); thumbnailView.exec(); } + +void DrawPad::pageInformation() +{ + PageInformationDialog pageInformationDialog(m_pDrawPadCanvas->currentPage()); + + if (pageInformationDialog.exec() == QDialog::Accepted) { + } +} diff --git a/noncore/graphics/drawpad/drawpad.h b/noncore/graphics/drawpad/drawpad.h index 9a821f6..ce62802 100644 --- a/noncore/graphics/drawpad/drawpad.h +++ b/noncore/graphics/drawpad/drawpad.h @@ -62,12 +62,13 @@ private slots: void updateCaption(); void deleteAll(); void importPage(); void exportPage(); void thumbnailView(); + void pageInformation(); private: DrawPadCanvas* m_pDrawPadCanvas; Tool* m_pTool; QPen m_pen; diff --git a/noncore/graphics/drawpad/drawpad.pro b/noncore/graphics/drawpad/drawpad.pro index 9a640d2..8dc89a2 100644 --- a/noncore/graphics/drawpad/drawpad.pro +++ b/noncore/graphics/drawpad/drawpad.pro @@ -9,12 +9,13 @@ HEADERS = drawpad.h \ filledellipsetool.h \ filledrectangletool.h \ importdialog.h \ linetool.h \ newpagedialog.h \ page.h \ + pageinformationdialog.h \ pointtool.h \ rectangletool.h \ shapetool.h \ texttool.h \ thumbnailview.h \ tool.h @@ -28,12 +29,13 @@ SOURCES = drawpad.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 diff --git a/noncore/graphics/drawpad/newpagedialog.cpp b/noncore/graphics/drawpad/newpagedialog.cpp index 0592af2..ff31aad 100644 --- a/noncore/graphics/drawpad/newpagedialog.cpp +++ b/noncore/graphics/drawpad/newpagedialog.cpp @@ -14,25 +14,31 @@ #include "newpagedialog.h" #include <qbuttongroup.h> #include <qgroupbox.h> #include <qlabel.h> #include <qlayout.h> +#include <qlineedit.h> #include <qradiobutton.h> #include <qspinbox.h> 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_penColor = penColor; m_brushColor = brushColor; - QGroupBox* sizeGroupBox = new QGroupBox(0, Qt::Vertical, tr("Page Size"), this); + QGroupBox* generalGroupBox = new QGroupBox(0, Qt::Vertical, tr("General"), this); + + QLabel* titleLabel = new QLabel(tr("Title:"), generalGroupBox); + m_pTitleLineEdit = new QLineEdit(generalGroupBox); + + QGroupBox* sizeGroupBox = new QGroupBox(0, Qt::Vertical, tr("Size"), this); QLabel* widthLabel = new QLabel(tr("Width:"), sizeGroupBox); QLabel* heightLabel = new QLabel(tr("Height:"), sizeGroupBox); m_pWidthSpinBox = new QSpinBox(1, 1024, 1, sizeGroupBox); m_pHeightSpinBox = new QSpinBox(1, 1024, 1, sizeGroupBox); @@ -46,28 +52,34 @@ NewPageDialog::NewPageDialog(uint width, uint height, const QColor& penColor, QRadioButton* penColorRadioButton = new QRadioButton(tr("Pen Color"), m_pContentButtonGroup); QRadioButton* brushColorRadioButton = new QRadioButton(tr("Fill Color"), m_pContentButtonGroup); m_pContentButtonGroup->setButton(0); QVBoxLayout* mainLayout = new QVBoxLayout(this, 4, 4); + generalGroupBox->layout()->setSpacing(4); sizeGroupBox->layout()->setSpacing(4); m_pContentButtonGroup->layout()->setSpacing(4); + QGridLayout* generalLayout = new QGridLayout(generalGroupBox->layout(), 1, 1); QGridLayout* sizeLayout = new QGridLayout(sizeGroupBox->layout(), 2, 2); QVBoxLayout* contentLayout = new QVBoxLayout(m_pContentButtonGroup->layout()); + generalLayout->addWidget(titleLabel, 0, 0); + generalLayout->addWidget(m_pTitleLineEdit, 0, 1); + sizeLayout->addWidget(widthLabel, 0, 0); sizeLayout->addWidget(heightLabel, 1, 0); sizeLayout->addWidget(m_pWidthSpinBox, 0, 1); sizeLayout->addWidget(m_pHeightSpinBox, 1, 1); sizeLayout->setColStretch(1, 1); contentLayout->addWidget(whiteColorRadioButton); contentLayout->addWidget(penColorRadioButton); contentLayout->addWidget(brushColorRadioButton); + mainLayout->addWidget(generalGroupBox); mainLayout->addWidget(sizeGroupBox); mainLayout->addWidget(m_pContentButtonGroup); } NewPageDialog::~NewPageDialog() { diff --git a/noncore/graphics/drawpad/newpagedialog.h b/noncore/graphics/drawpad/newpagedialog.h index d680394..fe8f562 100644 --- a/noncore/graphics/drawpad/newpagedialog.h +++ b/noncore/graphics/drawpad/newpagedialog.h @@ -14,12 +14,13 @@ #ifndef NEWPAGEDIALOG_H #define NEWPAGEDIALOG_H #include <qdialog.h> class QButtonGroup; +class QLineEdit; class QSpinBox; class NewPageDialog : public QDialog { Q_OBJECT @@ -30,12 +31,14 @@ public: uint selectedWidth(); uint selectedHeight(); const QColor& selectedColor(); private: + QLineEdit* m_pTitleLineEdit; + QSpinBox* m_pWidthSpinBox; QSpinBox* m_pHeightSpinBox; QColor m_penColor; QColor m_brushColor; diff --git a/noncore/graphics/drawpad/pageinformationdialog.cpp b/noncore/graphics/drawpad/pageinformationdialog.cpp new file mode 100644 index 0000000..54cf89d --- a/dev/null +++ b/noncore/graphics/drawpad/pageinformationdialog.cpp @@ -0,0 +1,70 @@ +/*************************************************************************** + * * + * DrawPad - a drawing program for Opie Environment * + * * + * (C) 2002 by S. Prud'homme <prudhomme@laposte.net> * + * * + * 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 "pageinformationdialog.h" + +#include "page.h" + +#include <qgroupbox.h> +#include <qlabel.h> +#include <qlayout.h> +#include <qlineedit.h> + +PageInformationDialog::PageInformationDialog(Page* page, QWidget* parent, const char* name) + : QDialog(parent, name, true) +{ + m_pPage = page; + + setCaption(tr("Page Information")); + + QGroupBox* generalGroupBox = new QGroupBox(0, Qt::Vertical, tr("General"), this); + + QLabel* titleLabel = new QLabel(tr("Title:"), generalGroupBox); + m_pTitleLineEdit = new QLineEdit(generalGroupBox); + + QGroupBox* sizeGroupBox = new QGroupBox(0, Qt::Vertical, tr("Size"), this); + + QLabel* widthLabel = new QLabel(tr("Width:"), sizeGroupBox); + QLabel* widthValueLabel = new QLabel(QString::number(m_pPage->width()), sizeGroupBox); + + QLabel* heightLabel = new QLabel(tr("Height:"), sizeGroupBox); + QLabel* heightValueLabel = new QLabel(QString::number(m_pPage->height()), sizeGroupBox); + + QVBoxLayout* mainLayout = new QVBoxLayout(this, 4, 4); + generalGroupBox->layout()->setSpacing(4); + sizeGroupBox->layout()->setSpacing(4); + QGridLayout* generalLayout = new QGridLayout(generalGroupBox->layout(), 1, 1); + QGridLayout* sizeLayout = new QGridLayout(sizeGroupBox->layout(), 2, 2); + + generalLayout->addWidget(titleLabel, 0, 0); + generalLayout->addWidget(m_pTitleLineEdit, 0, 1); + + sizeLayout->addWidget(widthLabel, 0, 0); + sizeLayout->addWidget(widthValueLabel, 0, 1); + sizeLayout->addWidget(heightLabel, 1, 0); + sizeLayout->addWidget(heightValueLabel, 1, 1); + + sizeLayout->setColStretch(1, 1); + + mainLayout->addWidget(generalGroupBox); + mainLayout->addWidget(sizeGroupBox); +} + +PageInformationDialog::~PageInformationDialog() +{ +} + +QString PageInformationDialog::selectedTitle() +{ + return (m_pTitleLineEdit->text()); +} diff --git a/noncore/graphics/drawpad/pageinformationdialog.h b/noncore/graphics/drawpad/pageinformationdialog.h new file mode 100644 index 0000000..cce74ec --- a/dev/null +++ b/noncore/graphics/drawpad/pageinformationdialog.h @@ -0,0 +1,39 @@ +/*************************************************************************** + * * + * DrawPad - a drawing program for Opie Environment * + * * + * (C) 2002 by S. Prud'homme <prudhomme@laposte.net> * + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef PAGEINFORMATIONDIALOG_H +#define PAGEINFORMATIONDIALOG_H + +#include <qdialog.h> + +class Page; + +class QLineEdit; + +class PageInformationDialog : public QDialog +{ + Q_OBJECT + +public: + PageInformationDialog(Page* page, QWidget* parent = 0, const char* name = 0); + ~PageInformationDialog(); + + QString selectedTitle(); + +private: + Page* m_pPage; + + QLineEdit* m_pTitleLineEdit; +}; + +#endif // PAGEINFORMATIONDIALOG_H |