From 54de91b66a2f0f985ff89503e919f85713d1f22c Mon Sep 17 00:00:00 2001 From: leseb Date: Thu, 13 Jun 2002 16:43:16 +0000 Subject: Starting to implement page attributes --- (limited to 'noncore') 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 @@ -23,6 +23,7 @@ #include "importdialog.h" #include "linetool.h" #include "newpagedialog.h" +#include "pageinformationdialog.h" #include "pointtool.h" #include "rectangletool.h" #include "texttool.h" @@ -86,6 +87,10 @@ DrawPad::DrawPad(QWidget* parent, const char* name) 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); @@ -593,3 +598,11 @@ void DrawPad::thumbnailView() 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 @@ -65,6 +65,7 @@ private slots: void importPage(); void exportPage(); void thumbnailView(); + void pageInformation(); private: DrawPadCanvas* m_pDrawPadCanvas; 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 @@ -12,6 +12,7 @@ HEADERS = drawpad.h \ linetool.h \ newpagedialog.h \ page.h \ + pageinformationdialog.h \ pointtool.h \ rectangletool.h \ shapetool.h \ @@ -31,6 +32,7 @@ SOURCES = drawpad.cpp \ main.cpp \ newpagedialog.cpp \ page.cpp \ + pageinformationdialog.cpp \ pointtool.cpp \ rectangletool.cpp \ shapetool.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 @@ -17,6 +17,7 @@ #include #include #include +#include #include #include @@ -29,7 +30,12 @@ NewPageDialog::NewPageDialog(uint width, uint height, const QColor& penColor, 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); @@ -49,11 +55,16 @@ NewPageDialog::NewPageDialog(uint width, uint height, const QColor& penColor, 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); @@ -65,6 +76,7 @@ NewPageDialog::NewPageDialog(uint width, uint height, const QColor& penColor, contentLayout->addWidget(penColorRadioButton); contentLayout->addWidget(brushColorRadioButton); + mainLayout->addWidget(generalGroupBox); mainLayout->addWidget(sizeGroupBox); mainLayout->addWidget(m_pContentButtonGroup); } 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 @@ -17,6 +17,7 @@ #include class QButtonGroup; +class QLineEdit; class QSpinBox; class NewPageDialog : public QDialog @@ -33,6 +34,8 @@ public: const QColor& selectedColor(); private: + QLineEdit* m_pTitleLineEdit; + QSpinBox* m_pWidthSpinBox; QSpinBox* m_pHeightSpinBox; 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 * + * * + * 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 +#include +#include +#include + +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 * + * * + * 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 + +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 -- cgit v0.9.0.2