summaryrefslogtreecommitdiff
authorleseb <leseb>2002-06-13 16:43:16 (UTC)
committer leseb <leseb>2002-06-13 16:43:16 (UTC)
commit54de91b66a2f0f985ff89503e919f85713d1f22c (patch) (unidiff)
tree55df26ca5f08584beb4e033a1fee4510a8e2d45c
parent6a178f4ad2c3a9b92224c3506165cf03df41202e (diff)
downloadopie-54de91b66a2f0f985ff89503e919f85713d1f22c.zip
opie-54de91b66a2f0f985ff89503e919f85713d1f22c.tar.gz
opie-54de91b66a2f0f985ff89503e919f85713d1f22c.tar.bz2
Starting to implement page attributes
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/graphics/drawpad/drawpad.cpp13
-rw-r--r--noncore/graphics/drawpad/drawpad.h1
-rw-r--r--noncore/graphics/drawpad/drawpad.pro2
-rw-r--r--noncore/graphics/drawpad/newpagedialog.cpp14
-rw-r--r--noncore/graphics/drawpad/newpagedialog.h3
-rw-r--r--noncore/graphics/drawpad/pageinformationdialog.cpp70
-rw-r--r--noncore/graphics/drawpad/pageinformationdialog.h39
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
@@ -1,216 +1,221 @@
1/*************************************************************************** 1/***************************************************************************
2 * * 2 * *
3 * DrawPad - a drawing program for Opie Environment * 3 * DrawPad - a drawing program for Opie Environment *
4 * * 4 * *
5 * (C) 2002 by S. Prud'homme <prudhomme@laposte.net> * 5 * (C) 2002 by S. Prud'homme <prudhomme@laposte.net> *
6 * * 6 * *
7 * This program is free software; you can redistribute it and/or modify * 7 * This program is free software; you can redistribute it and/or modify *
8 * it under the terms of the GNU General Public License as published by * 8 * it under the terms of the GNU General Public License as published by *
9 * the Free Software Foundation; either version 2 of the License, or * 9 * the Free Software Foundation; either version 2 of the License, or *
10 * (at your option) any later version. * 10 * (at your option) any later version. *
11 * * 11 * *
12 ***************************************************************************/ 12 ***************************************************************************/
13 13
14#include "drawpad.h" 14#include "drawpad.h"
15 15
16#include "drawpadcanvas.h" 16#include "drawpadcanvas.h"
17#include "ellipsetool.h" 17#include "ellipsetool.h"
18#include "erasetool.h" 18#include "erasetool.h"
19#include "exportdialog.h" 19#include "exportdialog.h"
20#include "filledellipsetool.h" 20#include "filledellipsetool.h"
21#include "filledrectangletool.h" 21#include "filledrectangletool.h"
22#include "filltool.h" 22#include "filltool.h"
23#include "importdialog.h" 23#include "importdialog.h"
24#include "linetool.h" 24#include "linetool.h"
25#include "newpagedialog.h" 25#include "newpagedialog.h"
26#include "pageinformationdialog.h"
26#include "pointtool.h" 27#include "pointtool.h"
27#include "rectangletool.h" 28#include "rectangletool.h"
28#include "texttool.h" 29#include "texttool.h"
29#include "thumbnailview.h" 30#include "thumbnailview.h"
30 31
31#include <opie/colordialog.h> 32#include <opie/colordialog.h>
32#include <opie/colorpopupmenu.h> 33#include <opie/colorpopupmenu.h>
33 34
34#include <qpe/applnk.h> 35#include <qpe/applnk.h>
35#include <qpe/global.h> 36#include <qpe/global.h>
36#include <qpe/qpemenubar.h> 37#include <qpe/qpemenubar.h>
37#include <qpe/qpetoolbar.h> 38#include <qpe/qpetoolbar.h>
38#include <qpe/resource.h> 39#include <qpe/resource.h>
39 40
40#include <qaction.h> 41#include <qaction.h>
41#include <qfile.h> 42#include <qfile.h>
42#include <qmessagebox.h> 43#include <qmessagebox.h>
43#include <qpainter.h> 44#include <qpainter.h>
44#include <qspinbox.h> 45#include <qspinbox.h>
45#include <qtoolbutton.h> 46#include <qtoolbutton.h>
46#include <qtooltip.h> 47#include <qtooltip.h>
47 48
48DrawPad::DrawPad(QWidget* parent, const char* name) 49DrawPad::DrawPad(QWidget* parent, const char* name)
49 : QMainWindow(parent, name) 50 : QMainWindow(parent, name)
50{ 51{
51 // init members 52 // init members
52 53
53 m_pDrawPadCanvas = new DrawPadCanvas(this, this); 54 m_pDrawPadCanvas = new DrawPadCanvas(this, this);
54 55
55 connect(m_pDrawPadCanvas, SIGNAL(pagesChanged()), this, SLOT(updateNavigationToolButtons())); 56 connect(m_pDrawPadCanvas, SIGNAL(pagesChanged()), this, SLOT(updateNavigationToolButtons()));
56 connect(m_pDrawPadCanvas, SIGNAL(pagesChanged()), this, SLOT(updateCaption())); 57 connect(m_pDrawPadCanvas, SIGNAL(pagesChanged()), this, SLOT(updateCaption()));
57 connect(m_pDrawPadCanvas, SIGNAL(pageBackupsChanged()), this, SLOT(updateUndoRedoToolButtons())); 58 connect(m_pDrawPadCanvas, SIGNAL(pageBackupsChanged()), this, SLOT(updateUndoRedoToolButtons()));
58 59
59 setCentralWidget(m_pDrawPadCanvas); 60 setCentralWidget(m_pDrawPadCanvas);
60 61
61 // init menu 62 // init menu
62 63
63 setToolBarsMovable(false); 64 setToolBarsMovable(false);
64 65
65 QPEToolBar* menuToolBar = new QPEToolBar(this); 66 QPEToolBar* menuToolBar = new QPEToolBar(this);
66 QPEMenuBar* menuBar = new QPEMenuBar(menuToolBar); 67 QPEMenuBar* menuBar = new QPEMenuBar(menuToolBar);
67 68
68 QPopupMenu *toolsPopupMenu = new QPopupMenu(menuBar); 69 QPopupMenu *toolsPopupMenu = new QPopupMenu(menuBar);
69 70
70 QAction* deleteAllAction = new QAction(tr("Delete All"), QString::null, 0, this); 71 QAction* deleteAllAction = new QAction(tr("Delete All"), QString::null, 0, this);
71 connect(deleteAllAction, SIGNAL(activated()), this, SLOT(deleteAll())); 72 connect(deleteAllAction, SIGNAL(activated()), this, SLOT(deleteAll()));
72 deleteAllAction->addTo(toolsPopupMenu); 73 deleteAllAction->addTo(toolsPopupMenu);
73 74
74 toolsPopupMenu->insertSeparator(); 75 toolsPopupMenu->insertSeparator();
75 76
76 QAction* importPageAction = new QAction(tr("Import"), tr("Import..."), 0, this); 77 QAction* importPageAction = new QAction(tr("Import"), tr("Import..."), 0, this);
77 connect(importPageAction, SIGNAL(activated()), this, SLOT(importPage())); 78 connect(importPageAction, SIGNAL(activated()), this, SLOT(importPage()));
78 importPageAction->addTo(toolsPopupMenu); 79 importPageAction->addTo(toolsPopupMenu);
79 80
80 QAction* exportPageAction = new QAction(tr("Export"), tr("Export..."), 0, this); 81 QAction* exportPageAction = new QAction(tr("Export"), tr("Export..."), 0, this);
81 connect(exportPageAction, SIGNAL(activated()), this, SLOT(exportPage())); 82 connect(exportPageAction, SIGNAL(activated()), this, SLOT(exportPage()));
82 exportPageAction->addTo(toolsPopupMenu); 83 exportPageAction->addTo(toolsPopupMenu);
83 84
84 toolsPopupMenu->insertSeparator(); 85 toolsPopupMenu->insertSeparator();
85 86
86 QAction* thumbnailViewAction = new QAction(tr("Thumbnail View"), tr("Thumbnail View..."), 0, this); 87 QAction* thumbnailViewAction = new QAction(tr("Thumbnail View"), tr("Thumbnail View..."), 0, this);
87 connect(thumbnailViewAction, SIGNAL(activated()), this, SLOT(thumbnailView())); 88 connect(thumbnailViewAction, SIGNAL(activated()), this, SLOT(thumbnailView()));
88 thumbnailViewAction->addTo(toolsPopupMenu); 89 thumbnailViewAction->addTo(toolsPopupMenu);
90
91 QAction* pageInformationAction = new QAction(tr("Page Information"), tr("Page Information..."), 0, this);
92 connect(pageInformationAction, SIGNAL(activated()), this, SLOT(pageInformation()));
93 pageInformationAction->addTo(toolsPopupMenu);
89 94
90 menuBar->insertItem(tr("Tools"), toolsPopupMenu); 95 menuBar->insertItem(tr("Tools"), toolsPopupMenu);
91 96
92 // init page toolbar 97 // init page toolbar
93 98
94 QPEToolBar* pageToolBar = new QPEToolBar(this); 99 QPEToolBar* pageToolBar = new QPEToolBar(this);
95 100
96 QAction* newPageAction = new QAction(tr("New Page"), Resource::loadIconSet("new"), QString::null, 0, this); 101 QAction* newPageAction = new QAction(tr("New Page"), Resource::loadIconSet("new"), QString::null, 0, this);
97 connect(newPageAction, SIGNAL(activated()), this, SLOT(newPage())); 102 connect(newPageAction, SIGNAL(activated()), this, SLOT(newPage()));
98 newPageAction->addTo(pageToolBar); 103 newPageAction->addTo(pageToolBar);
99 104
100 QAction* clearPageAction = new QAction(tr("Clear Page"), Resource::loadIconSet("drawpad/clear"), QString::null, 0, this); 105 QAction* clearPageAction = new QAction(tr("Clear Page"), Resource::loadIconSet("drawpad/clear"), QString::null, 0, this);
101 connect(clearPageAction, SIGNAL(activated()), this, SLOT(clearPage())); 106 connect(clearPageAction, SIGNAL(activated()), this, SLOT(clearPage()));
102 clearPageAction->addTo(pageToolBar); 107 clearPageAction->addTo(pageToolBar);
103 108
104 QAction* deletePageAction = new QAction(tr("Delete Page"), Resource::loadIconSet("trash"), QString::null, 0, this); 109 QAction* deletePageAction = new QAction(tr("Delete Page"), Resource::loadIconSet("trash"), QString::null, 0, this);
105 connect(deletePageAction, SIGNAL(activated()), this, SLOT(deletePage())); 110 connect(deletePageAction, SIGNAL(activated()), this, SLOT(deletePage()));
106 deletePageAction->addTo(pageToolBar); 111 deletePageAction->addTo(pageToolBar);
107 112
108 QPEToolBar* emptyToolBar = new QPEToolBar(this); 113 QPEToolBar* emptyToolBar = new QPEToolBar(this);
109 emptyToolBar->setHorizontalStretchable(true); 114 emptyToolBar->setHorizontalStretchable(true);
110 115
111 // init navigation toolbar 116 // init navigation toolbar
112 117
113 QPEToolBar* navigationToolBar = new QPEToolBar(this); 118 QPEToolBar* navigationToolBar = new QPEToolBar(this);
114 119
115 m_pUndoAction = new QAction(tr("Undo"), Resource::loadIconSet("drawpad/undo"), QString::null, 0, this); 120 m_pUndoAction = new QAction(tr("Undo"), Resource::loadIconSet("drawpad/undo"), QString::null, 0, this);
116 connect(m_pUndoAction, SIGNAL(activated()), m_pDrawPadCanvas, SLOT(undo())); 121 connect(m_pUndoAction, SIGNAL(activated()), m_pDrawPadCanvas, SLOT(undo()));
117 m_pUndoAction->addTo(navigationToolBar); 122 m_pUndoAction->addTo(navigationToolBar);
118 123
119 m_pRedoAction = new QAction(tr("Redo"), Resource::loadIconSet("drawpad/redo"), QString::null, 0, this); 124 m_pRedoAction = new QAction(tr("Redo"), Resource::loadIconSet("drawpad/redo"), QString::null, 0, this);
120 connect(m_pRedoAction, SIGNAL(activated()), m_pDrawPadCanvas, SLOT(redo())); 125 connect(m_pRedoAction, SIGNAL(activated()), m_pDrawPadCanvas, SLOT(redo()));
121 m_pRedoAction->addTo(navigationToolBar); 126 m_pRedoAction->addTo(navigationToolBar);
122 127
123 m_pFirstPageAction = new QAction(tr("First Page"), Resource::loadIconSet("fastback"), QString::null, 0, this); 128 m_pFirstPageAction = new QAction(tr("First Page"), Resource::loadIconSet("fastback"), QString::null, 0, this);
124 connect(m_pFirstPageAction, SIGNAL(activated()), m_pDrawPadCanvas, SLOT(goFirstPage())); 129 connect(m_pFirstPageAction, SIGNAL(activated()), m_pDrawPadCanvas, SLOT(goFirstPage()));
125 m_pFirstPageAction->addTo(navigationToolBar); 130 m_pFirstPageAction->addTo(navigationToolBar);
126 131
127 m_pPreviousPageAction = new QAction(tr("Previous Page"), Resource::loadIconSet("back"), QString::null, 0, this); 132 m_pPreviousPageAction = new QAction(tr("Previous Page"), Resource::loadIconSet("back"), QString::null, 0, this);
128 connect(m_pPreviousPageAction, SIGNAL(activated()), m_pDrawPadCanvas, SLOT(goPreviousPage())); 133 connect(m_pPreviousPageAction, SIGNAL(activated()), m_pDrawPadCanvas, SLOT(goPreviousPage()));
129 m_pPreviousPageAction->addTo(navigationToolBar); 134 m_pPreviousPageAction->addTo(navigationToolBar);
130 135
131 m_pNextPageAction = new QAction(tr("Next Page"), Resource::loadIconSet("forward"), QString::null, 0, this); 136 m_pNextPageAction = new QAction(tr("Next Page"), Resource::loadIconSet("forward"), QString::null, 0, this);
132 connect(m_pNextPageAction, SIGNAL(activated()), m_pDrawPadCanvas, SLOT(goNextPage())); 137 connect(m_pNextPageAction, SIGNAL(activated()), m_pDrawPadCanvas, SLOT(goNextPage()));
133 m_pNextPageAction->addTo(navigationToolBar); 138 m_pNextPageAction->addTo(navigationToolBar);
134 139
135 m_pLastPageAction = new QAction(tr("Last Page"), Resource::loadIconSet("fastforward"), QString::null, 0, this); 140 m_pLastPageAction = new QAction(tr("Last Page"), Resource::loadIconSet("fastforward"), QString::null, 0, this);
136 connect(m_pLastPageAction, SIGNAL(activated()), m_pDrawPadCanvas, SLOT(goLastPage())); 141 connect(m_pLastPageAction, SIGNAL(activated()), m_pDrawPadCanvas, SLOT(goLastPage()));
137 m_pLastPageAction->addTo(navigationToolBar); 142 m_pLastPageAction->addTo(navigationToolBar);
138 143
139 // init draw mode toolbar 144 // init draw mode toolbar
140 145
141 QPEToolBar* drawModeToolBar = new QPEToolBar(this); 146 QPEToolBar* drawModeToolBar = new QPEToolBar(this);
142 147
143 m_pLineToolButton = new QToolButton(drawModeToolBar); 148 m_pLineToolButton = new QToolButton(drawModeToolBar);
144 m_pLineToolButton->setToggleButton(true); 149 m_pLineToolButton->setToggleButton(true);
145 150
146 QPopupMenu* linePopupMenu = new QPopupMenu(m_pLineToolButton); 151 QPopupMenu* linePopupMenu = new QPopupMenu(m_pLineToolButton);
147 152
148 m_pPointToolAction = new QAction(tr("Draw Point"), Resource::loadIconSet("drawpad/point.png"), "", 0, this); 153 m_pPointToolAction = new QAction(tr("Draw Point"), Resource::loadIconSet("drawpad/point.png"), "", 0, this);
149 connect(m_pPointToolAction, SIGNAL(activated()), this, SLOT(setPointTool())); 154 connect(m_pPointToolAction, SIGNAL(activated()), this, SLOT(setPointTool()));
150 m_pPointToolAction->addTo(linePopupMenu); 155 m_pPointToolAction->addTo(linePopupMenu);
151 156
152 m_pLineToolAction = new QAction(tr("Draw Line"), Resource::loadIconSet("drawpad/line.png"), "", 0, this); 157 m_pLineToolAction = new QAction(tr("Draw Line"), Resource::loadIconSet("drawpad/line.png"), "", 0, this);
153 connect(m_pLineToolAction, SIGNAL(activated()), this, SLOT(setLineTool())); 158 connect(m_pLineToolAction, SIGNAL(activated()), this, SLOT(setLineTool()));
154 m_pLineToolAction->addTo(linePopupMenu); 159 m_pLineToolAction->addTo(linePopupMenu);
155 160
156 m_pLineToolButton->setPopup(linePopupMenu); 161 m_pLineToolButton->setPopup(linePopupMenu);
157 m_pLineToolButton->setPopupDelay(0); 162 m_pLineToolButton->setPopupDelay(0);
158 163
159 m_pRectangleToolButton = new QToolButton(drawModeToolBar); 164 m_pRectangleToolButton = new QToolButton(drawModeToolBar);
160 m_pRectangleToolButton->setToggleButton(true); 165 m_pRectangleToolButton->setToggleButton(true);
161 166
162 QPopupMenu* rectanglePopupMenu = new QPopupMenu(m_pRectangleToolButton); 167 QPopupMenu* rectanglePopupMenu = new QPopupMenu(m_pRectangleToolButton);
163 168
164 m_pRectangleToolAction = new QAction(tr("Draw Rectangle"), Resource::loadIconSet("drawpad/rectangle.png"), "", 0, this); 169 m_pRectangleToolAction = new QAction(tr("Draw Rectangle"), Resource::loadIconSet("drawpad/rectangle.png"), "", 0, this);
165 connect(m_pRectangleToolAction, SIGNAL(activated()), this, SLOT(setRectangleTool())); 170 connect(m_pRectangleToolAction, SIGNAL(activated()), this, SLOT(setRectangleTool()));
166 m_pRectangleToolAction->addTo(rectanglePopupMenu); 171 m_pRectangleToolAction->addTo(rectanglePopupMenu);
167 172
168 m_pFilledRectangleToolAction = new QAction(tr("Draw Filled Rectangle"), Resource::loadIconSet("drawpad/filledrectangle.png"), "", 0, this); 173 m_pFilledRectangleToolAction = new QAction(tr("Draw Filled Rectangle"), Resource::loadIconSet("drawpad/filledrectangle.png"), "", 0, this);
169 connect(m_pFilledRectangleToolAction, SIGNAL(activated()), this, SLOT(setFilledRectangleTool())); 174 connect(m_pFilledRectangleToolAction, SIGNAL(activated()), this, SLOT(setFilledRectangleTool()));
170 m_pFilledRectangleToolAction->addTo(rectanglePopupMenu); 175 m_pFilledRectangleToolAction->addTo(rectanglePopupMenu);
171 176
172 m_pRectangleToolButton->setPopup(rectanglePopupMenu); 177 m_pRectangleToolButton->setPopup(rectanglePopupMenu);
173 m_pRectangleToolButton->setPopupDelay(0); 178 m_pRectangleToolButton->setPopupDelay(0);
174 179
175 m_pEllipseToolButton = new QToolButton(drawModeToolBar); 180 m_pEllipseToolButton = new QToolButton(drawModeToolBar);
176 m_pEllipseToolButton->setToggleButton(true); 181 m_pEllipseToolButton->setToggleButton(true);
177 182
178 QPopupMenu* ellipsePopupMenu = new QPopupMenu(m_pEllipseToolButton); 183 QPopupMenu* ellipsePopupMenu = new QPopupMenu(m_pEllipseToolButton);
179 184
180 m_pEllipseToolAction = new QAction(tr("Draw Ellipse"), Resource::loadIconSet("drawpad/ellipse.png"), "", 0, this); 185 m_pEllipseToolAction = new QAction(tr("Draw Ellipse"), Resource::loadIconSet("drawpad/ellipse.png"), "", 0, this);
181 connect(m_pEllipseToolAction, SIGNAL(activated()), this, SLOT(setEllipseTool())); 186 connect(m_pEllipseToolAction, SIGNAL(activated()), this, SLOT(setEllipseTool()));
182 m_pEllipseToolAction->addTo(ellipsePopupMenu); 187 m_pEllipseToolAction->addTo(ellipsePopupMenu);
183 188
184 m_pFilledEllipseToolAction = new QAction(tr("Draw Filled Ellipse"), Resource::loadIconSet("drawpad/filledellipse.png"), "", 0, this); 189 m_pFilledEllipseToolAction = new QAction(tr("Draw Filled Ellipse"), Resource::loadIconSet("drawpad/filledellipse.png"), "", 0, this);
185 connect(m_pFilledEllipseToolAction, SIGNAL(activated()), this, SLOT(setFilledEllipseTool())); 190 connect(m_pFilledEllipseToolAction, SIGNAL(activated()), this, SLOT(setFilledEllipseTool()));
186 m_pFilledEllipseToolAction->addTo(ellipsePopupMenu); 191 m_pFilledEllipseToolAction->addTo(ellipsePopupMenu);
187 192
188 m_pEllipseToolButton->setPopup(ellipsePopupMenu); 193 m_pEllipseToolButton->setPopup(ellipsePopupMenu);
189 m_pEllipseToolButton->setPopupDelay(0); 194 m_pEllipseToolButton->setPopupDelay(0);
190 195
191 m_pTextToolAction = new QAction(tr("Insert Text"), Resource::loadIconSet("drawpad/text.png"), QString::null, 0, this); 196 m_pTextToolAction = new QAction(tr("Insert Text"), Resource::loadIconSet("drawpad/text.png"), QString::null, 0, this);
192 m_pTextToolAction->setToggleAction(true); 197 m_pTextToolAction->setToggleAction(true);
193 connect(m_pTextToolAction, SIGNAL(activated()), this, SLOT(setTextTool())); 198 connect(m_pTextToolAction, SIGNAL(activated()), this, SLOT(setTextTool()));
194 m_pTextToolAction->addTo(drawModeToolBar); 199 m_pTextToolAction->addTo(drawModeToolBar);
195 200
196 m_pFillToolAction = new QAction(tr("Fill Region"), Resource::loadIconSet("drawpad/fill.png"), QString::null, 0, this); 201 m_pFillToolAction = new QAction(tr("Fill Region"), Resource::loadIconSet("drawpad/fill.png"), QString::null, 0, this);
197 m_pFillToolAction->setToggleAction(true); 202 m_pFillToolAction->setToggleAction(true);
198 connect(m_pFillToolAction, SIGNAL(activated()), this, SLOT(setFillTool())); 203 connect(m_pFillToolAction, SIGNAL(activated()), this, SLOT(setFillTool()));
199 m_pFillToolAction->addTo(drawModeToolBar); 204 m_pFillToolAction->addTo(drawModeToolBar);
200 205
201 m_pEraseToolAction = new QAction(tr("Erase Point"), Resource::loadIconSet("drawpad/erase.png"), QString::null, 0, this); 206 m_pEraseToolAction = new QAction(tr("Erase Point"), Resource::loadIconSet("drawpad/erase.png"), QString::null, 0, this);
202 m_pEraseToolAction->setToggleAction(true); 207 m_pEraseToolAction->setToggleAction(true);
203 connect(m_pEraseToolAction, SIGNAL(activated()), this, SLOT(setEraseTool())); 208 connect(m_pEraseToolAction, SIGNAL(activated()), this, SLOT(setEraseTool()));
204 m_pEraseToolAction->addTo(drawModeToolBar); 209 m_pEraseToolAction->addTo(drawModeToolBar);
205 210
206 m_pTool = 0; 211 m_pTool = 0;
207 setRectangleTool(); 212 setRectangleTool();
208 setEllipseTool(); 213 setEllipseTool();
209 setPointTool(); 214 setPointTool();
210 215
211 emptyToolBar = new QPEToolBar(this); 216 emptyToolBar = new QPEToolBar(this);
212 emptyToolBar->setHorizontalStretchable(true); 217 emptyToolBar->setHorizontalStretchable(true);
213 emptyToolBar->addSeparator(); 218 emptyToolBar->addSeparator();
214 219
215 // init draw parameters toolbar 220 // init draw parameters toolbar
216 221
@@ -468,128 +473,136 @@ void DrawPad::setFillTool()
468 m_pTool = new FillTool(this, m_pDrawPadCanvas); 473 m_pTool = new FillTool(this, m_pDrawPadCanvas);
469 474
470 m_pLineToolButton->setOn(false); 475 m_pLineToolButton->setOn(false);
471 m_pRectangleToolButton->setOn(false); 476 m_pRectangleToolButton->setOn(false);
472 m_pEllipseToolButton->setOn(false); 477 m_pEllipseToolButton->setOn(false);
473 m_pTextToolAction->setOn(false); 478 m_pTextToolAction->setOn(false);
474 m_pFillToolAction->setOn(true); 479 m_pFillToolAction->setOn(true);
475 m_pEraseToolAction->setOn(false); 480 m_pEraseToolAction->setOn(false);
476} 481}
477 482
478void DrawPad::setEraseTool() 483void DrawPad::setEraseTool()
479{ 484{
480 if (m_pTool) { 485 if (m_pTool) {
481 delete m_pTool; 486 delete m_pTool;
482 } 487 }
483 488
484 m_pTool = new EraseTool(this, m_pDrawPadCanvas); 489 m_pTool = new EraseTool(this, m_pDrawPadCanvas);
485 490
486 m_pLineToolButton->setOn(false); 491 m_pLineToolButton->setOn(false);
487 m_pRectangleToolButton->setOn(false); 492 m_pRectangleToolButton->setOn(false);
488 m_pEllipseToolButton->setOn(false); 493 m_pEllipseToolButton->setOn(false);
489 m_pTextToolAction->setOn(false); 494 m_pTextToolAction->setOn(false);
490 m_pFillToolAction->setOn(false); 495 m_pFillToolAction->setOn(false);
491 m_pEraseToolAction->setOn(true); 496 m_pEraseToolAction->setOn(true);
492} 497}
493 498
494void DrawPad::changePenWidth(int value) 499void DrawPad::changePenWidth(int value)
495{ 500{
496 m_pen.setWidth(value); 501 m_pen.setWidth(value);
497} 502}
498 503
499void DrawPad::changePenColor(const QColor& color) 504void DrawPad::changePenColor(const QColor& color)
500{ 505{
501 m_pen.setColor(color); 506 m_pen.setColor(color);
502 507
503 QPainter painter; 508 QPainter painter;
504 painter.begin(m_pPenColorToolButton->pixmap()); 509 painter.begin(m_pPenColorToolButton->pixmap());
505 painter.fillRect(QRect(0, 12, 14, 2), m_pen.color()); 510 painter.fillRect(QRect(0, 12, 14, 2), m_pen.color());
506 painter.end(); 511 painter.end();
507 512
508 m_pPenColorToolButton->popup()->hide(); 513 m_pPenColorToolButton->popup()->hide();
509} 514}
510 515
511void DrawPad::changeBrushColor(const QColor& color) 516void DrawPad::changeBrushColor(const QColor& color)
512{ 517{
513 m_brush = QBrush(color); 518 m_brush = QBrush(color);
514 519
515 QPainter painter; 520 QPainter painter;
516 painter.begin(m_pBrushColorToolButton->pixmap()); 521 painter.begin(m_pBrushColorToolButton->pixmap());
517 painter.fillRect(QRect(0, 12, 14, 2), m_brush.color()); 522 painter.fillRect(QRect(0, 12, 14, 2), m_brush.color());
518 painter.end(); 523 painter.end();
519 524
520 m_pBrushColorToolButton->popup()->hide(); 525 m_pBrushColorToolButton->popup()->hide();
521} 526}
522 527
523void DrawPad::updateUndoRedoToolButtons() 528void DrawPad::updateUndoRedoToolButtons()
524{ 529{
525 m_pUndoAction->setEnabled(m_pDrawPadCanvas->undoEnabled()); 530 m_pUndoAction->setEnabled(m_pDrawPadCanvas->undoEnabled());
526 m_pRedoAction->setEnabled(m_pDrawPadCanvas->redoEnabled()); 531 m_pRedoAction->setEnabled(m_pDrawPadCanvas->redoEnabled());
527} 532}
528 533
529void DrawPad::updateNavigationToolButtons() 534void DrawPad::updateNavigationToolButtons()
530{ 535{
531 m_pFirstPageAction->setEnabled(m_pDrawPadCanvas->goPreviousPageEnabled()); 536 m_pFirstPageAction->setEnabled(m_pDrawPadCanvas->goPreviousPageEnabled());
532 m_pPreviousPageAction->setEnabled(m_pDrawPadCanvas->goPreviousPageEnabled()); 537 m_pPreviousPageAction->setEnabled(m_pDrawPadCanvas->goPreviousPageEnabled());
533 m_pNextPageAction->setEnabled(m_pDrawPadCanvas->goNextPageEnabled()); 538 m_pNextPageAction->setEnabled(m_pDrawPadCanvas->goNextPageEnabled());
534 m_pLastPageAction->setEnabled(m_pDrawPadCanvas->goNextPageEnabled()); 539 m_pLastPageAction->setEnabled(m_pDrawPadCanvas->goNextPageEnabled());
535} 540}
536 541
537void DrawPad::updateCaption() 542void DrawPad::updateCaption()
538{ 543{
539 uint pagePosition = m_pDrawPadCanvas->pagePosition(); 544 uint pagePosition = m_pDrawPadCanvas->pagePosition();
540 uint pageCount = m_pDrawPadCanvas->pageCount(); 545 uint pageCount = m_pDrawPadCanvas->pageCount();
541 546
542 setCaption(tr("DrawPad") + " - " + tr("Page") + " " 547 setCaption(tr("DrawPad") + " - " + tr("Page") + " "
543 + QString::number(pagePosition) + "/" + QString::number(pageCount)); 548 + QString::number(pagePosition) + "/" + QString::number(pageCount));
544} 549}
545 550
546void DrawPad::deleteAll() 551void DrawPad::deleteAll()
547{ 552{
548 QMessageBox messageBox(tr("Delete All"), tr("Do you want to delete\nall the pages?"), 553 QMessageBox messageBox(tr("Delete All"), tr("Do you want to delete\nall the pages?"),
549 QMessageBox::Information, QMessageBox::Yes, 554 QMessageBox::Information, QMessageBox::Yes,
550 QMessageBox::No | QMessageBox::Escape | QMessageBox::Default, 555 QMessageBox::No | QMessageBox::Escape | QMessageBox::Default,
551 QMessageBox::NoButton, this); 556 QMessageBox::NoButton, this);
552 557
553 messageBox.setButtonText(QMessageBox::Yes, tr("Yes")); 558 messageBox.setButtonText(QMessageBox::Yes, tr("Yes"));
554 messageBox.setButtonText(QMessageBox::No, tr("No")); 559 messageBox.setButtonText(QMessageBox::No, tr("No"));
555 560
556 if (messageBox.exec() == QMessageBox::Yes) { 561 if (messageBox.exec() == QMessageBox::Yes) {
557 m_pDrawPadCanvas->deleteAll(); 562 m_pDrawPadCanvas->deleteAll();
558 } 563 }
559} 564}
560 565
561void DrawPad::importPage() 566void DrawPad::importPage()
562{ 567{
563 ImportDialog importDialog(this); 568 ImportDialog importDialog(this);
564 569
565 importDialog.showMaximized(); 570 importDialog.showMaximized();
566 571
567 if (importDialog.exec() == QDialog::Accepted) { 572 if (importDialog.exec() == QDialog::Accepted) {
568 const DocLnk* docLnk = importDialog.selected(); 573 const DocLnk* docLnk = importDialog.selected();
569 574
570 if (docLnk) { 575 if (docLnk) {
571 m_pDrawPadCanvas->importPage(docLnk->file()); 576 m_pDrawPadCanvas->importPage(docLnk->file());
572 delete docLnk; 577 delete docLnk;
573 } 578 }
574 } 579 }
575} 580}
576 581
577void DrawPad::exportPage() 582void DrawPad::exportPage()
578{ 583{
579 ExportDialog exportDialog(m_pDrawPadCanvas->pagePosition(), m_pDrawPadCanvas->pageCount(), this); 584 ExportDialog exportDialog(m_pDrawPadCanvas->pagePosition(), m_pDrawPadCanvas->pageCount(), this);
580 585
581 exportDialog.showMaximized(); 586 exportDialog.showMaximized();
582 587
583 if (exportDialog.exec() == QDialog::Accepted) { 588 if (exportDialog.exec() == QDialog::Accepted) {
584 m_pDrawPadCanvas->exportPage(exportDialog.selectedFromPage(), exportDialog.selectedToPage(), 589 m_pDrawPadCanvas->exportPage(exportDialog.selectedFromPage(), exportDialog.selectedToPage(),
585 exportDialog.selectedName(), exportDialog.selectedFormat()); 590 exportDialog.selectedName(), exportDialog.selectedFormat());
586 } 591 }
587} 592}
588 593
589void DrawPad::thumbnailView() 594void DrawPad::thumbnailView()
590{ 595{
591 ThumbnailView thumbnailView(this, m_pDrawPadCanvas, this); 596 ThumbnailView thumbnailView(this, m_pDrawPadCanvas, this);
592 597
593 thumbnailView.showMaximized(); 598 thumbnailView.showMaximized();
594 thumbnailView.exec(); 599 thumbnailView.exec();
595} 600}
601
602void DrawPad::pageInformation()
603{
604 PageInformationDialog pageInformationDialog(m_pDrawPadCanvas->currentPage());
605
606 if (pageInformationDialog.exec() == QDialog::Accepted) {
607 }
608}
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
@@ -1,101 +1,102 @@
1/*************************************************************************** 1/***************************************************************************
2 * * 2 * *
3 * DrawPad - a drawing program for Opie Environment * 3 * DrawPad - a drawing program for Opie Environment *
4 * * 4 * *
5 * (C) 2002 by S. Prud'homme <prudhomme@laposte.net> * 5 * (C) 2002 by S. Prud'homme <prudhomme@laposte.net> *
6 * * 6 * *
7 * This program is free software; you can redistribute it and/or modify * 7 * This program is free software; you can redistribute it and/or modify *
8 * it under the terms of the GNU General Public License as published by * 8 * it under the terms of the GNU General Public License as published by *
9 * the Free Software Foundation; either version 2 of the License, or * 9 * the Free Software Foundation; either version 2 of the License, or *
10 * (at your option) any later version. * 10 * (at your option) any later version. *
11 * * 11 * *
12 ***************************************************************************/ 12 ***************************************************************************/
13 13
14#ifndef DRAWPAD_H 14#ifndef DRAWPAD_H
15#define DRAWPAD_H 15#define DRAWPAD_H
16 16
17#include <qmainwindow.h> 17#include <qmainwindow.h>
18 18
19#include <qpen.h> 19#include <qpen.h>
20 20
21class DrawPadCanvas; 21class DrawPadCanvas;
22class Tool; 22class Tool;
23 23
24class QAction; 24class QAction;
25class QColor; 25class QColor;
26class QToolButton; 26class QToolButton;
27class QWidgetStack; 27class QWidgetStack;
28 28
29class DrawPad : public QMainWindow 29class DrawPad : public QMainWindow
30{ 30{
31 Q_OBJECT 31 Q_OBJECT
32 32
33public: 33public:
34 DrawPad(QWidget* parent = 0, const char* name = 0); 34 DrawPad(QWidget* parent = 0, const char* name = 0);
35 ~DrawPad(); 35 ~DrawPad();
36 36
37 Tool* tool() { return m_pTool; } 37 Tool* tool() { return m_pTool; }
38 QPen pen() { return m_pen; } 38 QPen pen() { return m_pen; }
39 QBrush brush() { return m_brush; } 39 QBrush brush() { return m_brush; }
40 40
41private slots: 41private slots:
42 void newPage(); 42 void newPage();
43 void clearPage(); 43 void clearPage();
44 void deletePage(); 44 void deletePage();
45 45
46 void setPointTool(); 46 void setPointTool();
47 void setLineTool(); 47 void setLineTool();
48 void setRectangleTool(); 48 void setRectangleTool();
49 void setFilledRectangleTool(); 49 void setFilledRectangleTool();
50 void setEllipseTool(); 50 void setEllipseTool();
51 void setFilledEllipseTool(); 51 void setFilledEllipseTool();
52 void setTextTool(); 52 void setTextTool();
53 void setFillTool(); 53 void setFillTool();
54 void setEraseTool(); 54 void setEraseTool();
55 55
56 void changePenWidth(int value); 56 void changePenWidth(int value);
57 void changePenColor(const QColor& color); 57 void changePenColor(const QColor& color);
58 void changeBrushColor(const QColor& color); 58 void changeBrushColor(const QColor& color);
59 59
60 void updateUndoRedoToolButtons(); 60 void updateUndoRedoToolButtons();
61 void updateNavigationToolButtons(); 61 void updateNavigationToolButtons();
62 void updateCaption(); 62 void updateCaption();
63 63
64 void deleteAll(); 64 void deleteAll();
65 void importPage(); 65 void importPage();
66 void exportPage(); 66 void exportPage();
67 void thumbnailView(); 67 void thumbnailView();
68 void pageInformation();
68 69
69private: 70private:
70 DrawPadCanvas* m_pDrawPadCanvas; 71 DrawPadCanvas* m_pDrawPadCanvas;
71 72
72 Tool* m_pTool; 73 Tool* m_pTool;
73 QPen m_pen; 74 QPen m_pen;
74 QBrush m_brush; 75 QBrush m_brush;
75 76
76 QAction* m_pUndoAction; 77 QAction* m_pUndoAction;
77 QAction* m_pRedoAction; 78 QAction* m_pRedoAction;
78 79
79 QAction* m_pFirstPageAction; 80 QAction* m_pFirstPageAction;
80 QAction* m_pPreviousPageAction; 81 QAction* m_pPreviousPageAction;
81 QAction* m_pNextPageAction; 82 QAction* m_pNextPageAction;
82 QAction* m_pLastPageAction; 83 QAction* m_pLastPageAction;
83 84
84 QAction* m_pPointToolAction; 85 QAction* m_pPointToolAction;
85 QAction* m_pLineToolAction; 86 QAction* m_pLineToolAction;
86 QAction* m_pRectangleToolAction; 87 QAction* m_pRectangleToolAction;
87 QAction* m_pFilledRectangleToolAction; 88 QAction* m_pFilledRectangleToolAction;
88 QAction* m_pEllipseToolAction; 89 QAction* m_pEllipseToolAction;
89 QAction* m_pFilledEllipseToolAction; 90 QAction* m_pFilledEllipseToolAction;
90 QAction* m_pTextToolAction; 91 QAction* m_pTextToolAction;
91 QAction* m_pFillToolAction; 92 QAction* m_pFillToolAction;
92 QAction* m_pEraseToolAction; 93 QAction* m_pEraseToolAction;
93 94
94 QToolButton* m_pLineToolButton; 95 QToolButton* m_pLineToolButton;
95 QToolButton* m_pRectangleToolButton; 96 QToolButton* m_pRectangleToolButton;
96 QToolButton* m_pEllipseToolButton; 97 QToolButton* m_pEllipseToolButton;
97 QToolButton* m_pPenColorToolButton; 98 QToolButton* m_pPenColorToolButton;
98 QToolButton* m_pBrushColorToolButton; 99 QToolButton* m_pBrushColorToolButton;
99}; 100};
100 101
101#endif // DRAWPAD_H 102#endif // DRAWPAD_H
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
@@ -1,58 +1,60 @@
1 TEMPLATE= app 1 TEMPLATE= app
2 CONFIG = qt warn_on release 2 CONFIG = qt warn_on release
3 HEADERS = drawpad.h \ 3 HEADERS = drawpad.h \
4 drawpadcanvas.h \ 4 drawpadcanvas.h \
5 ellipsetool.h \ 5 ellipsetool.h \
6 erasetool.h \ 6 erasetool.h \
7 exportdialog.h \ 7 exportdialog.h \
8 filltool.h \ 8 filltool.h \
9 filledellipsetool.h \ 9 filledellipsetool.h \
10 filledrectangletool.h \ 10 filledrectangletool.h \
11 importdialog.h \ 11 importdialog.h \
12 linetool.h \ 12 linetool.h \
13 newpagedialog.h \ 13 newpagedialog.h \
14 page.h \ 14 page.h \
15 pageinformationdialog.h \
15 pointtool.h \ 16 pointtool.h \
16 rectangletool.h \ 17 rectangletool.h \
17 shapetool.h \ 18 shapetool.h \
18 texttool.h \ 19 texttool.h \
19 thumbnailview.h \ 20 thumbnailview.h \
20 tool.h 21 tool.h
21 SOURCES = drawpad.cpp \ 22 SOURCES = drawpad.cpp \
22 drawpadcanvas.cpp \ 23 drawpadcanvas.cpp \
23 ellipsetool.cpp \ 24 ellipsetool.cpp \
24 erasetool.cpp \ 25 erasetool.cpp \
25 exportdialog.cpp \ 26 exportdialog.cpp \
26 filltool.cpp \ 27 filltool.cpp \
27 filledellipsetool.cpp \ 28 filledellipsetool.cpp \
28 filledrectangletool.cpp \ 29 filledrectangletool.cpp \
29 importdialog.cpp \ 30 importdialog.cpp \
30 linetool.cpp \ 31 linetool.cpp \
31 main.cpp \ 32 main.cpp \
32 newpagedialog.cpp \ 33 newpagedialog.cpp \
33 page.cpp \ 34 page.cpp \
35 pageinformationdialog.cpp \
34 pointtool.cpp \ 36 pointtool.cpp \
35 rectangletool.cpp \ 37 rectangletool.cpp \
36 shapetool.cpp \ 38 shapetool.cpp \
37 texttool.cpp \ 39 texttool.cpp \
38 thumbnailview.cpp \ 40 thumbnailview.cpp \
39 tool.cpp 41 tool.cpp
40 INCLUDEPATH+= $(OPIEDIR)/include \ 42 INCLUDEPATH+= $(OPIEDIR)/include \
41 $(QTDIR)/src/3rdparty/zlib 43 $(QTDIR)/src/3rdparty/zlib
42 DEPENDPATH+= $(OPIEDIR)/include 44 DEPENDPATH+= $(OPIEDIR)/include
43 LIBS += -lqpe -lopie 45 LIBS += -lqpe -lopie
44 DESTDIR = $(OPIEDIR)/bin 46 DESTDIR = $(OPIEDIR)/bin
45 TARGET = drawpad 47 TARGET = drawpad
46 48
47 TRANSLATIONS= ../../i18n/de/drawpad.ts 49 TRANSLATIONS= ../../i18n/de/drawpad.ts
48 TRANSLATIONS+= ../../i18n/en/drawpad.ts 50 TRANSLATIONS+= ../../i18n/en/drawpad.ts
49 TRANSLATIONS+= ../../i18n/fr/drawpad.ts 51 TRANSLATIONS+= ../../i18n/fr/drawpad.ts
50 TRANSLATIONS+= ../../i18n/hu/drawpad.ts 52 TRANSLATIONS+= ../../i18n/hu/drawpad.ts
51 TRANSLATIONS+= ../../i18n/ja/drawpad.ts 53 TRANSLATIONS+= ../../i18n/ja/drawpad.ts
52 TRANSLATIONS+= ../../i18n/ko/drawpad.ts 54 TRANSLATIONS+= ../../i18n/ko/drawpad.ts
53 TRANSLATIONS+= ../../i18n/no/drawpad.ts 55 TRANSLATIONS+= ../../i18n/no/drawpad.ts
54 TRANSLATIONS+= ../../i18n/pl/drawpad.ts 56 TRANSLATIONS+= ../../i18n/pl/drawpad.ts
55 TRANSLATIONS+= ../../i18n/pt_BR/drawpad.ts 57 TRANSLATIONS+= ../../i18n/pt_BR/drawpad.ts
56 TRANSLATIONS+= ../../i18n/sl/drawpad.ts 58 TRANSLATIONS+= ../../i18n/sl/drawpad.ts
57 TRANSLATIONS+= ../../i18n/zh_CN/drawpad.ts 59 TRANSLATIONS+= ../../i18n/zh_CN/drawpad.ts
58 TRANSLATIONS+= ../../i18n/zh_TW/drawpad.ts 60 TRANSLATIONS+= ../../i18n/zh_TW/drawpad.ts
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
@@ -1,102 +1,114 @@
1/*************************************************************************** 1/***************************************************************************
2 * * 2 * *
3 * DrawPad - a drawing program for Opie Environment * 3 * DrawPad - a drawing program for Opie Environment *
4 * * 4 * *
5 * (C) 2002 by S. Prud'homme <prudhomme@laposte.net> * 5 * (C) 2002 by S. Prud'homme <prudhomme@laposte.net> *
6 * * 6 * *
7 * This program is free software; you can redistribute it and/or modify * 7 * This program is free software; you can redistribute it and/or modify *
8 * it under the terms of the GNU General Public License as published by * 8 * it under the terms of the GNU General Public License as published by *
9 * the Free Software Foundation; either version 2 of the License, or * 9 * the Free Software Foundation; either version 2 of the License, or *
10 * (at your option) any later version. * 10 * (at your option) any later version. *
11 * * 11 * *
12 ***************************************************************************/ 12 ***************************************************************************/
13 13
14#include "newpagedialog.h" 14#include "newpagedialog.h"
15 15
16#include <qbuttongroup.h> 16#include <qbuttongroup.h>
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 <qlineedit.h>
20#include <qradiobutton.h> 21#include <qradiobutton.h>
21#include <qspinbox.h> 22#include <qspinbox.h>
22 23
23NewPageDialog::NewPageDialog(uint width, uint height, const QColor& penColor, 24NewPageDialog::NewPageDialog(uint width, uint height, const QColor& penColor,
24 const QColor& brushColor, QWidget* parent, const char* name) 25 const QColor& brushColor, QWidget* parent, const char* name)
25 : QDialog(parent, name, true) 26 : QDialog(parent, name, true)
26{ 27{
27 setCaption(tr("New Page")); 28 setCaption(tr("New Page"));
28 29
29 m_penColor = penColor; 30 m_penColor = penColor;
30 m_brushColor = brushColor; 31 m_brushColor = brushColor;
31 32
32 QGroupBox* sizeGroupBox = new QGroupBox(0, Qt::Vertical, tr("Page Size"), this); 33 QGroupBox* generalGroupBox = new QGroupBox(0, Qt::Vertical, tr("General"), this);
34
35 QLabel* titleLabel = new QLabel(tr("Title:"), generalGroupBox);
36 m_pTitleLineEdit = new QLineEdit(generalGroupBox);
37
38 QGroupBox* sizeGroupBox = new QGroupBox(0, Qt::Vertical, tr("Size"), this);
33 39
34 QLabel* widthLabel = new QLabel(tr("Width:"), sizeGroupBox); 40 QLabel* widthLabel = new QLabel(tr("Width:"), sizeGroupBox);
35 QLabel* heightLabel = new QLabel(tr("Height:"), sizeGroupBox); 41 QLabel* heightLabel = new QLabel(tr("Height:"), sizeGroupBox);
36 42
37 m_pWidthSpinBox = new QSpinBox(1, 1024, 1, sizeGroupBox); 43 m_pWidthSpinBox = new QSpinBox(1, 1024, 1, sizeGroupBox);
38 m_pHeightSpinBox = new QSpinBox(1, 1024, 1, sizeGroupBox); 44 m_pHeightSpinBox = new QSpinBox(1, 1024, 1, sizeGroupBox);
39 45
40 m_pWidthSpinBox->setValue(width); 46 m_pWidthSpinBox->setValue(width);
41 m_pHeightSpinBox->setValue(height); 47 m_pHeightSpinBox->setValue(height);
42 48
43 m_pContentButtonGroup = new QButtonGroup(0, Qt::Vertical, tr("Background"), this); 49 m_pContentButtonGroup = new QButtonGroup(0, Qt::Vertical, tr("Background"), this);
44 50
45 QRadioButton* whiteColorRadioButton = new QRadioButton(tr("White"), m_pContentButtonGroup); 51 QRadioButton* whiteColorRadioButton = new QRadioButton(tr("White"), m_pContentButtonGroup);
46 QRadioButton* penColorRadioButton = new QRadioButton(tr("Pen Color"), m_pContentButtonGroup); 52 QRadioButton* penColorRadioButton = new QRadioButton(tr("Pen Color"), m_pContentButtonGroup);
47 QRadioButton* brushColorRadioButton = new QRadioButton(tr("Fill Color"), m_pContentButtonGroup); 53 QRadioButton* brushColorRadioButton = new QRadioButton(tr("Fill Color"), m_pContentButtonGroup);
48 54
49 m_pContentButtonGroup->setButton(0); 55 m_pContentButtonGroup->setButton(0);
50 56
51 QVBoxLayout* mainLayout = new QVBoxLayout(this, 4, 4); 57 QVBoxLayout* mainLayout = new QVBoxLayout(this, 4, 4);
58 generalGroupBox->layout()->setSpacing(4);
52 sizeGroupBox->layout()->setSpacing(4); 59 sizeGroupBox->layout()->setSpacing(4);
53 m_pContentButtonGroup->layout()->setSpacing(4); 60 m_pContentButtonGroup->layout()->setSpacing(4);
61 QGridLayout* generalLayout = new QGridLayout(generalGroupBox->layout(), 1, 1);
54 QGridLayout* sizeLayout = new QGridLayout(sizeGroupBox->layout(), 2, 2); 62 QGridLayout* sizeLayout = new QGridLayout(sizeGroupBox->layout(), 2, 2);
55 QVBoxLayout* contentLayout = new QVBoxLayout(m_pContentButtonGroup->layout()); 63 QVBoxLayout* contentLayout = new QVBoxLayout(m_pContentButtonGroup->layout());
56 64
65 generalLayout->addWidget(titleLabel, 0, 0);
66 generalLayout->addWidget(m_pTitleLineEdit, 0, 1);
67
57 sizeLayout->addWidget(widthLabel, 0, 0); 68 sizeLayout->addWidget(widthLabel, 0, 0);
58 sizeLayout->addWidget(heightLabel, 1, 0); 69 sizeLayout->addWidget(heightLabel, 1, 0);
59 sizeLayout->addWidget(m_pWidthSpinBox, 0, 1); 70 sizeLayout->addWidget(m_pWidthSpinBox, 0, 1);
60 sizeLayout->addWidget(m_pHeightSpinBox, 1, 1); 71 sizeLayout->addWidget(m_pHeightSpinBox, 1, 1);
61 72
62 sizeLayout->setColStretch(1, 1); 73 sizeLayout->setColStretch(1, 1);
63 74
64 contentLayout->addWidget(whiteColorRadioButton); 75 contentLayout->addWidget(whiteColorRadioButton);
65 contentLayout->addWidget(penColorRadioButton); 76 contentLayout->addWidget(penColorRadioButton);
66 contentLayout->addWidget(brushColorRadioButton); 77 contentLayout->addWidget(brushColorRadioButton);
67 78
79 mainLayout->addWidget(generalGroupBox);
68 mainLayout->addWidget(sizeGroupBox); 80 mainLayout->addWidget(sizeGroupBox);
69 mainLayout->addWidget(m_pContentButtonGroup); 81 mainLayout->addWidget(m_pContentButtonGroup);
70} 82}
71 83
72NewPageDialog::~NewPageDialog() 84NewPageDialog::~NewPageDialog()
73{ 85{
74} 86}
75 87
76uint NewPageDialog::selectedWidth() 88uint NewPageDialog::selectedWidth()
77{ 89{
78 return (m_pWidthSpinBox->value()); 90 return (m_pWidthSpinBox->value());
79} 91}
80 92
81uint NewPageDialog::selectedHeight() 93uint NewPageDialog::selectedHeight()
82{ 94{
83 return (m_pHeightSpinBox->value()); 95 return (m_pHeightSpinBox->value());
84} 96}
85 97
86const QColor& NewPageDialog::selectedColor() 98const QColor& NewPageDialog::selectedColor()
87{ 99{
88 switch (m_pContentButtonGroup->id(m_pContentButtonGroup->selected())) { 100 switch (m_pContentButtonGroup->id(m_pContentButtonGroup->selected())) {
89 case 0: 101 case 0:
90 return (Qt::white); 102 return (Qt::white);
91 break; 103 break;
92 case 1: 104 case 1:
93 return (m_penColor); 105 return (m_penColor);
94 break; 106 break;
95 case 2: 107 case 2:
96 return (m_brushColor); 108 return (m_brushColor);
97 break; 109 break;
98 default: 110 default:
99 return (Qt::white); 111 return (Qt::white);
100 break; 112 break;
101 } 113 }
102} 114}
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
@@ -1,45 +1,48 @@
1/*************************************************************************** 1/***************************************************************************
2 * * 2 * *
3 * DrawPad - a drawing program for Opie Environment * 3 * DrawPad - a drawing program for Opie Environment *
4 * * 4 * *
5 * (C) 2002 by S. Prud'homme <prudhomme@laposte.net> * 5 * (C) 2002 by S. Prud'homme <prudhomme@laposte.net> *
6 * * 6 * *
7 * This program is free software; you can redistribute it and/or modify * 7 * This program is free software; you can redistribute it and/or modify *
8 * it under the terms of the GNU General Public License as published by * 8 * it under the terms of the GNU General Public License as published by *
9 * the Free Software Foundation; either version 2 of the License, or * 9 * the Free Software Foundation; either version 2 of the License, or *
10 * (at your option) any later version. * 10 * (at your option) any later version. *
11 * * 11 * *
12 ***************************************************************************/ 12 ***************************************************************************/
13 13
14#ifndef NEWPAGEDIALOG_H 14#ifndef NEWPAGEDIALOG_H
15#define NEWPAGEDIALOG_H 15#define NEWPAGEDIALOG_H
16 16
17#include <qdialog.h> 17#include <qdialog.h>
18 18
19class QButtonGroup; 19class QButtonGroup;
20class QLineEdit;
20class QSpinBox; 21class QSpinBox;
21 22
22class NewPageDialog : public QDialog 23class NewPageDialog : public QDialog
23{ 24{
24 Q_OBJECT 25 Q_OBJECT
25 26
26public: 27public:
27 NewPageDialog(uint width, uint height, const QColor& foregroundColor, 28 NewPageDialog(uint width, uint height, const QColor& foregroundColor,
28 const QColor& backgroundColor, QWidget* parent = 0, const char* name = 0); 29 const QColor& backgroundColor, QWidget* parent = 0, const char* name = 0);
29 ~NewPageDialog(); 30 ~NewPageDialog();
30 31
31 uint selectedWidth(); 32 uint selectedWidth();
32 uint selectedHeight(); 33 uint selectedHeight();
33 const QColor& selectedColor(); 34 const QColor& selectedColor();
34 35
35private: 36private:
37 QLineEdit* m_pTitleLineEdit;
38
36 QSpinBox* m_pWidthSpinBox; 39 QSpinBox* m_pWidthSpinBox;
37 QSpinBox* m_pHeightSpinBox; 40 QSpinBox* m_pHeightSpinBox;
38 41
39 QColor m_penColor; 42 QColor m_penColor;
40 QColor m_brushColor; 43 QColor m_brushColor;
41 44
42 QButtonGroup* m_pContentButtonGroup; 45 QButtonGroup* m_pContentButtonGroup;
43}; 46};
44 47
45#endif // NEWPAGEDIALOG_H 48#endif // NEWPAGEDIALOG_H
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 @@
1/***************************************************************************
2 * *
3 * DrawPad - a drawing program for Opie Environment *
4 * *
5 * (C) 2002 by S. Prud'homme <prudhomme@laposte.net> *
6 * *
7 * This program is free software; you can redistribute it and/or modify *
8 * it under the terms of the GNU General Public License as published by *
9 * the Free Software Foundation; either version 2 of the License, or *
10 * (at your option) any later version. *
11 * *
12 ***************************************************************************/
13
14#include "pageinformationdialog.h"
15
16#include "page.h"
17
18#include <qgroupbox.h>
19#include <qlabel.h>
20#include <qlayout.h>
21#include <qlineedit.h>
22
23PageInformationDialog::PageInformationDialog(Page* page, QWidget* parent, const char* name)
24 : QDialog(parent, name, true)
25{
26 m_pPage = page;
27
28 setCaption(tr("Page Information"));
29
30 QGroupBox* generalGroupBox = new QGroupBox(0, Qt::Vertical, tr("General"), this);
31
32 QLabel* titleLabel = new QLabel(tr("Title:"), generalGroupBox);
33 m_pTitleLineEdit = new QLineEdit(generalGroupBox);
34
35 QGroupBox* sizeGroupBox = new QGroupBox(0, Qt::Vertical, tr("Size"), this);
36
37 QLabel* widthLabel = new QLabel(tr("Width:"), sizeGroupBox);
38 QLabel* widthValueLabel = new QLabel(QString::number(m_pPage->width()), sizeGroupBox);
39
40 QLabel* heightLabel = new QLabel(tr("Height:"), sizeGroupBox);
41 QLabel* heightValueLabel = new QLabel(QString::number(m_pPage->height()), sizeGroupBox);
42
43 QVBoxLayout* mainLayout = new QVBoxLayout(this, 4, 4);
44 generalGroupBox->layout()->setSpacing(4);
45 sizeGroupBox->layout()->setSpacing(4);
46 QGridLayout* generalLayout = new QGridLayout(generalGroupBox->layout(), 1, 1);
47 QGridLayout* sizeLayout = new QGridLayout(sizeGroupBox->layout(), 2, 2);
48
49 generalLayout->addWidget(titleLabel, 0, 0);
50 generalLayout->addWidget(m_pTitleLineEdit, 0, 1);
51
52 sizeLayout->addWidget(widthLabel, 0, 0);
53 sizeLayout->addWidget(widthValueLabel, 0, 1);
54 sizeLayout->addWidget(heightLabel, 1, 0);
55 sizeLayout->addWidget(heightValueLabel, 1, 1);
56
57 sizeLayout->setColStretch(1, 1);
58
59 mainLayout->addWidget(generalGroupBox);
60 mainLayout->addWidget(sizeGroupBox);
61}
62
63PageInformationDialog::~PageInformationDialog()
64{
65}
66
67QString PageInformationDialog::selectedTitle()
68{
69 return (m_pTitleLineEdit->text());
70}
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 @@
1/***************************************************************************
2 * *
3 * DrawPad - a drawing program for Opie Environment *
4 * *
5 * (C) 2002 by S. Prud'homme <prudhomme@laposte.net> *
6 * *
7 * This program is free software; you can redistribute it and/or modify *
8 * it under the terms of the GNU General Public License as published by *
9 * the Free Software Foundation; either version 2 of the License, or *
10 * (at your option) any later version. *
11 * *
12 ***************************************************************************/
13
14#ifndef PAGEINFORMATIONDIALOG_H
15#define PAGEINFORMATIONDIALOG_H
16
17#include <qdialog.h>
18
19class Page;
20
21class QLineEdit;
22
23class PageInformationDialog : public QDialog
24{
25 Q_OBJECT
26
27public:
28 PageInformationDialog(Page* page, QWidget* parent = 0, const char* name = 0);
29 ~PageInformationDialog();
30
31 QString selectedTitle();
32
33private:
34 Page* m_pPage;
35
36 QLineEdit* m_pTitleLineEdit;
37};
38
39#endif // PAGEINFORMATIONDIALOG_H