summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2002-11-29 00:54:12 (UTC)
committer llornkcor <llornkcor>2002-11-29 00:54:12 (UTC)
commit70c8fe38d9d65b75912c8b473c3940d2160cdde6 (patch) (unidiff)
tree8e307e814fa5960007f21afc27ad5da4a9493454
parent54b1bd8e8eaf5764b465f169d4ee1b9261659a11 (diff)
downloadopie-70c8fe38d9d65b75912c8b473c3940d2160cdde6.zip
opie-70c8fe38d9d65b75912c8b473c3940d2160cdde6.tar.gz
opie-70c8fe38d9d65b75912c8b473c3940d2160cdde6.tar.bz2
removed open with fileselector, cause I hate it. Fixes opening through docs tab, and other annoyances
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/apps/textedit/textedit.cpp67
-rw-r--r--core/apps/textedit/textedit.h1
2 files changed, 42 insertions, 26 deletions
diff --git a/core/apps/textedit/textedit.cpp b/core/apps/textedit/textedit.cpp
index e978fa4..b199c81 100644
--- a/core/apps/textedit/textedit.cpp
+++ b/core/apps/textedit/textedit.cpp
@@ -1,1073 +1,1088 @@
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// changes added by L. J. Potter Sun 02-17-2002 21:31:31 20// changes added by L. J. Potter Sun 02-17-2002 21:31:31
21/* 21/*
22 useAdvancedfeatures = 22 useAdvancedfeatures =
23 1) do not prompt on cancel, even if text is edited. 23 1) do not prompt on cancel, even if text is edited.
24 2) prompt user is .desktop file 24 2) prompt user is .desktop file
25 3) prompt user for File Permissions on saveAs 25 3) prompt user for File Permissions on saveAs
26 */ 26 */
27#include "textedit.h" 27#include "textedit.h"
28#include "filePermissions.h" 28#include "filePermissions.h"
29//#include "fontDialog.h" 29//#include "fontDialog.h"
30 30
31#include <opie/ofileselector.h> 31#include <opie/ofileselector.h>
32#include <opie/ofiledialog.h> 32#include <opie/ofiledialog.h>
33#include <opie/ofontselector.h> 33#include <opie/ofontselector.h>
34 34
35#include <qpe/fontdatabase.h> 35#include <qpe/fontdatabase.h>
36#include <qpe/global.h> 36#include <qpe/global.h>
37#include <qpe/fileselector.h> 37#include <qpe/fileselector.h>
38#include <qpe/applnk.h> 38#include <qpe/applnk.h>
39#include <qpe/resource.h> 39#include <qpe/resource.h>
40#include <qpe/config.h> 40#include <qpe/config.h>
41#include <qpe/qpeapplication.h> 41#include <qpe/qpeapplication.h>
42#include <qpe/qpemenubar.h> 42#include <qpe/qpemenubar.h>
43#include <qpe/qpetoolbar.h> 43#include <qpe/qpetoolbar.h>
44#include <qpe/qcopenvelope_qws.h> 44#include <qpe/qcopenvelope_qws.h>
45 45
46#include <qtextstream.h> 46#include <qtextstream.h>
47#include <qdatetime.h> 47#include <qdatetime.h>
48#include <qclipboard.h> 48#include <qclipboard.h>
49#include <qstringlist.h> 49#include <qstringlist.h>
50#include <qaction.h> 50#include <qaction.h>
51#include <qcolordialog.h> 51#include <qcolordialog.h>
52#include <qfileinfo.h> 52#include <qfileinfo.h>
53#include <qlineedit.h> 53#include <qlineedit.h>
54#include <qmessagebox.h> 54#include <qmessagebox.h>
55#include <qobjectlist.h> 55#include <qobjectlist.h>
56#include <qpopupmenu.h> 56#include <qpopupmenu.h>
57#include <qspinbox.h> 57#include <qspinbox.h>
58#include <qtoolbutton.h> 58#include <qtoolbutton.h>
59#include <qwidgetstack.h> 59#include <qwidgetstack.h>
60#include <qcheckbox.h> 60#include <qcheckbox.h>
61#include <qcombo.h> 61#include <qcombo.h>
62#include <qlayout.h> 62#include <qlayout.h>
63#include <qapplication.h> 63#include <qapplication.h>
64#include <unistd.h> 64#include <unistd.h>
65#include <sys/stat.h> 65#include <sys/stat.h>
66#include <stdlib.h> //getenv 66#include <stdlib.h> //getenv
67 67
68 68
69/* XPM */ 69/* XPM */
70static char * filesave_xpm[] = { 70static char * filesave_xpm[] = {
71"16 16 78 1", 71"16 16 78 1",
72" c None", 72" c None",
73". c #343434", 73". c #343434",
74"+ c #A0A0A0", 74"+ c #A0A0A0",
75"@ c #565656", 75"@ c #565656",
76"# c #9E9E9E", 76"# c #9E9E9E",
77"$ c #525252", 77"$ c #525252",
78"% c #929292", 78"% c #929292",
79"& c #676767", 79"& c #676767",
80"* c #848484", 80"* c #848484",
81"= c #666666", 81"= c #666666",
82"- c #D8D8D8", 82"- c #D8D8D8",
83"; c #FFFFFF", 83"; c #FFFFFF",
84"> c #DBDBDB", 84"> c #DBDBDB",
85", c #636363", 85", c #636363",
86"' c #989898", 86"' c #989898",
87") c #2D2D2D", 87") c #2D2D2D",
88"! c #909090", 88"! c #909090",
89"~ c #AEAEAE", 89"~ c #AEAEAE",
90"{ c #EAEAEA", 90"{ c #EAEAEA",
91"] c #575757", 91"] c #575757",
92"^ c #585858", 92"^ c #585858",
93"/ c #8A8A8A", 93"/ c #8A8A8A",
94"( c #828282", 94"( c #828282",
95"_ c #6F6F6F", 95"_ c #6F6F6F",
96": c #C9C9C9", 96": c #C9C9C9",
97"< c #050505", 97"< c #050505",
98"[ c #292929", 98"[ c #292929",
99"} c #777777", 99"} c #777777",
100"| c #616161", 100"| c #616161",
101"1 c #3A3A3A", 101"1 c #3A3A3A",
102"2 c #BEBEBE", 102"2 c #BEBEBE",
103"3 c #2C2C2C", 103"3 c #2C2C2C",
104"4 c #7C7C7C", 104"4 c #7C7C7C",
105"5 c #F6F6F6", 105"5 c #F6F6F6",
106"6 c #FCFCFC", 106"6 c #FCFCFC",
107"7 c #6B6B6B", 107"7 c #6B6B6B",
108"8 c #959595", 108"8 c #959595",
109"9 c #4F4F4F", 109"9 c #4F4F4F",
110"0 c #808080", 110"0 c #808080",
111"a c #767676", 111"a c #767676",
112"b c #818181", 112"b c #818181",
113"c c #B8B8B8", 113"c c #B8B8B8",
114"d c #FBFBFB", 114"d c #FBFBFB",
115"e c #F9F9F9", 115"e c #F9F9F9",
116"f c #CCCCCC", 116"f c #CCCCCC",
117"g c #030303", 117"g c #030303",
118"h c #737373", 118"h c #737373",
119"i c #7A7A7A", 119"i c #7A7A7A",
120"j c #7E7E7E", 120"j c #7E7E7E",
121"k c #6A6A6A", 121"k c #6A6A6A",
122"l c #FAFAFA", 122"l c #FAFAFA",
123"m c #505050", 123"m c #505050",
124"n c #9D9D9D", 124"n c #9D9D9D",
125"o c #333333", 125"o c #333333",
126"p c #7B7B7B", 126"p c #7B7B7B",
127"q c #787878", 127"q c #787878",
128"r c #696969", 128"r c #696969",
129"s c #494949", 129"s c #494949",
130"t c #555555", 130"t c #555555",
131"u c #949494", 131"u c #949494",
132"v c #E6E6E6", 132"v c #E6E6E6",
133"w c #424242", 133"w c #424242",
134"x c #515151", 134"x c #515151",
135"y c #535353", 135"y c #535353",
136"z c #3E3E3E", 136"z c #3E3E3E",
137"A c #D4D4D4", 137"A c #D4D4D4",
138"B c #0C0C0C", 138"B c #0C0C0C",
139"C c #353535", 139"C c #353535",
140"D c #474747", 140"D c #474747",
141"E c #ECECEC", 141"E c #ECECEC",
142"F c #919191", 142"F c #919191",
143"G c #7D7D7D", 143"G c #7D7D7D",
144"H c #000000", 144"H c #000000",
145"I c #404040", 145"I c #404040",
146"J c #858585", 146"J c #858585",
147"K c #323232", 147"K c #323232",
148"L c #D0D0D0", 148"L c #D0D0D0",
149"M c #1C1C1C", 149"M c #1C1C1C",
150" ...+ ", 150" ...+ ",
151" @#$%&..+ ", 151" @#$%&..+ ",
152" .*=-;;>,..+ ", 152" .*=-;;>,..+ ",
153" ')!~;;;;;;{]..", 153" ')!~;;;;;;{]..",
154" ^/(-;;;;;;;_:<", 154" ^/(-;;;;;;;_:<",
155" [}|;;;;;;;{12$", 155" [}|;;;;;;;{12$",
156" #34-55;;;;678$+", 156" #34-55;;;;678$+",
157" 90ab=c;dd;e1fg ", 157" 90ab=c;dd;e1fg ",
158" [ahij((kbl0mn$ ", 158" [ahij((kbl0mn$ ",
159" op^q^^7r&]s/$+ ", 159" op^q^^7r&]s/$+ ",
160"@btu;vbwxy]zAB ", 160"@btu;vbwxy]zAB ",
161"CzDEvEv;;DssF$ ", 161"CzDEvEv;;DssF$ ",
162"G.H{E{E{IxsJ$+ ", 162"G.H{E{E{IxsJ$+ ",
163" +...vEKxzLM ", 163" +...vEKxzLM ",
164" +...z]n$ ", 164" +...z]n$ ",
165" +... "}; 165" +... "};
166 166
167 167
168#if QT_VERSION < 300 168#if QT_VERSION < 300
169 169
170class QpeEditor : public QMultiLineEdit 170class QpeEditor : public QMultiLineEdit
171{ 171{
172 // Q_OBJECT 172 // Q_OBJECT
173public: 173public:
174 QpeEditor( QWidget *parent, const char * name = 0 ) 174 QpeEditor( QWidget *parent, const char * name = 0 )
175 : QMultiLineEdit( parent, name ) { 175 : QMultiLineEdit( parent, name ) {
176 clearTableFlags(); 176 clearTableFlags();
177 setTableFlags( Tbl_vScrollBar | Tbl_autoHScrollBar ); 177 setTableFlags( Tbl_vScrollBar | Tbl_autoHScrollBar );
178} 178}
179 179
180 void find( const QString &txt, bool caseSensitive, 180 void find( const QString &txt, bool caseSensitive,
181 bool backwards ); 181 bool backwards );
182//public slots: 182//public slots:
183 /* 183 /*
184signals: 184signals:
185 void notFound(); 185 void notFound();
186 void searchWrapped(); 186 void searchWrapped();
187 */ 187 */
188 188
189private: 189private:
190 190
191}; 191};
192 192
193 193
194void QpeEditor::find ( const QString &txt, bool caseSensitive, 194void QpeEditor::find ( const QString &txt, bool caseSensitive,
195 bool backwards ) 195 bool backwards )
196{ 196{
197 static bool wrap = false; 197 static bool wrap = false;
198 int line, col; 198 int line, col;
199 if ( wrap ) { 199 if ( wrap ) {
200 if ( !backwards ) 200 if ( !backwards )
201 line = col = 0; 201 line = col = 0;
202 wrap = false; 202 wrap = false;
203 // emit searchWrapped(); 203 // emit searchWrapped();
204 } else { 204 } else {
205 getCursorPosition( &line, &col ); 205 getCursorPosition( &line, &col );
206 } 206 }
207 //ignore backwards for now.... 207 //ignore backwards for now....
208 if ( !backwards ) { 208 if ( !backwards ) {
209 for ( ; ; ) { 209 for ( ; ; ) {
210 if ( line >= numLines() ) { 210 if ( line >= numLines() ) {
211 wrap = true; 211 wrap = true;
212 //emit notFound(); 212 //emit notFound();
213 break; 213 break;
214 } 214 }
215 int findCol = getString( line )->find( txt, col, caseSensitive ); 215 int findCol = getString( line )->find( txt, col, caseSensitive );
216 if ( findCol >= 0 ) { 216 if ( findCol >= 0 ) {
217 setCursorPosition( line, findCol, false ); 217 setCursorPosition( line, findCol, false );
218 col = findCol + txt.length(); 218 col = findCol + txt.length();
219 setCursorPosition( line, col, true ); 219 setCursorPosition( line, col, true );
220 220
221 //found = true; 221 //found = true;
222 break; 222 break;
223 } 223 }
224 line++; 224 line++;
225 col = 0; 225 col = 0;
226 } 226 }
227 } 227 }
228} 228}
229 229
230 230
231#else 231#else
232 232
233#error "Must make a QpeEditor that inherits QTextEdit" 233#error "Must make a QpeEditor that inherits QTextEdit"
234 234
235#endif 235#endif
236 236
237 237
238static const int nfontsizes = 6; 238static const int nfontsizes = 6;
239static const int fontsize[nfontsizes] = {8,10,12,14,18,24}; 239static const int fontsize[nfontsizes] = {8,10,12,14,18,24};
240 240
241TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) 241TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f )
242 : QMainWindow( parent, name, f ), bFromDocView( false ) 242 : QMainWindow( parent, name, f ), bFromDocView( false )
243{ 243{
244 doc = 0; 244 doc = 0;
245 edited=false; 245 edited=false;
246 edited1=false; 246 fromSetDocument=false;
247
247 setToolBarsMovable( false ); 248 setToolBarsMovable( false );
248 connect( qApp,SIGNAL( aboutToQuit()),SLOT( cleanUp()) ); 249 connect( qApp,SIGNAL( aboutToQuit()),SLOT( cleanUp()) );
249 250
250 channel = new QCopChannel( "QPE/Application/textedit", this ); 251 channel = new QCopChannel( "QPE/Application/textedit", this );
251 connect( channel, SIGNAL(received(const QCString&, const QByteArray&)), 252 connect( channel, SIGNAL(received(const QCString&, const QByteArray&)),
252 this, SLOT(receive(const QCString&, const QByteArray&)) ); 253 this, SLOT(receive(const QCString&, const QByteArray&)) );
253 254
254 setIcon( Resource::loadPixmap( "TextEditor" ) ); 255 setIcon( Resource::loadPixmap( "TextEditor" ) );
255 256
256 QPEToolBar *bar = new QPEToolBar( this ); 257 QPEToolBar *bar = new QPEToolBar( this );
257 bar->setHorizontalStretchable( true ); 258 bar->setHorizontalStretchable( true );
258 menu = bar; 259 menu = bar;
259 260
260 QPEMenuBar *mb = new QPEMenuBar( bar ); 261 QPEMenuBar *mb = new QPEMenuBar( bar );
261 QPopupMenu *file = new QPopupMenu( this ); 262 QPopupMenu *file = new QPopupMenu( this );
262 QPopupMenu *edit = new QPopupMenu( this ); 263 QPopupMenu *edit = new QPopupMenu( this );
263 QPopupMenu *advancedMenu = new QPopupMenu(this); 264 QPopupMenu *advancedMenu = new QPopupMenu(this);
264 265
265 font = new QPopupMenu( this ); 266 font = new QPopupMenu( this );
266 267
267 bar = new QPEToolBar( this ); 268 bar = new QPEToolBar( this );
268 editBar = bar; 269 editBar = bar;
269 270
270 QAction *a = new QAction( tr( "New" ), Resource::loadPixmap( "new" ), QString::null, 0, this, 0 ); 271 QAction *a = new QAction( tr( "New" ), Resource::loadPixmap( "new" ), QString::null, 0, this, 0 );
271 connect( a, SIGNAL( activated() ), this, SLOT( fileNew() ) ); 272 connect( a, SIGNAL( activated() ), this, SLOT( fileNew() ) );
272 a->addTo( bar ); 273// a->addTo( bar );
273 a->addTo( file ); 274 a->addTo( file );
274 275
275 a = new QAction( tr( "Open" ), Resource::loadPixmap( "fileopen" ), QString::null, 0, this, 0 ); 276 a = new QAction( tr( "Open" ), Resource::loadPixmap( "fileopen" ), QString::null, 0, this, 0 );
276 connect( a, SIGNAL( activated() ), this, SLOT( fileOpen() ) ); 277 connect( a, SIGNAL( activated() ), this, SLOT( fileOpen() ) );
277 a->addTo( bar ); 278 a->addTo( bar );
278 a->addTo( file ); 279 a->addTo( file );
279 280
280 a = new QAction( tr( "Save" ), QPixmap(( const char** ) filesave_xpm ) , QString::null, 0, this, 0 ); 281 a = new QAction( tr( "Save" ), QPixmap(( const char** ) filesave_xpm ) , QString::null, 0, this, 0 );
281 connect( a, SIGNAL( activated() ), this, SLOT( save() ) ); 282 connect( a, SIGNAL( activated() ), this, SLOT( save() ) );
282 file->insertSeparator(); 283 file->insertSeparator();
284 a->addTo( bar );
283 a->addTo( file ); 285 a->addTo( file );
284 286
285 a = new QAction( tr( "Save As" ), QPixmap(( const char** ) filesave_xpm ) , QString::null, 0, this, 0 ); 287 a = new QAction( tr( "Save As" ), QPixmap(( const char** ) filesave_xpm ) , QString::null, 0, this, 0 );
286 connect( a, SIGNAL( activated() ), this, SLOT( saveAs() ) ); 288 connect( a, SIGNAL( activated() ), this, SLOT( saveAs() ) );
287 a->addTo( file ); 289 a->addTo( file );
288 290
289 a = new QAction( tr( "Cut" ), Resource::loadPixmap( "cut" ), QString::null, 0, this, 0 ); 291 a = new QAction( tr( "Cut" ), Resource::loadPixmap( "cut" ), QString::null, 0, this, 0 );
290 connect( a, SIGNAL( activated() ), this, SLOT( editCut() ) ); 292 connect( a, SIGNAL( activated() ), this, SLOT( editCut() ) );
291 a->addTo( editBar ); 293 a->addTo( editBar );
292 a->addTo( edit ); 294 a->addTo( edit );
293 295
294 a = new QAction( tr( "Copy" ), Resource::loadPixmap( "copy" ), QString::null, 0, this, 0 ); 296 a = new QAction( tr( "Copy" ), Resource::loadPixmap( "copy" ), QString::null, 0, this, 0 );
295 connect( a, SIGNAL( activated() ), this, SLOT( editCopy() ) ); 297 connect( a, SIGNAL( activated() ), this, SLOT( editCopy() ) );
296 a->addTo( editBar ); 298 a->addTo( editBar );
297 a->addTo( edit ); 299 a->addTo( edit );
298 300
299 a = new QAction( tr( "Paste" ), Resource::loadPixmap( "paste" ), QString::null, 0, this, 0 ); 301 a = new QAction( tr( "Paste" ), Resource::loadPixmap( "paste" ), QString::null, 0, this, 0 );
300 connect( a, SIGNAL( activated() ), this, SLOT( editPaste() ) ); 302 connect( a, SIGNAL( activated() ), this, SLOT( editPaste() ) );
301 a->addTo( editBar ); 303 a->addTo( editBar );
302 a->addTo( edit ); 304 a->addTo( edit );
303 305
304 306
305#ifndef QT_NO_CLIPBOARD 307#ifndef QT_NO_CLIPBOARD
306 a = new QAction( tr( "Insert Time and Date" ), Resource::loadPixmap( "paste" ), QString::null, 0, this, 0 ); 308 a = new QAction( tr( "Insert Time and Date" ), Resource::loadPixmap( "paste" ), QString::null, 0, this, 0 );
307 connect( a, SIGNAL( activated() ), this, SLOT( editPasteTimeDate() ) ); 309 connect( a, SIGNAL( activated() ), this, SLOT( editPasteTimeDate() ) );
308 a->addTo( edit ); 310 a->addTo( edit );
309#endif 311#endif
310 312
311 a = new QAction( tr( "Find..." ), Resource::loadPixmap( "find" ), QString::null, 0, this, 0 ); 313 a = new QAction( tr( "Find..." ), Resource::loadPixmap( "find" ), QString::null, 0, this, 0 );
312 connect( a, SIGNAL( activated() ), this, SLOT( editFind() ) ); 314 connect( a, SIGNAL( activated() ), this, SLOT( editFind() ) );
313 edit->insertSeparator(); 315 edit->insertSeparator();
314 a->addTo( bar ); 316 a->addTo( bar );
315 a->addTo( edit ); 317 a->addTo( edit );
316 318
317 319
318 zin = new QAction( tr("Zoom in"), QString::null, 0, this, 0 ); 320 zin = new QAction( tr("Zoom in"), QString::null, 0, this, 0 );
319 connect( zin, SIGNAL( activated() ), this, SLOT( zoomIn() ) ); 321 connect( zin, SIGNAL( activated() ), this, SLOT( zoomIn() ) );
320 zin->addTo( font ); 322 zin->addTo( font );
321 323
322 zout = new QAction( tr("Zoom out"), QString::null, 0, this, 0 ); 324 zout = new QAction( tr("Zoom out"), QString::null, 0, this, 0 );
323 connect( zout, SIGNAL( activated() ), this, SLOT( zoomOut() ) ); 325 connect( zout, SIGNAL( activated() ), this, SLOT( zoomOut() ) );
324 zout->addTo( font ); 326 zout->addTo( font );
325 327
326 font->insertSeparator(); 328 font->insertSeparator();
327// font->insertSeparator(); 329// font->insertSeparator();
328 font->insertItem(tr("Font"), this, SLOT(changeFont()) ); 330 font->insertItem(tr("Font"), this, SLOT(changeFont()) );
329 331
330 font->insertSeparator(); 332 font->insertSeparator();
331 font->insertItem(tr("Advanced Features"), advancedMenu); 333 font->insertItem(tr("Advanced Features"), advancedMenu);
332 334
333 QAction *wa = new QAction( tr("Wrap lines"), QString::null, 0, this, 0 ); 335 QAction *wa = new QAction( tr("Wrap lines"), QString::null, 0, this, 0 );
334 connect( wa, SIGNAL( toggled(bool) ), this, SLOT( setWordWrap(bool) ) ); 336 connect( wa, SIGNAL( toggled(bool) ), this, SLOT( setWordWrap(bool) ) );
335 wa->setToggleAction(true); 337 wa->setToggleAction(true);
336 wa->addTo( advancedMenu); 338 wa->addTo( advancedMenu);
337 339
338 nStart = new QAction( tr("Start with new file"), QString::null, 0, this, 0 ); 340 nStart = new QAction( tr("Start with new file"), QString::null, 0, this, 0 );
339 connect( nStart, SIGNAL( toggled(bool) ), this, SLOT( changeStartConfig(bool) ) ); 341 connect( nStart, SIGNAL( toggled(bool) ), this, SLOT( changeStartConfig(bool) ) );
340 nStart->setToggleAction(true); 342 nStart->setToggleAction(true);
341 nStart->addTo( advancedMenu ); 343 nStart->addTo( advancedMenu );
344 nStart->setEnabled(false);
342 345
343 nAdvanced = new QAction( tr("Prompt on Exit"), QString::null, 0, this, 0 ); 346 nAdvanced = new QAction( tr("Prompt on Exit"), QString::null, 0, this, 0 );
344 connect( nAdvanced, SIGNAL( toggled(bool) ), this, SLOT( doPrompt(bool) ) ); 347 connect( nAdvanced, SIGNAL( toggled(bool) ), this, SLOT( doPrompt(bool) ) );
345 nAdvanced->setToggleAction(true); 348 nAdvanced->setToggleAction(true);
346 nAdvanced->addTo( advancedMenu ); 349 nAdvanced->addTo( advancedMenu );
347 350
348 desktopAction = new QAction( tr("Always open linked file"), QString::null, 0, this, 0 ); 351 desktopAction = new QAction( tr("Always open linked file"), QString::null, 0, this, 0 );
349 connect( desktopAction, SIGNAL( toggled(bool) ), this, SLOT( doDesktop(bool) ) ); 352 connect( desktopAction, SIGNAL( toggled(bool) ), this, SLOT( doDesktop(bool) ) );
350 desktopAction->setToggleAction(true); 353 desktopAction->setToggleAction(true);
351 desktopAction->addTo( advancedMenu); 354 desktopAction->addTo( advancedMenu);
352 355
353 filePermAction = new QAction( tr("File Permissions"), QString::null, 0, this, 0 ); 356 filePermAction = new QAction( tr("File Permissions"), QString::null, 0, this, 0 );
354 connect( filePermAction, SIGNAL( toggled(bool) ), this, SLOT( doFilePerms(bool) ) ); 357 connect( filePermAction, SIGNAL( toggled(bool) ), this, SLOT( doFilePerms(bool) ) );
355 filePermAction->setToggleAction(true); 358 filePermAction->setToggleAction(true);
356 filePermAction->addTo( advancedMenu); 359 filePermAction->addTo( advancedMenu);
357 360
358 searchBarAction = new QAction( tr("Search Bar Open"), QString::null, 0, this, 0 ); 361 searchBarAction = new QAction( tr("Search Bar Open"), QString::null, 0, this, 0 );
359 connect( searchBarAction, SIGNAL( toggled(bool) ), this, SLOT( setSearchBar(bool) ) ); 362 connect( searchBarAction, SIGNAL( toggled(bool) ), this, SLOT( setSearchBar(bool) ) );
360 searchBarAction->setToggleAction(true); 363 searchBarAction->setToggleAction(true);
361 searchBarAction->addTo( advancedMenu); 364 searchBarAction->addTo( advancedMenu);
362 365
363 366
364 font->insertSeparator(); 367 font->insertSeparator();
365 368
366 font->insertItem(tr("About"), this, SLOT( doAbout()) ); 369 font->insertItem(tr("About"), this, SLOT( doAbout()) );
367 370
368 mb->insertItem( tr( "File" ), file ); 371 mb->insertItem( tr( "File" ), file );
369 mb->insertItem( tr( "Edit" ), edit ); 372 mb->insertItem( tr( "Edit" ), edit );
370 mb->insertItem( tr( "View" ), font ); 373 mb->insertItem( tr( "View" ), font );
371 374
372 searchBar = new QPEToolBar(this); 375 searchBar = new QPEToolBar(this);
373 addToolBar( searchBar, "Search", QMainWindow::Top, true ); 376 addToolBar( searchBar, "Search", QMainWindow::Top, true );
374 377
375 searchBar->setHorizontalStretchable( true ); 378 searchBar->setHorizontalStretchable( true );
376 379
377 searchEdit = new QLineEdit( searchBar, "searchEdit" ); 380 searchEdit = new QLineEdit( searchBar, "searchEdit" );
378 searchBar->setStretchableWidget( searchEdit ); 381 searchBar->setStretchableWidget( searchEdit );
379 connect( searchEdit, SIGNAL( textChanged( const QString & ) ), 382 connect( searchEdit, SIGNAL( textChanged( const QString & ) ),
380 this, SLOT( search() ) ); 383 this, SLOT( search() ) );
381 384
382 a = new QAction( tr( "Find Next" ), Resource::loadPixmap( "next" ), QString::null, 0, this, 0 ); 385 a = new QAction( tr( "Find Next" ), Resource::loadPixmap( "next" ), QString::null, 0, this, 0 );
383 connect( a, SIGNAL( activated() ), this, SLOT( findNext() ) ); 386 connect( a, SIGNAL( activated() ), this, SLOT( findNext() ) );
384 a->addTo( searchBar ); 387 a->addTo( searchBar );
385 a->addTo( edit ); 388 a->addTo( edit );
386 389
387 a = new QAction( tr( "Close Find" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 ); 390 a = new QAction( tr( "Close Find" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 );
388 connect( a, SIGNAL( activated() ), this, SLOT( findClose() ) ); 391 connect( a, SIGNAL( activated() ), this, SLOT( findClose() ) );
389 a->addTo( searchBar ); 392 a->addTo( searchBar );
390 393
391 edit->insertSeparator(); 394 edit->insertSeparator();
392 a = new QAction( tr( "Delete" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 ); 395 a = new QAction( tr( "Delete" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 );
393 connect( a, SIGNAL( activated() ), this, SLOT( editDelete() ) ); 396 connect( a, SIGNAL( activated() ), this, SLOT( editDelete() ) );
394 a->addTo( edit ); 397 a->addTo( edit );
395 398
396 searchBar->hide(); 399 searchBar->hide();
397 400
398 editor = new QpeEditor( this ); 401 editor = new QpeEditor( this );
399 setCentralWidget( editor ); 402 setCentralWidget( editor );
400 editor->setFrameStyle( QFrame::Panel | QFrame::Sunken ); 403 editor->setFrameStyle( QFrame::Panel | QFrame::Sunken );
401 connect( editor, SIGNAL( textChanged() ), this, SLOT( editorChanged() ) ); 404 connect( editor, SIGNAL( textChanged() ), this, SLOT( editorChanged() ) );
402 QPEApplication::setStylusOperation( editor, QPEApplication::RightOnHold); 405 QPEApplication::setStylusOperation( editor, QPEApplication::RightOnHold);
403 406
404 Config cfg("TextEdit"); 407 Config cfg("TextEdit");
405 cfg. setGroup ( "Font" ); 408 cfg. setGroup ( "Font" );
406 409
407 QFont defaultFont = editor-> font ( ); 410 QFont defaultFont = editor-> font ( );
408 411
409 QString family = cfg. readEntry ( "Family", defaultFont. family ( )); 412 QString family = cfg. readEntry ( "Family", defaultFont. family ( ));
410 int size = cfg. readNumEntry ( "Size", defaultFont. pointSize ( )); 413 int size = cfg. readNumEntry ( "Size", defaultFont. pointSize ( ));
411 int weight = cfg. readNumEntry ( "Weight", defaultFont. weight ( )); 414 int weight = cfg. readNumEntry ( "Weight", defaultFont. weight ( ));
412 bool italic = cfg. readBoolEntry ( "Italic", defaultFont. italic ( )); 415 bool italic = cfg. readBoolEntry ( "Italic", defaultFont. italic ( ));
413 416
414 defaultFont = QFont ( family, size, weight, italic ); 417 defaultFont = QFont ( family, size, weight, italic );
415 editor-> setFont ( defaultFont ); 418 editor-> setFont ( defaultFont );
416 419
417// updateCaption(); 420// updateCaption();
418 421
419 cfg.setGroup ( "View" ); 422 cfg.setGroup ( "View" );
420 423
421 promptExit = cfg.readBoolEntry ( "PromptExit", false ); 424 promptExit = cfg.readBoolEntry ( "PromptExit", false );
422 openDesktop = cfg.readBoolEntry ( "OpenDesktop", true ); 425 openDesktop = cfg.readBoolEntry ( "OpenDesktop", true );
423 filePerms = cfg.readBoolEntry ( "FilePermissions", false ); 426 filePerms = cfg.readBoolEntry ( "FilePermissions", false );
424 useSearchBar = cfg.readBoolEntry ( "SearchBar", false ); 427 useSearchBar = cfg.readBoolEntry ( "SearchBar", false );
425 startWithNew = cfg.readBoolEntry ( "startNew", true); 428 startWithNew = cfg.readBoolEntry ( "startNew", true);
426 429
427 if(useSearchBar) searchBarAction->setOn(true); 430 if(useSearchBar) searchBarAction->setOn(true);
428 if(promptExit ) nAdvanced->setOn( true ); 431 if(promptExit ) nAdvanced->setOn( true );
429 if(openDesktop) desktopAction->setOn( true ); 432 if(openDesktop) desktopAction->setOn( true );
430 if(filePerms) filePermAction->setOn( true ); 433 if(filePerms) filePermAction->setOn( true );
431 if(startWithNew) nStart->setOn( true ); 434 if(startWithNew) nStart->setOn( true );
432 435
433 bool wrap = cfg. readBoolEntry ( "Wrap", true ); 436 bool wrap = cfg. readBoolEntry ( "Wrap", true );
434 wa-> setOn ( wrap ); 437 wa-> setOn ( wrap );
435 setWordWrap ( wrap ); 438 setWordWrap ( wrap );
436 439
437 if( qApp->argc() > 1) { 440 if( qApp->argc() > 1) {
438 currentFileName=qApp->argv()[1]; 441 currentFileName=qApp->argv()[1];
439// qDebug("<<<<<<<<<<<<<<<<<<<<<<<< "+currentFileName+" %d",qApp->argc()); 442
440 QFileInfo fi(currentFileName); 443 QFileInfo fi(currentFileName);
441 444
442 if(fi.baseName().left(1) == "") { 445 if(fi.baseName().left(1) == "") {
443 openDotFile(currentFileName); 446 openDotFile(currentFileName);
444 } else { 447 } else {
445 openFile(currentFileName); 448 openFile(currentFileName);
446 } 449 }
447 } else { 450 } else {
448// qDebug("Do other thing"); 451 edited1=false;
449 if(startWithNew) { 452
453// if(startWithNew ) {
450 openDotFile(""); 454 openDotFile("");
451// fileNew(); 455// fileNew();
452 } else { 456// }
453 fileOpen(); 457// else {
454 } 458// fileOpen();
459// }
455 } 460 }
456 461
457 viewSelection = cfg.readNumEntry( "FileView", 0 ); 462 viewSelection = cfg.readNumEntry( "FileView", 0 );
463// setCaption(tr("Text Editor"));
458} 464}
459 465
460TextEdit::~TextEdit() { 466TextEdit::~TextEdit() {
461// qDebug("destr"); 467// qDebug("destr");
462} 468}
463 469
464void TextEdit::closeEvent(QCloseEvent *) { 470void TextEdit::closeEvent(QCloseEvent *) {
465// qDebug("closing here"); 471// qDebug("closing here");
466 if( edited1 && promptExit) 472 if( edited1 && promptExit)
467 saveAs(); 473 saveAs();
468 qApp->quit(); 474 qApp->quit();
469} 475}
470 476
471void TextEdit::cleanUp() { 477void TextEdit::cleanUp() {
472// qDebug("cleanUp");// save(); 478// qDebug("cleanUp");// save();
473 479
474 Config cfg ( "TextEdit" ); 480 Config cfg ( "TextEdit" );
475 cfg. setGroup ( "Font" ); 481 cfg. setGroup ( "Font" );
476 QFont f = editor->font(); 482 QFont f = editor->font();
477 cfg.writeEntry ( "Family", f. family ( )); 483 cfg.writeEntry ( "Family", f. family ( ));
478 cfg.writeEntry ( "Size", f. pointSize ( )); 484 cfg.writeEntry ( "Size", f. pointSize ( ));
479 cfg.writeEntry ( "Weight", f. weight ( )); 485 cfg.writeEntry ( "Weight", f. weight ( ));
480 cfg.writeEntry ( "Italic", f. italic ( )); 486 cfg.writeEntry ( "Italic", f. italic ( ));
481 487
482 cfg.setGroup ( "View" ); 488 cfg.setGroup ( "View" );
483 cfg.writeEntry ( "Wrap", editor->wordWrap() == QMultiLineEdit::WidgetWidth ); 489 cfg.writeEntry ( "Wrap", editor->wordWrap() == QMultiLineEdit::WidgetWidth );
484 cfg.writeEntry ( "FileView", viewSelection ); 490 cfg.writeEntry ( "FileView", viewSelection );
485 491
486 cfg.writeEntry ( "PromptExit", promptExit ); 492 cfg.writeEntry ( "PromptExit", promptExit );
487 cfg.writeEntry ( "OpenDesktop", openDesktop ); 493 cfg.writeEntry ( "OpenDesktop", openDesktop );
488 cfg.writeEntry ( "FilePermissions", filePerms ); 494 cfg.writeEntry ( "FilePermissions", filePerms );
489 cfg.writeEntry ( "SearchBar", useSearchBar ); 495 cfg.writeEntry ( "SearchBar", useSearchBar );
490 cfg.writeEntry ( "startNew", startWithNew ); 496 cfg.writeEntry ( "startNew", startWithNew );
491 497
492} 498}
493 499
494 500
495void TextEdit::accept() { 501void TextEdit::accept() {
496// qDebug("accept"); 502// qDebug("accept");
497 if( edited1) 503 if( edited1)
498 saveAs(); 504 saveAs();
499 qApp->quit(); 505 qApp->quit();
500} 506}
501 507
502void TextEdit::zoomIn() { 508void TextEdit::zoomIn() {
503 setFontSize(editor->font().pointSize()+1,false); 509 setFontSize(editor->font().pointSize()+1,false);
504} 510}
505 511
506void TextEdit::zoomOut() { 512void TextEdit::zoomOut() {
507 setFontSize(editor->font().pointSize()-1,true); 513 setFontSize(editor->font().pointSize()-1,true);
508} 514}
509 515
510 516
511void TextEdit::setFontSize(int sz, bool round_down_not_up) { 517void TextEdit::setFontSize(int sz, bool round_down_not_up) {
512 int s=10; 518 int s=10;
513 for (int i=0; i<nfontsizes; i++) { 519 for (int i=0; i<nfontsizes; i++) {
514 if ( fontsize[i] == sz ) { 520 if ( fontsize[i] == sz ) {
515 s = sz; 521 s = sz;
516 break; 522 break;
517 } else if ( round_down_not_up ) { 523 } else if ( round_down_not_up ) {
518 if ( fontsize[i] < sz ) 524 if ( fontsize[i] < sz )
519 s = fontsize[i]; 525 s = fontsize[i];
520 } else { 526 } else {
521 if ( fontsize[i] > sz ) { 527 if ( fontsize[i] > sz ) {
522 s = fontsize[i]; 528 s = fontsize[i];
523 break; 529 break;
524 } 530 }
525 } 531 }
526 } 532 }
527 533
528 QFont f = editor->font(); 534 QFont f = editor->font();
529 f.setPointSize(s); 535 f.setPointSize(s);
530 editor->setFont(f); 536 editor->setFont(f);
531 537
532 zin->setEnabled(s != fontsize[nfontsizes-1]); 538 zin->setEnabled(s != fontsize[nfontsizes-1]);
533 zout->setEnabled(s != fontsize[0]); 539 zout->setEnabled(s != fontsize[0]);
534} 540}
535 541
536void TextEdit::setBold(bool y) { 542void TextEdit::setBold(bool y) {
537 QFont f = editor->font(); 543 QFont f = editor->font();
538 f.setBold(y); 544 f.setBold(y);
539 editor->setFont(f); 545 editor->setFont(f);
540} 546}
541 547
542void TextEdit::setItalic(bool y) { 548void TextEdit::setItalic(bool y) {
543 QFont f = editor->font(); 549 QFont f = editor->font();
544 f.setItalic(y); 550 f.setItalic(y);
545 editor->setFont(f); 551 editor->setFont(f);
546} 552}
547 553
548void TextEdit::setWordWrap(bool y) { 554void TextEdit::setWordWrap(bool y) {
549 bool state = editor->edited(); 555 bool state = editor->edited();
550 editor->setWordWrap(y ? QMultiLineEdit::WidgetWidth : QMultiLineEdit::NoWrap ); 556 editor->setWordWrap(y ? QMultiLineEdit::WidgetWidth : QMultiLineEdit::NoWrap );
551 editor->setEdited( state ); 557 editor->setEdited( state );
552} 558}
553 559
554void TextEdit::setSearchBar(bool b) { 560void TextEdit::setSearchBar(bool b) {
555 useSearchBar=b; 561 useSearchBar=b;
556 Config cfg("TextEdit"); 562 Config cfg("TextEdit");
557 cfg.setGroup("View"); 563 cfg.setGroup("View");
558 cfg.writeEntry ( "SearchBar", b ); 564 cfg.writeEntry ( "SearchBar", b );
559 searchBarAction->setOn(b); 565 searchBarAction->setOn(b);
560 if(b) 566 if(b)
561 searchBar->show(); 567 searchBar->show();
562 else 568 else
563 searchBar->hide(); 569 searchBar->hide();
564 editor->setFocus(); 570 editor->setFocus();
565} 571}
566 572
567void TextEdit::fileNew() { 573void TextEdit::fileNew() {
568// if( !bFromDocView ) { 574// if( !bFromDocView ) {
569// saveAs(); 575// saveAs();
570// } 576// }
571 newFile(DocLnk()); 577 newFile(DocLnk());
572} 578}
573 579
574void TextEdit::fileOpen() { 580void TextEdit::fileOpen() {
575 QMap<QString, QStringList> map; 581 QMap<QString, QStringList> map;
576 map.insert(tr("All"), QStringList() ); 582 map.insert(tr("All"), QStringList() );
577 QStringList text; 583 QStringList text;
578 text << "text/*"; 584 text << "text/*";
579 map.insert(tr("Text"), text ); 585 map.insert(tr("Text"), text );
580 text << "*"; 586 text << "*";
581 map.insert(tr("All"), text ); 587 map.insert(tr("All"), text );
582 QString str = OFileDialog::getOpenFileName( 2, 588 QString str = OFileDialog::getOpenFileName( 2,
583 QPEApplication::documentDir(), 589 QPEApplication::documentDir(),
584 QString::null, map); 590 QString::null, map);
585 if(!str.isEmpty() ) 591 if(!str.isEmpty() )
586 openFile( str ); 592 openFile( str );
587 else 593 else
588 updateCaption(); 594 updateCaption();
589} 595}
590 596
591void TextEdit::doSearchBar() { 597void TextEdit::doSearchBar() {
592 if(!useSearchBar) 598 if(!useSearchBar)
593 searchBar->hide(); 599 searchBar->hide();
594 else 600 else
595 searchBar->show(); 601 searchBar->show();
596} 602}
597 603
598#if 0 604#if 0
599void TextEdit::slotFind() { 605void TextEdit::slotFind() {
600 FindDialog frmFind( tr("Text Editor"), this ); 606 FindDialog frmFind( tr("Text Editor"), this );
601 connect( &frmFind, SIGNAL(signalFindClicked(const QString &, bool, bool, int)), 607 connect( &frmFind, SIGNAL(signalFindClicked(const QString &, bool, bool, int)),
602 editor, SLOT(slotDoFind( const QString&,bool,bool))); 608 editor, SLOT(slotDoFind( const QString&,bool,bool)));
603 609
604 //case sensitive, backwards, [category] 610 //case sensitive, backwards, [category]
605 611
606 connect( editor, SIGNAL(notFound()), 612 connect( editor, SIGNAL(notFound()),
607 &frmFind, SLOT(slotNotFound()) ); 613 &frmFind, SLOT(slotNotFound()) );
608 connect( editor, SIGNAL(searchWrapped()), 614 connect( editor, SIGNAL(searchWrapped()),
609 &frmFind, SLOT(slotWrapAround()) ); 615 &frmFind, SLOT(slotWrapAround()) );
610 616
611 frmFind.exec(); 617 frmFind.exec();
612 618
613 619
614} 620}
615#endif 621#endif
616 622
617void TextEdit::fileRevert() { 623void TextEdit::fileRevert() {
618 clear(); 624 clear();
619 fileOpen(); 625 fileOpen();
620} 626}
621 627
622void TextEdit::editCut() { 628void TextEdit::editCut() {
623#ifndef QT_NO_CLIPBOARD 629#ifndef QT_NO_CLIPBOARD
624 editor->cut(); 630 editor->cut();
625#endif 631#endif
626} 632}
627 633
628void TextEdit::editCopy() { 634void TextEdit::editCopy() {
629#ifndef QT_NO_CLIPBOARD 635#ifndef QT_NO_CLIPBOARD
630 editor->copy(); 636 editor->copy();
631#endif 637#endif
632} 638}
633 639
634void TextEdit::editPaste() { 640void TextEdit::editPaste() {
635#ifndef QT_NO_CLIPBOARD 641#ifndef QT_NO_CLIPBOARD
636 editor->paste(); 642 editor->paste();
637#endif 643#endif
638} 644}
639 645
640void TextEdit::editFind() { 646void TextEdit::editFind() {
641 searchBar->show(); 647 searchBar->show();
642 searchEdit->setFocus(); 648 searchEdit->setFocus();
643} 649}
644 650
645void TextEdit::findNext() { 651void TextEdit::findNext() {
646 editor->find( searchEdit->text(), false, false ); 652 editor->find( searchEdit->text(), false, false );
647 653
648} 654}
649 655
650void TextEdit::findClose() { 656void TextEdit::findClose() {
651 searchBar->hide(); 657 searchBar->hide();
652} 658}
653 659
654void TextEdit::search() { 660void TextEdit::search() {
655 editor->find( searchEdit->text(), false, false ); 661 editor->find( searchEdit->text(), false, false );
656} 662}
657 663
658void TextEdit::newFile( const DocLnk &f ) { 664void TextEdit::newFile( const DocLnk &f ) {
659 DocLnk nf = f; 665 DocLnk nf = f;
660 nf.setType("text/plain"); 666 nf.setType("text/plain");
661 clear(); 667 clear();
662 setWState (WState_Reserved1 ); 668 setWState (WState_Reserved1 );
663 editor->setFocus(); 669 editor->setFocus();
664 doc = new DocLnk(nf); 670 doc = new DocLnk(nf);
665 currentFileName = "Unnamed"; 671 currentFileName = "Unnamed";
666 qDebug("newFile "+currentFileName); 672 qDebug("newFile "+currentFileName);
667 updateCaption( currentFileName); 673 updateCaption( currentFileName);
668// editor->setEdited( false); 674// editor->setEdited( false);
669} 675}
670 676
671void TextEdit::openDotFile( const QString &f ) { 677void TextEdit::openDotFile( const QString &f ) {
672 if(!currentFileName.isEmpty()) { 678 if(!currentFileName.isEmpty()) {
673 currentFileName=f; 679 currentFileName=f;
674 680
675 qDebug("openFile dotfile " + currentFileName); 681 qDebug("openFile dotfile " + currentFileName);
676 QString txt; 682 QString txt;
677 QFile file(f); 683 QFile file(f);
678 file.open(IO_ReadWrite); 684 file.open(IO_ReadWrite);
679 QTextStream t(&file); 685 QTextStream t(&file);
680 while ( !t.atEnd()) { 686 while ( !t.atEnd()) {
681 txt+=t.readLine(); 687 txt+=t.readLine();
682 } 688 }
683 editor->setText(txt); 689 editor->setText(txt);
684 editor->setEdited( false); 690 editor->setEdited( false);
685 edited1=false; 691 edited1=false;
686 edited=false; 692 edited=false;
687 693
688 694
689 } 695 }
690 updateCaption( currentFileName); 696 updateCaption( currentFileName);
691} 697}
692 698
693void TextEdit::openFile( const QString &f ) { 699void TextEdit::openFile( const QString &f ) {
694 qDebug("filename is "+ f); 700 qDebug("filename is "+ f);
695 QString filer; 701 QString filer;
696 QFileInfo fi( f); 702 QFileInfo fi( f);
697// bFromDocView = true; 703// bFromDocView = true;
698 if(f.find(".desktop",0,true) != -1 && !openDesktop) { 704 if(f.find(".desktop",0,true) != -1 && !openDesktop ) {
699 switch ( QMessageBox::warning(this,tr("Text Editor"), 705 switch ( QMessageBox::warning(this,tr("Text Editor"),
700 tr("Text Editor has detected<BR>you selected a <B>.desktop</B> 706 tr("Text Editor has detected<BR>you selected a <B>.desktop</B>
701file.<BR>Open <B>.desktop</B> file or <B>linked</B> file?"), 707file.<BR>Open <B>.desktop</B> file or <B>linked</B> file?"),
702 tr(".desktop File"),tr("Linked Document"),0,1,1) ) { 708 tr(".desktop File"),tr("Linked Document"),0,1,1) ) {
703 case 0: 709 case 0:
704 filer = f; 710 filer = f;
705 break; 711 break;
706 case 1: 712 case 1:
707 DocLnk sf(f); 713 DocLnk sf(f);
708 filer = sf.file(); 714 filer = sf.file();
709 break; 715 break;
710 } 716 }
711 } else if(fi.baseName().left(1) == "") { 717 } else if(fi.baseName().left(1) == "") {
712 currentFileName=f; 718 currentFileName=f;
713 openDotFile(currentFileName); 719 openDotFile(currentFileName);
714 } else { 720 } else {
715 DocLnk sf(f); 721 DocLnk sf(f);
716 filer = sf.file(); 722 filer = sf.file();
717 if(filer.right(1) == "/") 723 if(filer.right(1) == "/")
718 filer = f; 724 filer = f;
719 } 725 }
720 726
721 DocLnk nf; 727 DocLnk nf;
722 nf.setType("text/plain"); 728 nf.setType("text/plain");
723 nf.setFile(filer); 729 nf.setFile(filer);
724 currentFileName=filer; 730 currentFileName=filer;
725 731
726 nf.setName(fi.baseName()); 732 nf.setName(fi.baseName());
727 openFile(nf); 733 openFile(nf);
728 734
729 qDebug("openFile string "+currentFileName); 735 qDebug("openFile string "+currentFileName);
730 736
731 showEditTools(); 737 showEditTools();
732 // Show filename in caption 738 // Show filename in caption
733 QString name = filer; 739 QString name = filer;
734 int sep = name.findRev( '/' ); 740 int sep = name.findRev( '/' );
735 if ( sep > 0 ) 741 if ( sep > 0 )
736 name = name.mid( sep+1 ); 742 name = name.mid( sep+1 );
737 updateCaption( name ); 743 updateCaption( name );
738} 744}
739 745
740void TextEdit::openFile( const DocLnk &f ) { 746void TextEdit::openFile( const DocLnk &f ) {
741// clear(); 747// clear();
742// bFromDocView = true; 748// bFromDocView = true;
743 FileManager fm; 749 FileManager fm;
744 QString txt; 750 QString txt;
745 currentFileName=f.file(); 751 currentFileName=f.file();
746 qDebug("openFile doclnk " + currentFileName); 752 qDebug("openFile doclnk " + currentFileName);
747 if ( !fm.loadFile( f, txt ) ) { 753 if ( !fm.loadFile( f, txt ) ) {
748 // ####### could be a new file 754 // ####### could be a new file
749 qDebug( "Cannot open file" ); 755 qDebug( "Cannot open file" );
750 } 756 }
751// fileNew(); 757// fileNew();
752 if ( doc ) 758 if ( doc )
753 delete doc; 759 delete doc;
754 doc = new DocLnk(f); 760 doc = new DocLnk(f);
755 editor->setText(txt); 761 editor->setText(txt);
756 editor->setEdited( false); 762 editor->setEdited( false);
757 edited1=false; 763 edited1=false;
758 edited=false; 764 edited=false;
759 765
760 doc->setName(currentFileName); 766 doc->setName(currentFileName);
761 updateCaption(); 767 updateCaption();
762} 768}
763 769
764void TextEdit::showEditTools() { 770void TextEdit::showEditTools() {
765 menu->show(); 771 menu->show();
766 editBar->show(); 772 editBar->show();
767 if(!useSearchBar) 773 if(!useSearchBar)
768 searchBar->hide(); 774 searchBar->hide();
769 else 775 else
770 searchBar->show(); 776 searchBar->show();
771 setWState (WState_Reserved1 ); 777 setWState (WState_Reserved1 );
772} 778}
773 779
774/*! 780/*!
775 unprompted save */ 781 unprompted save */
776bool TextEdit::save() { 782bool TextEdit::save() {
777 QString file = doc->file(); 783 QString file = doc->file();
778 qDebug("saver file "+file); 784 qDebug("saver file "+file);
779 QString name= doc->name(); 785 QString name= doc->name();
780 qDebug("File named "+name); 786 qDebug("File named "+name);
781 QString rt = editor->text(); 787 QString rt = editor->text();
782 if( !rt.isEmpty() ) { 788 if( !rt.isEmpty() ) {
783 if(name.isEmpty()) { 789 if(name.isEmpty()) {
784 saveAs(); 790 saveAs();
785 } else { 791 } else {
786 currentFileName= name ; 792 currentFileName= name ;
787 qDebug("saveFile "+currentFileName); 793 qDebug("saveFile "+currentFileName);
788 794
789 struct stat buf; 795 struct stat buf;
790 mode_t mode; 796 mode_t mode;
791 stat(file.latin1(), &buf); 797 stat(file.latin1(), &buf);
792 mode = buf.st_mode; 798 mode = buf.st_mode;
793 799
794 if(!fileIs) { 800 if(!fileIs) {
795 doc->setName( name); 801 doc->setName( name);
796 FileManager fm; 802 FileManager fm;
797 if ( !fm.saveFile( *doc, rt ) ) { 803 if ( !fm.saveFile( *doc, rt ) ) {
798 return false; 804 return false;
799 } 805 }
800 } else { 806 } else {
801 qDebug("regular save file"); 807 qDebug("regular save file");
802 QFile f(file); 808 QFile f(file);
803 if( f.open(IO_WriteOnly)) { 809 if( f.open(IO_WriteOnly)) {
804 QCString crt = rt.utf8(); 810 QCString crt = rt.utf8();
805 f.writeBlock(crt,crt.length()); 811 f.writeBlock(crt,crt.length());
806 } else { 812 } else {
807 QMessageBox::message(tr("Text Edit"),tr("Write Failed")); 813 QMessageBox::message(tr("Text Edit"),tr("Write Failed"));
808 return false; 814 return false;
809 } 815 }
810 816
811 } 817 }
812 editor->setEdited( false); 818 editor->setEdited( false);
813 edited1=false; 819 edited1=false;
814 edited=false; 820 edited=false;
815 if(caption().left(1)=="*") 821 if(caption().left(1)=="*")
816 setCaption(caption().right(caption().length()-1)); 822 setCaption(caption().right(caption().length()-1));
817 823
818 824
819 chmod( file.latin1(), mode); 825 chmod( file.latin1(), mode);
820 } 826 }
821 return true; 827 return true;
822 } 828 }
823 return false; 829 return false;
824} 830}
825 831
826/*! 832/*!
827 prompted save */ 833 prompted save */
828bool TextEdit::saveAs() { 834bool TextEdit::saveAs() {
835 if(caption() == tr("Text Editor"))
836 return false;
829 qDebug("saveAsFile " + currentFileName); 837 qDebug("saveAsFile " + currentFileName);
830 // case of nothing to save... 838 // case of nothing to save...
831// if ( !doc && !currentFileName.isEmpty()) { 839// if ( !doc && !currentFileName.isEmpty()) {
832// //|| !bFromDocView) 840// //|| !bFromDocView)
833// qDebug("no doc"); 841// qDebug("no doc");
834// return true; 842// return true;
835// } 843// }
836// if ( !editor->edited() ) { 844// if ( !editor->edited() ) {
837// delete doc; 845// delete doc;
838// doc = 0; 846// doc = 0;
839// return true; 847// return true;
840// } 848// }
841 849
842 QString rt = editor->text(); 850 QString rt = editor->text();
843 qDebug(currentFileName); 851 qDebug(currentFileName);
844 852
845 if( currentFileName.isEmpty() 853 if( currentFileName.isEmpty()
846 || currentFileName == tr("Unnamed") 854 || currentFileName == tr("Unnamed")
847 || currentFileName == tr("Text Editor")) { 855 || currentFileName == tr("Text Editor")) {
848 qDebug("do silly TT filename thing"); 856 qDebug("do silly TT filename thing");
849// if ( doc && doc->name().isEmpty() ) { 857// if ( doc && doc->name().isEmpty() ) {
850 QString pt = rt.simplifyWhiteSpace(); 858 QString pt = rt.simplifyWhiteSpace();
851 int i = pt.find( ' ' ); 859 int i = pt.find( ' ' );
852 QString docname = pt; 860 QString docname = pt;
853 if ( i > 0 ) 861 if ( i > 0 )
854 docname = pt.left( i ); 862 docname = pt.left( i );
855 // remove "." at the beginning 863 // remove "." at the beginning
856 while( docname.startsWith( "." ) ) 864 while( docname.startsWith( "." ) )
857 docname = docname.mid( 1 ); 865 docname = docname.mid( 1 );
858 docname.replace( QRegExp("/"), "_" ); 866 docname.replace( QRegExp("/"), "_" );
859 // cut the length. filenames longer than that 867 // cut the length. filenames longer than that
860 //don't make sense and something goes wrong when they get too long. 868 //don't make sense and something goes wrong when they get too long.
861 if ( docname.length() > 40 ) 869 if ( docname.length() > 40 )
862 docname = docname.left(40); 870 docname = docname.left(40);
863 if ( docname.isEmpty() ) 871 if ( docname.isEmpty() )
864 docname = tr("Unnamed"); 872 docname = tr("Unnamed");
865 if(doc) doc->setName(docname); 873 if(doc) doc->setName(docname);
866 currentFileName=docname; 874 currentFileName=docname;
867// } 875// }
868// else 876// else
869// qDebug("hmmmmmm"); 877// qDebug("hmmmmmm");
870 } 878 }
871 879
872 880
873 QMap<QString, QStringList> map; 881 QMap<QString, QStringList> map;
874 map.insert(tr("All"), QStringList() ); 882 map.insert(tr("All"), QStringList() );
875 QStringList text; 883 QStringList text;
876 text << "text/*"; 884 text << "text/*";
877 map.insert(tr("Text"), text ); 885 map.insert(tr("Text"), text );
878 text << "*"; 886 text << "*";
879 map.insert(tr("All"), text ); 887 map.insert(tr("All"), text );
880 888
881 QFileInfo cuFi( currentFileName); 889 QFileInfo cuFi( currentFileName);
882 QString filee = cuFi.fileName(); 890 QString filee = cuFi.fileName();
883 QString dire = cuFi.dirPath(); 891 QString dire = cuFi.dirPath();
884 if(dire==".") 892 if(dire==".")
885 dire = QPEApplication::documentDir(); 893 dire = QPEApplication::documentDir();
886 QString str = OFileDialog::getSaveFileName( 2, 894 QString str = OFileDialog::getSaveFileName( 2,
887 dire, 895 dire,
888 filee, map); 896 filee, map);
889 897
890 if(!str.isEmpty()) { 898 if(!str.isEmpty()) {
891 QString fileNm=str; 899 QString fileNm=str;
892 900
893 qDebug("saving filename "+fileNm); 901 qDebug("saving filename "+fileNm);
894 QFileInfo fi(fileNm); 902 QFileInfo fi(fileNm);
895 currentFileName=fi.fileName(); 903 currentFileName=fi.fileName();
896 if(doc) 904 if(doc)
897// QString file = doc->file(); 905// QString file = doc->file();
898// doc->removeFiles(); 906// doc->removeFiles();
899 delete doc; 907 delete doc;
900 DocLnk nf; 908 DocLnk nf;
901 nf.setType("text/plain"); 909 nf.setType("text/plain");
902 nf.setFile( fileNm); 910 nf.setFile( fileNm);
903 doc = new DocLnk(nf); 911 doc = new DocLnk(nf);
904// editor->setText(rt); 912// editor->setText(rt);
905 qDebug("Saving file as "+currentFileName); 913 qDebug("Saving file as "+currentFileName);
906 doc->setName( currentFileName); 914 doc->setName( currentFileName);
907 updateCaption( currentFileName); 915 updateCaption( currentFileName);
908 916
909 FileManager fm; 917 FileManager fm;
910 if ( !fm.saveFile( *doc, rt ) ) { 918 if ( !fm.saveFile( *doc, rt ) ) {
911 return false; 919 return false;
912 } 920 }
913 921
914 if( filePerms ) { 922 if( filePerms ) {
915 filePermissions *filePerm; 923 filePermissions *filePerm;
916 filePerm = new filePermissions(this, 924 filePerm = new filePermissions(this,
917 tr("Permissions"),true, 925 tr("Permissions"),true,
918 0,(const QString &)fileNm); 926 0,(const QString &)fileNm);
919 filePerm->showMaximized(); 927 filePerm->showMaximized();
920 filePerm->exec(); 928 filePerm->exec();
921 929
922 if( filePerm) 930 if( filePerm)
923 delete filePerm; 931 delete filePerm;
924 } 932 }
925// } 933// }
926 editor->setEdited( false); 934 editor->setEdited( false);
927 edited1 = false; 935 edited1 = false;
928 edited = false; 936 edited = false;
929 if(caption().left(1)=="*") 937 if(caption().left(1)=="*")
930 setCaption(caption().right(caption().length()-1)); 938 setCaption(caption().right(caption().length()-1));
931 939
932 return true; 940 return true;
933 } 941 }
934 qDebug("returning false"); 942 qDebug("returning false");
935 return false; 943 return false;
936} //end saveAs 944} //end saveAs
937 945
938void TextEdit::clear() { 946void TextEdit::clear() {
939 delete doc; 947 delete doc;
940 doc = 0; 948 doc = 0;
941 editor->clear(); 949 editor->clear();
942} 950}
943 951
944void TextEdit::updateCaption( const QString &name ) { 952void TextEdit::updateCaption( const QString &name ) {
945 953
946 if ( name.isEmpty() ) 954 if ( name.isEmpty() )
947 setCaption( tr("Text Editor") ); 955 setCaption( tr("Text Editor") );
948 else { 956 else {
949 QString s = name; 957 QString s = name;
950 if ( s.isNull() ) 958 if ( s.isNull() )
951 s = doc->name(); 959 s = doc->name();
952 if ( s.isEmpty() ) { 960 if ( s.isEmpty() ) {
953 s = tr( "Unnamed" ); 961 s = tr( "Unnamed" );
954 currentFileName=s; 962 currentFileName=s;
955 } 963 }
956// if(s.left(1) == "/") 964// if(s.left(1) == "/")
957// s = s.right(s.length()-1); 965// s = s.right(s.length()-1);
958 setCaption( s + " - " + tr("Text Editor") ); 966 setCaption( s + " - " + tr("Text Editor") );
959 } 967 }
960} 968}
961 969
962void TextEdit::setDocument(const QString& fileref) { 970void TextEdit::setDocument(const QString& fileref) {
963 if(fileref != "Unnamed") { 971 if(fileref != "Unnamed") {
964 currentFileName=fileref; 972 currentFileName=fileref;
965 qDebug("setDocument"); 973 qDebug("setDocument");
966 QFileInfo fi(currentFileName); 974 QFileInfo fi(currentFileName);
967 qDebug("basename:"+fi.baseName()+": current filenmame "+currentFileName); 975 qDebug("basename:"+fi.baseName()+": current filenmame "+currentFileName);
968 if(fi.baseName().left(1) == "") { 976 if(fi.baseName().left(1) == "") {
969// openDotFile(currentFileName); 977 // openDotFile(currentFileName);
970 } else { 978 } else {
971 qDebug("setDoc open"); 979 qDebug("setDoc open");
972 bFromDocView = true; 980 bFromDocView = true;
973 openFile(fileref); 981 openFile(fileref);
974 editor->setEdited(true); 982 editor->setEdited(true);
975 edited1=false; 983 edited1=false;
976 edited=true; 984 edited=true;
977 985 // fromSetDocument=false;
978// doSearchBar(); 986 // doSearchBar();
979 } 987 }
980 } 988 }
981 updateCaption( currentFileName); 989 updateCaption( currentFileName);
982} 990}
983 991
984void TextEdit::changeFont() { 992void TextEdit::changeFont() {
985 QDialog *d = new QDialog ( this, "FontDialog", true ); 993 QDialog *d = new QDialog ( this, "FontDialog", true );
986 d-> setCaption ( tr( "Choose font" )); 994 d-> setCaption ( tr( "Choose font" ));
987 QBoxLayout *lay = new QVBoxLayout ( d ); 995 QBoxLayout *lay = new QVBoxLayout ( d );
988 OFontSelector *ofs = new OFontSelector ( true, d ); 996 OFontSelector *ofs = new OFontSelector ( true, d );
989 lay-> addWidget ( ofs ); 997 lay-> addWidget ( ofs );
990 ofs-> setSelectedFont ( editor-> font ( )); 998 ofs-> setSelectedFont ( editor-> font ( ));
991 999
992 d-> showMaximized ( ); 1000 d-> showMaximized ( );
993 if ( d-> exec ( ) == QDialog::Accepted ) 1001 if ( d-> exec ( ) == QDialog::Accepted )
994 editor-> setFont ( ofs-> selectedFont ( )); 1002 editor-> setFont ( ofs-> selectedFont ( ));
995 delete d; 1003 delete d;
996 1004
997} 1005}
998 1006
999void TextEdit::editDelete() { 1007void TextEdit::editDelete() {
1000 switch ( QMessageBox::warning(this,tr("Text Editor"),tr("Do you really want<BR>to <B>delete</B> the current file\nfrom the disk?<BR>This is <B>irreversable!!</B>"),tr("Yes"),tr("No"),0,0,1) ) { 1008 switch ( QMessageBox::warning(this,tr("Text Editor"),
1009 tr("Do you really want<BR>to <B>delete</B> "
1010 "the current file\nfrom the disk?<BR>This is "
1011 "<B>irreversable!!</B>"),
1012 tr("Yes"),tr("No"),0,0,1) ) {
1001 case 0: 1013 case 0:
1002 if(doc) { 1014 if(doc) {
1003 doc->removeFiles(); 1015 doc->removeFiles();
1004 clear(); 1016 clear();
1005 setCaption( tr("Text Editor") ); 1017 setCaption( tr("Text Editor") );
1006 } 1018 }
1007 break; 1019 break;
1008 case 1: 1020 case 1:
1009 // exit 1021 // exit
1010 break; 1022 break;
1011 }; 1023 };
1012} 1024}
1013 1025
1014void TextEdit::changeStartConfig( bool b ) { 1026void TextEdit::changeStartConfig( bool b ) {
1015 startWithNew=b; 1027 startWithNew=b;
1016 Config cfg("TextEdit"); 1028 Config cfg("TextEdit");
1017 cfg.setGroup("View"); 1029 cfg.setGroup("View");
1018 cfg.writeEntry("startNew",b); 1030 cfg.writeEntry("startNew",b);
1019 update(); 1031 update();
1020} 1032}
1021 1033
1022void TextEdit::editorChanged() { 1034void TextEdit::editorChanged() {
1023 if(editor->edited() && edited && !edited1) { 1035// qDebug("editor changed");
1036 if( /*editor->edited() &&*/ /*edited && */!edited1) {
1024 setCaption( "*"+caption()); 1037 setCaption( "*"+caption());
1025 edited1=true; 1038 edited1=true;
1026 } 1039 }
1027 edited=true; 1040 edited=true;
1028} 1041}
1029 1042
1030void TextEdit::receive(const QCString&msg, const QByteArray&) { 1043void TextEdit::receive(const QCString&msg, const QByteArray &data) {
1031 qDebug("QCop "+msg); 1044 qDebug("QCop "+msg);
1032 if ( msg == "setDocument(QString)" ) { 1045 if ( msg == "setDocument(QString)" ) {
1033 qDebug("bugger all"); 1046 qDebug("bugger all");
1047
1034 } 1048 }
1035 1049
1036} 1050}
1051
1037void TextEdit::doAbout() { 1052void TextEdit::doAbout() {
1038 QMessageBox::about(0,tr("Text Edit"),tr("Text Edit is copyright<BR>" 1053 QMessageBox::about(0,tr("Text Edit"),tr("Text Edit is copyright<BR>"
1039 "2000 Trolltech AS, and<BR>" 1054 "2000 Trolltech AS, and<BR>"
1040 "2002 by <B>L. J. Potter <BR>llornkcor@handhelds.org</B><BR>" 1055 "2002 by <B>L. J. Potter <BR>llornkcor@handhelds.org</B><BR>"
1041 "and is licensed under the GPL")); 1056 "and is licensed under the GPL"));
1042} 1057}
1043 1058
1044void TextEdit::doPrompt(bool b) { 1059void TextEdit::doPrompt(bool b) {
1045 promptExit=b; 1060 promptExit=b;
1046 Config cfg("TextEdit"); 1061 Config cfg("TextEdit");
1047 cfg.setGroup ( "View" ); 1062 cfg.setGroup ( "View" );
1048 cfg.writeEntry ( "PromptExit", b); 1063 cfg.writeEntry ( "PromptExit", b);
1049} 1064}
1050 1065
1051void TextEdit::doDesktop(bool b) { 1066void TextEdit::doDesktop(bool b) {
1052 openDesktop=b; 1067 openDesktop=b;
1053 Config cfg("TextEdit"); 1068 Config cfg("TextEdit");
1054 cfg.setGroup ( "View" ); 1069 cfg.setGroup ( "View" );
1055 cfg.writeEntry ( "OpenDesktop", b); 1070 cfg.writeEntry ( "OpenDesktop", b);
1056} 1071}
1057 1072
1058void TextEdit::doFilePerms(bool b) { 1073void TextEdit::doFilePerms(bool b) {
1059 filePerms=b; 1074 filePerms=b;
1060 Config cfg("TextEdit"); 1075 Config cfg("TextEdit");
1061 cfg.setGroup ( "View" ); 1076 cfg.setGroup ( "View" );
1062 cfg.writeEntry ( "FilePermissions", b); 1077 cfg.writeEntry ( "FilePermissions", b);
1063} 1078}
1064 1079
1065void TextEdit::editPasteTimeDate() { 1080void TextEdit::editPasteTimeDate() {
1066#ifndef QT_NO_CLIPBOARD 1081#ifndef QT_NO_CLIPBOARD
1067 QClipboard *cb = QApplication::clipboard(); 1082 QClipboard *cb = QApplication::clipboard();
1068 QDateTime dt = QDateTime::currentDateTime(); 1083 QDateTime dt = QDateTime::currentDateTime();
1069 cb->setText( dt.toString()); 1084 cb->setText( dt.toString());
1070 editor->paste(); 1085 editor->paste();
1071#endif 1086#endif
1072} 1087}
1073 1088
diff --git a/core/apps/textedit/textedit.h b/core/apps/textedit/textedit.h
index bb7d693..9f16ebf 100644
--- a/core/apps/textedit/textedit.h
+++ b/core/apps/textedit/textedit.h
@@ -1,131 +1,132 @@
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;
50 50
51class TextEdit : public QMainWindow 51class TextEdit : public QMainWindow
52{ 52{
53 Q_OBJECT 53 Q_OBJECT
54 54
55public: 55public:
56 TextEdit( QWidget *parent = 0, const char *name = 0, WFlags f = 0 ); 56 TextEdit( QWidget *parent = 0, const char *name = 0, WFlags f = 0 );
57 ~TextEdit(); 57 ~TextEdit();
58 58
59 QPopupMenu *font; 59 QPopupMenu *font;
60 QAction *nStart, *nFileDlgOpt, *nAdvanced, *desktopAction, *filePermAction, *searchBarAction; 60 QAction *nStart, *nFileDlgOpt, *nAdvanced, *desktopAction, *filePermAction, *searchBarAction;
61 bool edited, edited1; 61 bool edited, edited1;
62 void openFile( const QString & ); 62 void openFile( const QString & );
63 QCopChannel * channel; 63 QCopChannel * channel;
64public slots: 64public slots:
65 void editorChanged(); 65 void editorChanged();
66void receive(const QCString&, const QByteArray&); 66void receive(const QCString&, const QByteArray&);
67protected: 67protected:
68 void closeEvent( QCloseEvent *e ); 68 void closeEvent( QCloseEvent *e );
69 void doSearchBar(); 69 void doSearchBar();
70private slots: 70private slots:
71 void editPasteTimeDate(); 71 void editPasteTimeDate();
72 void doPrompt(bool); 72 void doPrompt(bool);
73 void doDesktop(bool); 73 void doDesktop(bool);
74 void doFilePerms(bool); 74 void doFilePerms(bool);
75 void doAbout(); 75 void doAbout();
76 void setDocument(const QString&); 76 void setDocument(const QString&);
77 void changeFont(); 77 void changeFont();
78 void fileNew(); 78 void fileNew();
79 void fileRevert(); 79 void fileRevert();
80 void fileOpen(); 80 void fileOpen();
81 void changeStartConfig(bool); 81 void changeStartConfig(bool);
82 bool save(); 82 bool save();
83 bool saveAs(); 83 bool saveAs();
84 void cleanUp(); 84 void cleanUp();
85 85
86 86
87 void editCut(); 87 void editCut();
88 void editCopy(); 88 void editCopy();
89 void editPaste(); 89 void editPaste();
90 void editFind(); 90 void editFind();
91 void editDelete(); 91 void editDelete();
92 92
93 void findNext(); 93 void findNext();
94 void findClose(); 94 void findClose();
95 95
96 void search(); 96 void search();
97 void accept(); 97 void accept();
98 98
99 void newFile( const DocLnk & ); 99 void newFile( const DocLnk & );
100 void openFile( const DocLnk & ); 100 void openFile( const DocLnk & );
101 void showEditTools(); 101 void showEditTools();
102 102
103 void zoomIn(); 103 void zoomIn();
104 void zoomOut(); 104 void zoomOut();
105 void setBold(bool y); 105 void setBold(bool y);
106 void setItalic(bool y); 106 void setItalic(bool y);
107 void setWordWrap(bool y); 107 void setWordWrap(bool y);
108 void setSearchBar(bool); 108 void setSearchBar(bool);
109 109
110private: 110private:
111 void openDotFile(const QString &); 111 void openDotFile(const QString &);
112 void colorChanged( const QColor &c ); 112 void colorChanged( const QColor &c );
113 void clear(); 113 void clear();
114 void updateCaption( const QString &name=QString::null ); 114 void updateCaption( const QString &name=QString::null );
115 void setFontSize(int sz, bool round_down_not_up); 115 void setFontSize(int sz, bool round_down_not_up);
116private: 116private:
117// fileSaver *fileSaveDlg; 117// fileSaver *fileSaveDlg;
118// fileBrowser *browseForFiles; 118// fileBrowser *browseForFiles;
119 bool fromSetDocument;
119 QpeEditor* editor; 120 QpeEditor* editor;
120 QToolBar *menu, *editBar, *searchBar; 121 QToolBar *menu, *editBar, *searchBar;
121 QPopupMenu *advancedMenu; 122 QPopupMenu *advancedMenu;
122 QLineEdit *searchEdit; 123 QLineEdit *searchEdit;
123 DocLnk *doc; 124 DocLnk *doc;
124 bool fileIs, useAdvancedFeatures, promptExit, openDesktop, filePerms, useSearchBar, startWithNew; 125 bool fileIs, useAdvancedFeatures, promptExit, openDesktop, filePerms, useSearchBar, startWithNew;
125 bool bFromDocView; 126 bool bFromDocView;
126 int viewSelection; 127 int viewSelection;
127 QAction *zin, *zout; 128 QAction *zin, *zout;
128 QString currentFileName; 129 QString currentFileName;
129}; 130};
130 131
131#endif 132#endif