summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2003-02-28 17:23:19 (UTC)
committer llornkcor <llornkcor>2003-02-28 17:23:19 (UTC)
commita5a5a25bee2596608906ae44cdad45bf89276385 (patch) (unidiff)
treea618cc62fceb34b0aa9a1f7a9d9bb744c57c5460
parent81cbb2d97b4f0cd7eef56536d791434856d7ae8d (diff)
downloadopie-a5a5a25bee2596608906ae44cdad45bf89276385.zip
opie-a5a5a25bee2596608906ae44cdad45bf89276385.tar.gz
opie-a5a5a25bee2596608906ae44cdad45bf89276385.tar.bz2
moved xmp to resource, and added goto line number
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/apps/textedit/resource.h104
-rw-r--r--core/apps/textedit/textedit.cpp130
-rw-r--r--core/apps/textedit/textedit.h182
-rw-r--r--core/apps/textedit/textedit.pro6
4 files changed, 231 insertions, 191 deletions
diff --git a/core/apps/textedit/resource.h b/core/apps/textedit/resource.h
new file mode 100644
index 0000000..7a22f01
--- a/dev/null
+++ b/core/apps/textedit/resource.h
@@ -0,0 +1,104 @@
1#ifndef RESOURCE_H
2#define RESOURCE_H
3
4#include <qpixmap.h>
5
6/* XPM */
7static char * filesave_xpm[] = {
8 "16 16 78 1",
9 " c None",
10 ". c #343434",
11 "+ c #A0A0A0",
12 "@ c #565656",
13 "# c #9E9E9E",
14 "$ c #525252",
15 "% c #929292",
16 "& c #676767",
17 "* c #848484",
18 "= c #666666",
19 "- c #D8D8D8",
20 "; c #FFFFFF",
21 "> c #DBDBDB",
22 ", c #636363",
23 "' c #989898",
24 ") c #2D2D2D",
25 "! c #909090",
26 "~ c #AEAEAE",
27 "{ c #EAEAEA",
28 "] c #575757",
29 "^ c #585858",
30 "/ c #8A8A8A",
31 "( c #828282",
32 "_ c #6F6F6F",
33 ": c #C9C9C9",
34 "< c #050505",
35 "[ c #292929",
36 "} c #777777",
37 "| c #616161",
38 "1 c #3A3A3A",
39 "2 c #BEBEBE",
40 "3 c #2C2C2C",
41 "4 c #7C7C7C",
42 "5 c #F6F6F6",
43 "6 c #FCFCFC",
44 "7 c #6B6B6B",
45 "8 c #959595",
46 "9 c #4F4F4F",
47 "0 c #808080",
48 "a c #767676",
49 "b c #818181",
50 "c c #B8B8B8",
51 "d c #FBFBFB",
52 "e c #F9F9F9",
53 "f c #CCCCCC",
54 "g c #030303",
55 "h c #737373",
56 "i c #7A7A7A",
57 "j c #7E7E7E",
58 "k c #6A6A6A",
59 "l c #FAFAFA",
60 "m c #505050",
61 "n c #9D9D9D",
62 "o c #333333",
63 "p c #7B7B7B",
64 "q c #787878",
65 "r c #696969",
66 "s c #494949",
67 "t c #555555",
68 "u c #949494",
69 "v c #E6E6E6",
70 "w c #424242",
71 "x c #515151",
72 "y c #535353",
73 "z c #3E3E3E",
74 "A c #D4D4D4",
75 "B c #0C0C0C",
76 "C c #353535",
77 "D c #474747",
78 "E c #ECECEC",
79 "F c #919191",
80 "G c #7D7D7D",
81 "H c #000000",
82 "I c #404040",
83 "J c #858585",
84 "K c #323232",
85 "L c #D0D0D0",
86 "M c #1C1C1C",
87 " ...+ ",
88 " @#$%&..+ ",
89 " .*=-;;>,..+ ",
90 " ')!~;;;;;;{]..",
91 " ^/(-;;;;;;;_:<",
92 " [}|;;;;;;;{12$",
93 " #34-55;;;;678$+",
94 " 90ab=c;dd;e1fg ",
95 " [ahij((kbl0mn$ ",
96 " op^q^^7r&]s/$+ ",
97 "@btu;vbwxy]zAB ",
98 "CzDEvEv;;DssF$ ",
99 "G.H{E{E{IxsJ$+ ",
100 " +...vEKxzLM ",
101 " +...z]n$ ",
102 " +... "};
103
104#endif
diff --git a/core/apps/textedit/textedit.cpp b/core/apps/textedit/textedit.cpp
index f571511..b81f3b4 100644
--- a/core/apps/textedit/textedit.cpp
+++ b/core/apps/textedit/textedit.cpp
@@ -1,220 +1,122 @@
1/********************************************************************** 1/**********************************************************************
2// textedit.cpp 2// textedit.cpp
3** Copyright (C) 2000 Trolltech AS. All rights reserved. 3** Copyright (C) 2000 Trolltech AS. All rights reserved.
4** 4**
5** This file is part of Opie Environment. 5** This file is part of Opie Environment.
6** 6**
7** This file may be distributed and/or modified under the terms of the 7** This file may be distributed and/or modified under the terms of the
8** GNU General Public License version 2 as published by the Free Software 8** GNU General Public License version 2 as published by the Free Software
9** Foundation and appearing in the file LICENSE.GPL included in the 9** Foundation and appearing in the file LICENSE.GPL included in the
10** packaging of this file. 10** packaging of this file.
11** 11**
12**********************************************************************/ 12**********************************************************************/
13// changes added by L. J. Potter Sun 02-17-2002 21:31:31 13// changes added by L. J. Potter Sun 02-17-2002 21:31:31
14#include "textedit.h" 14#include "textedit.h"
15#include "filePermissions.h" 15#include "filePermissions.h"
16 16
17 17
18#include <opie/ofileselector.h> 18#include <opie/ofileselector.h>
19#include <opie/ofiledialog.h> 19#include <opie/ofiledialog.h>
20#include <opie/ofontselector.h> 20#include <opie/ofontselector.h>
21 21
22#include <qpe/fontdatabase.h> 22#include <qpe/fontdatabase.h>
23#include <qpe/global.h> 23#include <qpe/global.h>
24#include <qpe/fileselector.h> 24#include <qpe/fileselector.h>
25#include <qpe/applnk.h> 25#include <qpe/applnk.h>
26#include <qpe/resource.h> 26#include <qpe/resource.h>
27#include <qpe/config.h> 27#include <qpe/config.h>
28#include <qpe/qpeapplication.h> 28#include <qpe/qpeapplication.h>
29#include <qpe/qpemenubar.h> 29#include <qpe/qpemenubar.h>
30#include <qpe/qpetoolbar.h> 30#include <qpe/qpetoolbar.h>
31#include <qpe/qcopenvelope_qws.h> 31#include <qpe/qcopenvelope_qws.h>
32 32
33#include <qpoint.h> 33#include <qpoint.h>
34#include <qtextstream.h> 34#include <qtextstream.h>
35#include <qdatetime.h> 35#include <qdatetime.h>
36#include <qclipboard.h> 36#include <qclipboard.h>
37#include <qstringlist.h> 37#include <qstringlist.h>
38#include <qaction.h> 38#include <qaction.h>
39#include <qcolordialog.h> 39#include <qcolordialog.h>
40#include <qfileinfo.h> 40#include <qfileinfo.h>
41#include <qlineedit.h> 41#include <qlineedit.h>
42#include <qmessagebox.h> 42#include <qmessagebox.h>
43#include <qobjectlist.h> 43#include <qobjectlist.h>
44#include <qpopupmenu.h> 44#include <qpopupmenu.h>
45#include <qspinbox.h> 45#include <qspinbox.h>
46#include <qtoolbutton.h> 46#include <qtoolbutton.h>
47#include <qwidgetstack.h> 47#include <qwidgetstack.h>
48#include <qcheckbox.h> 48#include <qcheckbox.h>
49#include <qcombo.h> 49#include <qcombo.h>
50#include <qlayout.h> 50#include <qlayout.h>
51#include <qapplication.h> 51#include <qapplication.h>
52#include <qtimer.h> 52#include <qtimer.h>
53#include <qdir.h> 53#include <qdir.h>
54#include <unistd.h> 54#include <unistd.h>
55#include <sys/stat.h> 55#include <sys/stat.h>
56#include <stdlib.h> //getenv 56#include <stdlib.h> //getenv
57 57
58 58#include "resource.h"
59/* XPM */
60static char * filesave_xpm[] = {
61"16 16 78 1",
62" c None",
63". c #343434",
64"+ c #A0A0A0",
65"@ c #565656",
66"# c #9E9E9E",
67"$ c #525252",
68"% c #929292",
69"& c #676767",
70"* c #848484",
71"= c #666666",
72"- c #D8D8D8",
73"; c #FFFFFF",
74"> c #DBDBDB",
75", c #636363",
76"' c #989898",
77") c #2D2D2D",
78"! c #909090",
79"~ c #AEAEAE",
80"{ c #EAEAEA",
81"] c #575757",
82"^ c #585858",
83"/ c #8A8A8A",
84"( c #828282",
85"_ c #6F6F6F",
86": c #C9C9C9",
87"< c #050505",
88"[ c #292929",
89"} c #777777",
90"| c #616161",
91"1 c #3A3A3A",
92"2 c #BEBEBE",
93"3 c #2C2C2C",
94"4 c #7C7C7C",
95"5 c #F6F6F6",
96"6 c #FCFCFC",
97"7 c #6B6B6B",
98"8 c #959595",
99"9 c #4F4F4F",
100"0 c #808080",
101"a c #767676",
102"b c #818181",
103"c c #B8B8B8",
104"d c #FBFBFB",
105"e c #F9F9F9",
106"f c #CCCCCC",
107"g c #030303",
108"h c #737373",
109"i c #7A7A7A",
110"j c #7E7E7E",
111"k c #6A6A6A",
112"l c #FAFAFA",
113"m c #505050",
114"n c #9D9D9D",
115"o c #333333",
116"p c #7B7B7B",
117"q c #787878",
118"r c #696969",
119"s c #494949",
120"t c #555555",
121"u c #949494",
122"v c #E6E6E6",
123"w c #424242",
124"x c #515151",
125"y c #535353",
126"z c #3E3E3E",
127"A c #D4D4D4",
128"B c #0C0C0C",
129"C c #353535",
130"D c #474747",
131"E c #ECECEC",
132"F c #919191",
133"G c #7D7D7D",
134"H c #000000",
135"I c #404040",
136"J c #858585",
137"K c #323232",
138"L c #D0D0D0",
139"M c #1C1C1C",
140" ...+ ",
141" @#$%&..+ ",
142" .*=-;;>,..+ ",
143" ')!~;;;;;;{]..",
144" ^/(-;;;;;;;_:<",
145" [}|;;;;;;;{12$",
146" #34-55;;;;678$+",
147" 90ab=c;dd;e1fg ",
148" [ahij((kbl0mn$ ",
149" op^q^^7r&]s/$+ ",
150"@btu;vbwxy]zAB ",
151"CzDEvEv;;DssF$ ",
152"G.H{E{E{IxsJ$+ ",
153" +...vEKxzLM ",
154" +...z]n$ ",
155" +... "};
156
157 59
158#if QT_VERSION < 300 60#if QT_VERSION < 300
159 61
160class QpeEditor : public QMultiLineEdit 62class QpeEditor : public QMultiLineEdit
161{ 63{
162 64
163public: 65public:
164 QpeEditor( QWidget *parent, const char * name = 0 ) 66 QpeEditor( QWidget *parent, const char * name = 0 )
165 : QMultiLineEdit( parent, name ) { 67 : QMultiLineEdit( parent, name ) {
166 clearTableFlags(); 68 clearTableFlags();
167 setTableFlags( Tbl_vScrollBar | Tbl_autoHScrollBar ); 69 setTableFlags( Tbl_vScrollBar | Tbl_autoHScrollBar );
168} 70}
169 71
170 void find( const QString &txt, bool caseSensitive, 72 void find( const QString &txt, bool caseSensitive,
171 bool backwards ); 73 bool backwards );
172protected: 74protected:
173 bool markIt; 75 bool markIt;
174 int line1, line2, col1, col2; 76 int line1, line2, col1, col2;
175 void mousePressEvent( QMouseEvent * ); 77 void mousePressEvent( QMouseEvent * );
176 void mouseReleaseEvent( QMouseEvent * ); 78 void mouseReleaseEvent( QMouseEvent * );
177 79
178//public slots: 80//public slots:
179 /* 81 /*
180signals: 82signals:
181 void notFound(); 83 void notFound();
182 void searchWrapped(); 84 void searchWrapped();
183 */ 85 */
184 86
185private: 87private:
186 88
187}; 89};
188 90
189void QpeEditor::mousePressEvent( QMouseEvent *e ) { 91void QpeEditor::mousePressEvent( QMouseEvent *e ) {
190 switch(e->button()) { 92 switch(e->button()) {
191 case RightButton: 93 case RightButton:
192 { //rediculous workaround for qt popup menu 94 { //rediculous workaround for qt popup menu
193 //and the hold right click mechanism 95 //and the hold right click mechanism
194 this->setSelection( line1, col1, line2, col2); 96 this->setSelection( line1, col1, line2, col2);
195 QMultiLineEdit::mousePressEvent( e ); 97 QMultiLineEdit::mousePressEvent( e );
196 markIt = false; 98 markIt = false;
197 } 99 }
198 break; 100 break;
199 default: 101 default:
200 { 102 {
201 if(!markIt) { 103 if(!markIt) {
202 int line, col; 104 int line, col;
203 this->getCursorPosition(&line, &col); 105 this->getCursorPosition(&line, &col);
204 line1=line2=line; 106 line1=line2=line;
205 col1=col2=col; 107 col1=col2=col;
206 } 108 }
207 QMultiLineEdit::mousePressEvent( e ); 109 QMultiLineEdit::mousePressEvent( e );
208 } 110 }
209 break; 111 break;
210 }; 112 };
211} 113}
212 114
213void QpeEditor::mouseReleaseEvent( QMouseEvent * ) { 115void QpeEditor::mouseReleaseEvent( QMouseEvent * ) {
214 if(this->hasMarkedText()) { 116 if(this->hasMarkedText()) {
215 markIt = true; 117 markIt = true;
216 this->getMarkedRegion( &line1, &col1, &line2, & col2 ); 118 this->getMarkedRegion( &line1, &col1, &line2, & col2 );
217 } else { 119 } else {
218 markIt = false; 120 markIt = false;
219 } 121 }
220} 122}
@@ -292,128 +194,133 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f )
292 QPopupMenu *advancedMenu = new QPopupMenu(this); 194 QPopupMenu *advancedMenu = new QPopupMenu(this);
293 195
294 font = new QPopupMenu( this ); 196 font = new QPopupMenu( this );
295 197
296 bar = new QPEToolBar( this ); 198 bar = new QPEToolBar( this );
297 editBar = bar; 199 editBar = bar;
298 200
299 QAction *a = new QAction( tr( "New" ), Resource::loadPixmap( "new" ), 201 QAction *a = new QAction( tr( "New" ), Resource::loadPixmap( "new" ),
300 QString::null, 0, this, 0 ); 202 QString::null, 0, this, 0 );
301 connect( a, SIGNAL( activated() ), this, SLOT( fileNew() ) ); 203 connect( a, SIGNAL( activated() ), this, SLOT( fileNew() ) );
302// a->addTo( bar ); 204// a->addTo( bar );
303 a->addTo( file ); 205 a->addTo( file );
304 206
305 a = new QAction( tr( "Open" ), Resource::loadPixmap( "fileopen" ), 207 a = new QAction( tr( "Open" ), Resource::loadPixmap( "fileopen" ),
306 QString::null, 0, this, 0 ); 208 QString::null, 0, this, 0 );
307 connect( a, SIGNAL( activated() ), this, SLOT( fileOpen() ) ); 209 connect( a, SIGNAL( activated() ), this, SLOT( fileOpen() ) );
308 a->addTo( bar ); 210 a->addTo( bar );
309 a->addTo( file ); 211 a->addTo( file );
310 212
311 a = new QAction( tr( "Save" ), QPixmap(( const char** ) filesave_xpm ) , 213 a = new QAction( tr( "Save" ), QPixmap(( const char** ) filesave_xpm ) ,
312 QString::null, 0, this, 0 ); 214 QString::null, 0, this, 0 );
313 connect( a, SIGNAL( activated() ), this, SLOT( save() ) ); 215 connect( a, SIGNAL( activated() ), this, SLOT( save() ) );
314 file->insertSeparator(); 216 file->insertSeparator();
315 a->addTo( bar ); 217 a->addTo( bar );
316 a->addTo( file ); 218 a->addTo( file );
317 219
318 a = new QAction( tr( "Save As" ), QPixmap(( const char** ) filesave_xpm ) , 220 a = new QAction( tr( "Save As" ), QPixmap(( const char** ) filesave_xpm ) ,
319 QString::null, 0, this, 0 ); 221 QString::null, 0, this, 0 );
320 connect( a, SIGNAL( activated() ), this, SLOT( saveAs() ) ); 222 connect( a, SIGNAL( activated() ), this, SLOT( saveAs() ) );
321 a->addTo( file ); 223 a->addTo( file );
322 224
323 a = new QAction( tr( "Cut" ), Resource::loadPixmap( "cut" ), 225 a = new QAction( tr( "Cut" ), Resource::loadPixmap( "cut" ),
324 QString::null, 0, this, 0 ); 226 QString::null, 0, this, 0 );
325 connect( a, SIGNAL( activated() ), this, SLOT( editCut() ) ); 227 connect( a, SIGNAL( activated() ), this, SLOT( editCut() ) );
326 a->addTo( editBar ); 228 a->addTo( editBar );
327 a->addTo( edit ); 229 a->addTo( edit );
328 230
329 a = new QAction( tr( "Copy" ), Resource::loadPixmap( "copy" ), 231 a = new QAction( tr( "Copy" ), Resource::loadPixmap( "copy" ),
330 QString::null, 0, this, 0 ); 232 QString::null, 0, this, 0 );
331 connect( a, SIGNAL( activated() ), this, SLOT( editCopy() ) ); 233 connect( a, SIGNAL( activated() ), this, SLOT( editCopy() ) );
332 a->addTo( editBar ); 234 a->addTo( editBar );
333 a->addTo( edit ); 235 a->addTo( edit );
334 236
335 a = new QAction( tr( "Paste" ), Resource::loadPixmap( "paste" ), 237 a = new QAction( tr( "Paste" ), Resource::loadPixmap( "paste" ),
336 QString::null, 0, this, 0 ); 238 QString::null, 0, this, 0 );
337 connect( a, SIGNAL( activated() ), this, SLOT( editPaste() ) ); 239 connect( a, SIGNAL( activated() ), this, SLOT( editPaste() ) );
338 a->addTo( editBar ); 240 a->addTo( editBar );
339 a->addTo( edit ); 241 a->addTo( edit );
340 242
341 243
342#ifndef QT_NO_CLIPBOARD 244#ifndef QT_NO_CLIPBOARD
343 a = new QAction( tr( "Insert Time and Date" ), Resource::loadPixmap( "paste" ), 245 a = new QAction( tr( "Insert Time and Date" ), Resource::loadPixmap( "paste" ),
344 QString::null, 0, this, 0 ); 246 QString::null, 0, this, 0 );
345 connect( a, SIGNAL( activated() ), this, SLOT( editPasteTimeDate() ) ); 247 connect( a, SIGNAL( activated() ), this, SLOT( editPasteTimeDate() ) );
346 a->addTo( edit ); 248 a->addTo( edit );
347#endif 249#endif
348 250
349 a = new QAction( tr( "Find..." ), Resource::loadPixmap( "find" ), 251 a = new QAction( tr( "Find..." ), Resource::loadPixmap( "find" ),
350 QString::null, 0, this, 0 ); 252 QString::null, 0, this, 0 );
351 connect( a, SIGNAL( activated() ), this, SLOT( editFind() ) ); 253 connect( a, SIGNAL( activated() ), this, SLOT( editFind() ) );
352 edit->insertSeparator(); 254 edit->insertSeparator();
353 a->addTo( bar ); 255 a->addTo( bar );
354 a->addTo( edit ); 256 a->addTo( edit );
355 257
258 a = new QAction( tr( "Goto Line..." ), Resource::loadPixmap( "find" ),
259 QString::null, 0, this, 0 );
260 connect( a, SIGNAL( activated() ), this, SLOT( gotoLine() ) );
261 a->addTo( edit );
262
356 263
357 zin = new QAction( tr("Zoom in"), QString::null, 0, this, 0 ); 264 zin = new QAction( tr("Zoom in"), QString::null, 0, this, 0 );
358 connect( zin, SIGNAL( activated() ), this, SLOT( zoomIn() ) ); 265 connect( zin, SIGNAL( activated() ), this, SLOT( zoomIn() ) );
359 zin->addTo( font ); 266 zin->addTo( font );
360 267
361 zout = new QAction( tr("Zoom out"), QString::null, 0, this, 0 ); 268 zout = new QAction( tr("Zoom out"), QString::null, 0, this, 0 );
362 connect( zout, SIGNAL( activated() ), this, SLOT( zoomOut() ) ); 269 connect( zout, SIGNAL( activated() ), this, SLOT( zoomOut() ) );
363 zout->addTo( font ); 270 zout->addTo( font );
364 271
365 font->insertSeparator(); 272 font->insertSeparator();
366 273
367 font->insertItem(tr("Font"), this, SLOT(changeFont()) ); 274 font->insertItem(tr("Font"), this, SLOT(changeFont()) );
368 275
369 font->insertSeparator(); 276 font->insertSeparator();
370 font->insertItem(tr("Advanced Features"), advancedMenu); 277 font->insertItem(tr("Advanced Features"), advancedMenu);
371 278
372 QAction *wa = new QAction( tr("Wrap lines"), 279 QAction *wa = new QAction( tr("Wrap lines"),
373 QString::null, 0, this, 0 ); 280 QString::null, 0, this, 0 );
374 connect( wa, SIGNAL( toggled(bool) ), 281 connect( wa, SIGNAL( toggled(bool) ),
375 this, SLOT( setWordWrap(bool) ) ); 282 this, SLOT( setWordWrap(bool) ) );
376 wa->setToggleAction(true); 283 wa->setToggleAction(true);
377 wa->addTo( advancedMenu); 284 wa->addTo( advancedMenu);
378 285
379 nStart = new QAction( tr("Start with new file"), 286 nStart = new QAction( tr("Start with new file"),
380 QString::null, 0, this, 0 ); 287 QString::null, 0, this, 0 );
381 connect( nStart, SIGNAL( toggled(bool) ), 288 connect( nStart, SIGNAL( toggled(bool) ),
382 this, SLOT( changeStartConfig(bool) ) ); 289 this, SLOT( changeStartConfig(bool) ) );
383 nStart->setToggleAction(true); 290 nStart->setToggleAction(true);
384 nStart->addTo( advancedMenu ); 291 nStart->addTo( advancedMenu );
385 nStart->setEnabled(false); 292 nStart->setEnabled(false);
386 293
387 nAdvanced = new QAction( tr("Prompt on Exit"), 294 nAdvanced = new QAction( tr("Prompt on Exit"),
388 QString::null, 0, this, 0 ); 295 QString::null, 0, this, 0 );
389 connect( nAdvanced, SIGNAL( toggled(bool) ), 296 connect( nAdvanced, SIGNAL( toggled(bool) ),
390 this, SLOT( doPrompt(bool) ) ); 297 this, SLOT( doPrompt(bool) ) );
391 nAdvanced->setToggleAction(true); 298 nAdvanced->setToggleAction(true);
392 nAdvanced->addTo( advancedMenu ); 299 nAdvanced->addTo( advancedMenu );
393 300
394 desktopAction = new QAction( tr("Always open linked file"), 301 desktopAction = new QAction( tr("Always open linked file"),
395 QString::null, 0, this, 0 ); 302 QString::null, 0, this, 0 );
396 connect( desktopAction, SIGNAL( toggled(bool) ), 303 connect( desktopAction, SIGNAL( toggled(bool) ),
397 this, SLOT( doDesktop(bool) ) ); 304 this, SLOT( doDesktop(bool) ) );
398 desktopAction->setToggleAction(true); 305 desktopAction->setToggleAction(true);
399 desktopAction->addTo( advancedMenu); 306 desktopAction->addTo( advancedMenu);
400 307
401 filePermAction = new QAction( tr("File Permissions"), 308 filePermAction = new QAction( tr("File Permissions"),
402 QString::null, 0, this, 0 ); 309 QString::null, 0, this, 0 );
403 connect( filePermAction, SIGNAL( toggled(bool) ), 310 connect( filePermAction, SIGNAL( toggled(bool) ),
404 this, SLOT( doFilePerms(bool) ) ); 311 this, SLOT( doFilePerms(bool) ) );
405 filePermAction->setToggleAction(true); 312 filePermAction->setToggleAction(true);
406 filePermAction->addTo( advancedMenu); 313 filePermAction->addTo( advancedMenu);
407 314
408 searchBarAction = new QAction( tr("Search Bar Open"), 315 searchBarAction = new QAction( tr("Search Bar Open"),
409 QString::null, 0, this, 0 ); 316 QString::null, 0, this, 0 );
410 connect( searchBarAction, SIGNAL( toggled(bool) ), 317 connect( searchBarAction, SIGNAL( toggled(bool) ),
411 this, SLOT( setSearchBar(bool) ) ); 318 this, SLOT( setSearchBar(bool) ) );
412 searchBarAction->setToggleAction(true); 319 searchBarAction->setToggleAction(true);
413 searchBarAction->addTo( advancedMenu); 320 searchBarAction->addTo( advancedMenu);
414 321
415 nAutoSave = new QAction( tr("Auto Save 5 min."), 322 nAutoSave = new QAction( tr("Auto Save 5 min."),
416 QString::null, 0, this, 0 ); 323 QString::null, 0, this, 0 );
417 connect( nAutoSave, SIGNAL( toggled(bool) ), 324 connect( nAutoSave, SIGNAL( toggled(bool) ),
418 this, SLOT( doTimer(bool) ) ); 325 this, SLOT( doTimer(bool) ) );
419 nAutoSave->setToggleAction(true); 326 nAutoSave->setToggleAction(true);
@@ -1199,64 +1106,89 @@ int TextEdit::savePrompt()
1199 return 1; 1106 return 1;
1200 } 1107 }
1201 break; 1108 break;
1202 1109
1203 case 1: 1110 case 1:
1204 { 1111 {
1205 return 2; 1112 return 2;
1206 } 1113 }
1207 break; 1114 break;
1208 1115
1209 case 2: 1116 case 2:
1210 { 1117 {
1211 return -1; 1118 return -1;
1212 } 1119 }
1213 break; 1120 break;
1214 }; 1121 };
1215 1122
1216 return 0; 1123 return 0;
1217} 1124}
1218 1125
1219void TextEdit::timerCrank() 1126void TextEdit::timerCrank()
1220{ 1127{
1221 if(featureAutoSave && edited1) 1128 if(featureAutoSave && edited1)
1222 { 1129 {
1223 if(currentFileName.isEmpty()) 1130 if(currentFileName.isEmpty())
1224 { 1131 {
1225 currentFileName = QDir::homeDirPath()+"/textedit.tmp"; 1132 currentFileName = QDir::homeDirPath()+"/textedit.tmp";
1226 saveAs(); 1133 saveAs();
1227 } 1134 }
1228 else 1135 else
1229 { 1136 {
1230// qDebug("autosave"); 1137// qDebug("autosave");
1231 save(); 1138 save();
1232 } 1139 }
1233 setTimer(); 1140 setTimer();
1234 } 1141 }
1235} 1142}
1236 1143
1237void TextEdit::doTimer(bool b) 1144void TextEdit::doTimer(bool b)
1238{ 1145{
1239 Config cfg("TextEdit"); 1146 Config cfg("TextEdit");
1240 cfg.setGroup ( "View" ); 1147 cfg.setGroup ( "View" );
1241 cfg.writeEntry ( "autosave", b); 1148 cfg.writeEntry ( "autosave", b);
1242 featureAutoSave = b; 1149 featureAutoSave = b;
1243 nAutoSave->setOn(b); 1150 nAutoSave->setOn(b);
1244 if(b) 1151 if(b)
1245 { 1152 {
1246// qDebug("doTimer true"); 1153// qDebug("doTimer true");
1247 setTimer(); 1154 setTimer();
1248 } 1155 }
1249// else 1156// else
1250// qDebug("doTimer false"); 1157// qDebug("doTimer false");
1251} 1158}
1252 1159
1253void TextEdit::setTimer() 1160void TextEdit::setTimer()
1254{ 1161{
1255if(featureAutoSave) 1162if(featureAutoSave)
1256 { 1163 {
1257// qDebug("setting autosave"); 1164// qDebug("setting autosave");
1258 QTimer *timer = new QTimer(this ); 1165 QTimer *timer = new QTimer(this );
1259 connect( timer, SIGNAL(timeout()), this, SLOT(timerCrank()) ); 1166 connect( timer, SIGNAL(timeout()), this, SLOT(timerCrank()) );
1260 timer->start( 300000, true); //5 minutes 1167 timer->start( 300000, true); //5 minutes
1261 } 1168 }
1262} 1169}
1170
1171void TextEdit::gotoLine() {
1172
1173 QWidget *d = QApplication::desktop();
1174 gotoEdit = new QLineEdit( 0, "Goto line");
1175
1176 gotoEdit->move( (d->width()/2) - ( gotoEdit->width()/2) , (d->height()/2) - (gotoEdit->height()/2));
1177 gotoEdit->setFrame(true);
1178 gotoEdit->show();
1179 connect (gotoEdit,SIGNAL(returnPressed()), this, SLOT(doGoto()));
1180}
1181
1182void TextEdit::doGoto() {
1183 QString number = gotoEdit->text();
1184 gotoEdit->hide();
1185 if(gotoEdit) delete gotoEdit;
1186 bool ok;
1187 int lineNumber = number.toInt(&ok, 10);
1188 if(editor->numLines() < lineNumber)
1189 QMessageBox::message(tr("Text Edit"),tr("Not enough lines"));
1190 else
1191 {
1192 editor->setCursorPosition(lineNumber, 0, false);
1193 }
1194}
diff --git a/core/apps/textedit/textedit.h b/core/apps/textedit/textedit.h
index 643ea68..e0cbea2 100644
--- a/core/apps/textedit/textedit.h
+++ b/core/apps/textedit/textedit.h
@@ -1,138 +1,142 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2000 Trolltech AS. All rights reserved. 2 ** Copyright (C) 2000 Trolltech AS. All rights reserved.
3** 3 **
4** This file is part of Qtopia Environment. 4 ** This file is part of Qtopia Environment.
5** 5 **
6** This file may be distributed and/or modified under the terms of the 6 ** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7 ** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8 ** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9 ** packaging of this file.
10** 10 **
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13 **
14** See http://www.trolltech.com/gpl/ for GPL licensing information. 14 ** See http://www.trolltech.com/gpl/ for GPL licensing information.
15** 15 **
16** Contact info@trolltech.com if any conditions of this licensing are 16 ** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you. 17 ** not clear to you.
18** 18 **
19**********************************************************************/ 19 **********************************************************************/
20// additions made by L.J. Potter Sun 02-17-2002 22:27:46 20// additions made by L.J. Potter Sun 02-17-2002 22:27:46
21 21
22#ifndef TEXTEDIT_H 22#ifndef TEXTEDIT_H
23#define TEXTEDIT_H 23#define TEXTEDIT_H
24 24
25#define QTEXTEDIT_OPEN_API 25#define QTEXTEDIT_OPEN_API
26 26
27//#include "fileBrowser.h" 27//#include "fileBrowser.h"
28//#include "fileSaver.h" 28//#include "fileSaver.h"
29 29
30#include <qpe/filemanager.h> 30#include <qpe/filemanager.h>
31#include <qpe/qcopenvelope_qws.h> 31#include <qpe/qcopenvelope_qws.h>
32 32
33#include <opie/ofileselector.h> 33#include <opie/ofileselector.h>
34 34
35#include <qmainwindow.h> 35#include <qmainwindow.h>
36#include <qmultilineedit.h> 36#include <qmultilineedit.h>
37#include <qlist.h> 37#include <qlist.h>
38#include <qmap.h> 38#include <qmap.h>
39 39
40class QAction; 40class QAction;
41class QWidgetStack; 41class QWidgetStack;
42class QToolButton; 42class QToolButton;
43class QPopupMenu; 43class QPopupMenu;
44class QToolBar; 44class QToolBar;
45class QLineEdit; 45class QLineEdit;
46class QAction; 46class QAction;
47class FileSelector; 47class FileSelector;
48class QpeEditor; 48class QpeEditor;
49class QPopupMenu; 49class QPopupMenu;
50class QTimer; 50class QTimer;
51 51
52class TextEdit : public QMainWindow 52class TextEdit : public QMainWindow
53{ 53{
54 Q_OBJECT 54 Q_OBJECT
55 55
56public: 56public:
57 TextEdit( QWidget *parent = 0, const char *name = 0, WFlags f = 0 ); 57 TextEdit( QWidget *parent = 0, const char *name = 0, WFlags f = 0 );
58 ~TextEdit(); 58 ~TextEdit();
59 59
60protected: 60protected:
61 QPopupMenu *font; 61 QPopupMenu *font;
62 QAction *nStart, *nFileDlgOpt, *nAdvanced, *desktopAction, *filePermAction, *searchBarAction, *nAutoSave; 62 QAction *nStart, *nFileDlgOpt, *nAdvanced, *desktopAction, *filePermAction, *searchBarAction, *nAutoSave;
63 bool edited, edited1; 63 bool edited, edited1;
64 void openFile( const QString & ); 64 void openFile( const QString & );
65 QCopChannel * channel; 65 QCopChannel * channel;
66 66
67 bool featureAutoSave; 67 bool featureAutoSave;
68 void closeEvent( QCloseEvent *e ); 68 void closeEvent( QCloseEvent *e );
69 void doSearchBar(); 69 void doSearchBar();
70 int savePrompt(); 70 int savePrompt();
71 void setTimer(); 71 void setTimer();
72private slots: 72private slots:
73 void editorChanged(); 73 void editorChanged();
74 void receive(const QCString&, const QByteArray&); 74 void receive(const QCString&, const QByteArray&);
75 void timerCrank(); 75 void timerCrank();
76 void doTimer(bool); 76 void doTimer(bool);
77 void editPasteTimeDate(); 77 void editPasteTimeDate();
78 void doPrompt(bool); 78 void doPrompt(bool);
79 void doDesktop(bool); 79 void doDesktop(bool);
80 void doFilePerms(bool); 80 void doFilePerms(bool);
81 void doAbout(); 81 void doAbout();
82 void setDocument(const QString&); 82 void setDocument(const QString&);
83 void changeFont(); 83 void changeFont();
84 void fileNew(); 84 void fileNew();
85 void fileRevert(); 85 void fileRevert();
86 void fileOpen(); 86 void fileOpen();
87 void changeStartConfig(bool); 87 void changeStartConfig(bool);
88 bool save(); 88 bool save();
89 bool saveAs(); 89 bool saveAs();
90 void cleanUp(); 90 void cleanUp();
91 91
92 92 void gotoLine();
93 void editCut(); 93 void doGoto();
94 void editCopy(); 94
95 void editPaste(); 95
96 void editFind(); 96 void editCut();
97 void editDelete(); 97 void editCopy();
98 98 void editPaste();
99 void findNext(); 99 void editFind();
100 void findClose(); 100 void editDelete();
101 101
102 void search(); 102 void findNext();
103 void accept(); 103 void findClose();
104 104
105 void newFile( const DocLnk & ); 105 void search();
106 void openFile( const DocLnk & ); 106 void accept();
107 void showEditTools(); 107
108 108 void newFile( const DocLnk & );
109 void zoomIn(); 109 void openFile( const DocLnk & );
110 void zoomOut(); 110 void showEditTools();
111 void setBold(bool y); 111
112 void setItalic(bool y); 112 void zoomIn();
113 void setWordWrap(bool y); 113 void zoomOut();
114 void setSearchBar(bool); 114 void setBold(bool y);
115 void setItalic(bool y);
116 void setWordWrap(bool y);
117 void setSearchBar(bool);
115 118
116private: 119private:
117 void openDotFile(const QString &); 120 void openDotFile(const QString &);
118 void colorChanged( const QColor &c ); 121 void colorChanged( const QColor &c );
119 void clear(); 122 void clear();
120 void updateCaption( const QString &name=QString::null ); 123 void updateCaption( const QString &name=QString::null );
121 void setFontSize(int sz, bool round_down_not_up); 124 void setFontSize(int sz, bool round_down_not_up);
122private: 125private:
123// fileSaver *fileSaveDlg; 126// fileSaver *fileSaveDlg;
124// fileBrowser *browseForFiles; 127// fileBrowser *browseForFiles;
125 bool fromSetDocument; 128 bool fromSetDocument;
126 QpeEditor* editor; 129 QpeEditor* editor;
127 QToolBar *menu, *editBar, *searchBar; 130 QToolBar *menu, *editBar, *searchBar;
128 QPopupMenu *advancedMenu; 131 QPopupMenu *advancedMenu;
129 QLineEdit *searchEdit; 132 QLineEdit *gotoEdit;
130 DocLnk *doc; 133 QLineEdit *searchEdit;
131 bool fileIs, useAdvancedFeatures, promptExit, openDesktop, filePerms, useSearchBar, startWithNew; 134 DocLnk *doc;
132 bool bFromDocView; 135 bool fileIs, useAdvancedFeatures, promptExit, openDesktop, filePerms, useSearchBar, startWithNew;
136 bool bFromDocView;
133 int viewSelection; 137 int viewSelection;
134 QAction *zin, *zout; 138 QAction *zin, *zout;
135 QString currentFileName; 139 QString currentFileName;
136}; 140};
137 141
138#endif 142#endif
diff --git a/core/apps/textedit/textedit.pro b/core/apps/textedit/textedit.pro
index f5e16a0..233dd67 100644
--- a/core/apps/textedit/textedit.pro
+++ b/core/apps/textedit/textedit.pro
@@ -1,30 +1,30 @@
1TEMPLATE = app 1TEMPLATE = app
2CONFIG += qt warn_on release 2CONFIG += qt warn_on release
3DESTDIR = $(OPIEDIR)/bin 3DESTDIR = $(OPIEDIR)/bin
4HEADERS = textedit.h filePermissions.h 4HEADERS = textedit.h filePermissions.h resource.h
5SOURCES = main.cpp textedit.cpp filePermissions.cpp 5SOURCES = main.cpp textedit.cpp filePermissions.cpp
6INCLUDEPATH += $(OPIEDIR)/include 6INCLUDEPATH += $(OPIEDIR)/include
7DEPENDPATH += $(OPIEDIR)/include 7DEPENDPATH += $(OPIEDIR)/include
8LIBS += -lqpe -lopie 8LIBS += -lqpe -lopie
9TARGET = textedit 9TARGET = textedit
10 10
11TRANSLATIONS = ../../../i18n/de/textedit.ts \ 11TRANSLATIONS = ../../../i18n/de/textedit.ts \
12 ../../../i18n/da/textedit.ts \ 12 ../../../i18n/da/textedit.ts \
13 ../../../i18n/xx/textedit.ts \ 13 ../../../i18n/xx/textedit.ts \
14 ../../../i18n/en/textedit.ts \ 14 ../../../i18n/en/textedit.ts \
15 ../../../i18n/es/textedit.ts \ 15 ../../../i18n/es/textedit.ts \
16 ../../../i18n/fr/textedit.ts \ 16 ../../../i18n/fr/textedit.ts \
17 ../../../i18n/hu/textedit.ts \ 17 ../../../i18n/hu/textedit.ts \
18 ../../../i18n/ja/textedit.ts \ 18 ../../../i18n/ja/textedit.ts \
19 ../../../i18n/ko/textedit.ts \ 19 ../../../i18n/ko/textedit.ts \
20 ../../../i18n/no/textedit.ts \ 20 ../../../i18n/no/textedit.ts \
21 ../../../i18n/pl/textedit.ts \ 21 ../../../i18n/pl/textedit.ts \
22 ../../../i18n/pt/textedit.ts \ 22 ../../../i18n/pt/textedit.ts \
23 ../../../i18n/pt_BR/textedit.ts \ 23 ../../../i18n/pt_BR/textedit.ts \
24 ../../../i18n/sl/textedit.ts \ 24 ../../../i18n/sl/textedit.ts \
25 ../../../i18n/zh_CN/textedit.ts \ 25 ../../../i18n/zh_CN/textedit.ts \
26 ../../../i18n/zh_TW/textedit.ts 26 ../../../i18n/zh_TW/textedit.ts
27 27
28 28
29 29
30include ( $(OPIEDIR)/include.pro ) 30include ( $(OPIEDIR)/include.pro )