summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/apps/textedit/textedit.cpp41
1 files changed, 21 insertions, 20 deletions
diff --git a/core/apps/textedit/textedit.cpp b/core/apps/textedit/textedit.cpp
index 7b50a6c..6844023 100644
--- a/core/apps/textedit/textedit.cpp
+++ b/core/apps/textedit/textedit.cpp
@@ -262,699 +262,700 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f )
262 QPEMenuBar *mb = new QPEMenuBar( bar ); 262 QPEMenuBar *mb = new QPEMenuBar( bar );
263 QPopupMenu *file = new QPopupMenu( this ); 263 QPopupMenu *file = new QPopupMenu( this );
264 QPopupMenu *edit = new QPopupMenu( this ); 264 QPopupMenu *edit = new QPopupMenu( this );
265 font = new QPopupMenu( this ); 265 font = new QPopupMenu( this );
266 266
267 bar = new QPEToolBar( this ); 267 bar = new QPEToolBar( this );
268 editBar = bar; 268 editBar = bar;
269 269
270 QAction *a = new QAction( tr( "New" ), Resource::loadPixmap( "new" ), QString::null, 0, this, 0 ); 270 QAction *a = new QAction( tr( "New" ), Resource::loadPixmap( "new" ), QString::null, 0, this, 0 );
271 connect( a, SIGNAL( activated() ), this, SLOT( fileNew() ) ); 271 connect( a, SIGNAL( activated() ), this, SLOT( fileNew() ) );
272 a->addTo( bar ); 272 a->addTo( bar );
273 a->addTo( file ); 273 a->addTo( file );
274 274
275 a = new QAction( tr( "Open" ), Resource::loadPixmap( "fileopen" ), QString::null, 0, this, 0 ); 275 a = new QAction( tr( "Open" ), Resource::loadPixmap( "fileopen" ), QString::null, 0, this, 0 );
276 connect( a, SIGNAL( activated() ), this, SLOT( fileOpen() ) ); 276 connect( a, SIGNAL( activated() ), this, SLOT( fileOpen() ) );
277 a->addTo( bar ); 277 a->addTo( bar );
278 a->addTo( file ); 278 a->addTo( file );
279 279
280 a = new QAction( tr( "Save" ), QPixmap(( const char** ) filesave_xpm ) , QString::null, 0, this, 0 ); 280 a = new QAction( tr( "Save" ), QPixmap(( const char** ) filesave_xpm ) , QString::null, 0, this, 0 );
281 connect( a, SIGNAL( activated() ), this, SLOT( save() ) ); 281 connect( a, SIGNAL( activated() ), this, SLOT( save() ) );
282 file->insertSeparator(); 282 file->insertSeparator();
283 a->addTo( file ); 283 a->addTo( file );
284 284
285 a = new QAction( tr( "Save As" ), QPixmap(( const char** ) filesave_xpm ) , QString::null, 0, this, 0 ); 285 a = new QAction( tr( "Save As" ), QPixmap(( const char** ) filesave_xpm ) , QString::null, 0, this, 0 );
286 connect( a, SIGNAL( activated() ), this, SLOT( saveAs() ) ); 286 connect( a, SIGNAL( activated() ), this, SLOT( saveAs() ) );
287 a->addTo( file ); 287 a->addTo( file );
288 288
289 a = new QAction( tr( "Cut" ), Resource::loadPixmap( "cut" ), QString::null, 0, this, 0 ); 289 a = new QAction( tr( "Cut" ), Resource::loadPixmap( "cut" ), QString::null, 0, this, 0 );
290 connect( a, SIGNAL( activated() ), this, SLOT( editCut() ) ); 290 connect( a, SIGNAL( activated() ), this, SLOT( editCut() ) );
291 a->addTo( editBar ); 291 a->addTo( editBar );
292 a->addTo( edit ); 292 a->addTo( edit );
293 293
294 a = new QAction( tr( "Copy" ), Resource::loadPixmap( "copy" ), QString::null, 0, this, 0 ); 294 a = new QAction( tr( "Copy" ), Resource::loadPixmap( "copy" ), QString::null, 0, this, 0 );
295 connect( a, SIGNAL( activated() ), this, SLOT( editCopy() ) ); 295 connect( a, SIGNAL( activated() ), this, SLOT( editCopy() ) );
296 a->addTo( editBar ); 296 a->addTo( editBar );
297 a->addTo( edit ); 297 a->addTo( edit );
298 298
299 a = new QAction( tr( "Paste" ), Resource::loadPixmap( "paste" ), QString::null, 0, this, 0 ); 299 a = new QAction( tr( "Paste" ), Resource::loadPixmap( "paste" ), QString::null, 0, this, 0 );
300 connect( a, SIGNAL( activated() ), this, SLOT( editPaste() ) ); 300 connect( a, SIGNAL( activated() ), this, SLOT( editPaste() ) );
301 a->addTo( editBar ); 301 a->addTo( editBar );
302 a->addTo( edit ); 302 a->addTo( edit );
303 303
304 304
305#ifndef QT_NO_CLIPBOARD 305#ifndef QT_NO_CLIPBOARD
306 a = new QAction( tr( "Insert Time and Date" ), Resource::loadPixmap( "paste" ), QString::null, 0, this, 0 ); 306 a = new QAction( tr( "Insert Time and Date" ), Resource::loadPixmap( "paste" ), QString::null, 0, this, 0 );
307 connect( a, SIGNAL( activated() ), this, SLOT( editPasteTimeDate() ) ); 307 connect( a, SIGNAL( activated() ), this, SLOT( editPasteTimeDate() ) );
308 a->addTo( edit ); 308 a->addTo( edit );
309#endif 309#endif
310 310
311 a = new QAction( tr( "Find..." ), Resource::loadPixmap( "find" ), QString::null, 0, this, 0 ); 311 a = new QAction( tr( "Find..." ), Resource::loadPixmap( "find" ), QString::null, 0, this, 0 );
312 connect( a, SIGNAL( activated() ), this, SLOT( editFind() ) ); 312 connect( a, SIGNAL( activated() ), this, SLOT( editFind() ) );
313 edit->insertSeparator(); 313 edit->insertSeparator();
314 a->addTo( bar ); 314 a->addTo( bar );
315 a->addTo( edit ); 315 a->addTo( edit );
316 316
317 317
318 zin = new QAction( tr("Zoom in"), QString::null, 0, this, 0 ); 318 zin = new QAction( tr("Zoom in"), QString::null, 0, this, 0 );
319 connect( zin, SIGNAL( activated() ), this, SLOT( zoomIn() ) ); 319 connect( zin, SIGNAL( activated() ), this, SLOT( zoomIn() ) );
320 zin->addTo( font ); 320 zin->addTo( font );
321 321
322 zout = new QAction( tr("Zoom out"), QString::null, 0, this, 0 ); 322 zout = new QAction( tr("Zoom out"), QString::null, 0, this, 0 );
323 connect( zout, SIGNAL( activated() ), this, SLOT( zoomOut() ) ); 323 connect( zout, SIGNAL( activated() ), this, SLOT( zoomOut() ) );
324 zout->addTo( font ); 324 zout->addTo( font );
325 325
326 font->insertSeparator(); 326 font->insertSeparator();
327 327
328 QAction *wa = new QAction( tr("Wrap lines"), QString::null, 0, this, 0 ); 328 QAction *wa = new QAction( tr("Wrap lines"), QString::null, 0, this, 0 );
329 connect( wa, SIGNAL( toggled(bool) ), this, SLOT( setWordWrap(bool) ) ); 329 connect( wa, SIGNAL( toggled(bool) ), this, SLOT( setWordWrap(bool) ) );
330 wa->setToggleAction(TRUE); 330 wa->setToggleAction(TRUE);
331 wa->addTo( font ); 331 wa->addTo( font );
332 332
333 font->insertSeparator(); 333 font->insertSeparator();
334 font->insertItem(tr("Font"), this, SLOT(changeFont()) ); 334 font->insertItem(tr("Font"), this, SLOT(changeFont()) );
335 335
336 font->insertSeparator(); 336 font->insertSeparator();
337 337
338 nStart = new QAction( tr("Start with new file"), QString::null, 0, this, 0 ); 338 nStart = new QAction( tr("Start with new file"), QString::null, 0, this, 0 );
339 connect( nStart, SIGNAL( toggled(bool) ), this, SLOT( changeStartConfig(bool) ) ); 339 connect( nStart, SIGNAL( toggled(bool) ), this, SLOT( changeStartConfig(bool) ) );
340 nStart->setToggleAction(TRUE); 340 nStart->setToggleAction(TRUE);
341 nStart->addTo( font ); 341 nStart->addTo( font );
342 342
343 nAdvanced = new QAction( tr("Advanced features"), QString::null, 0, this, 0 ); 343 nAdvanced = new QAction( tr("Advanced features"), QString::null, 0, this, 0 );
344 connect( nAdvanced, SIGNAL( toggled(bool) ), this, SLOT( doAdvanced(bool) ) ); 344 connect( nAdvanced, SIGNAL( toggled(bool) ), this, SLOT( doAdvanced(bool) ) );
345 nAdvanced->setToggleAction(TRUE); 345 nAdvanced->setToggleAction(TRUE);
346 nAdvanced->addTo( font ); 346 nAdvanced->addTo( font );
347 347
348 348
349 font->insertSeparator(); 349 font->insertSeparator();
350 350
351 font->insertItem(tr("About"), this, SLOT( doAbout()) ); 351 font->insertItem(tr("About"), this, SLOT( doAbout()) );
352 352
353 mb->insertItem( tr( "File" ), file ); 353 mb->insertItem( tr( "File" ), file );
354 mb->insertItem( tr( "Edit" ), edit ); 354 mb->insertItem( tr( "Edit" ), edit );
355 mb->insertItem( tr( "View" ), font ); 355 mb->insertItem( tr( "View" ), font );
356 356
357 searchBar = new QPEToolBar(this); 357 searchBar = new QPEToolBar(this);
358 addToolBar( searchBar, "Search", QMainWindow::Top, TRUE ); 358 addToolBar( searchBar, "Search", QMainWindow::Top, TRUE );
359 359
360 searchBar->setHorizontalStretchable( TRUE ); 360 searchBar->setHorizontalStretchable( TRUE );
361 361
362 searchEdit = new QLineEdit( searchBar, "searchEdit" ); 362 searchEdit = new QLineEdit( searchBar, "searchEdit" );
363 searchBar->setStretchableWidget( searchEdit ); 363 searchBar->setStretchableWidget( searchEdit );
364 connect( searchEdit, SIGNAL( textChanged( const QString & ) ), 364 connect( searchEdit, SIGNAL( textChanged( const QString & ) ),
365 this, SLOT( search() ) ); 365 this, SLOT( search() ) );
366 366
367 a = new QAction( tr( "Find Next" ), Resource::loadPixmap( "next" ), QString::null, 0, this, 0 ); 367 a = new QAction( tr( "Find Next" ), Resource::loadPixmap( "next" ), QString::null, 0, this, 0 );
368 connect( a, SIGNAL( activated() ), this, SLOT( findNext() ) ); 368 connect( a, SIGNAL( activated() ), this, SLOT( findNext() ) );
369 a->addTo( searchBar ); 369 a->addTo( searchBar );
370 a->addTo( edit ); 370 a->addTo( edit );
371 371
372 a = new QAction( tr( "Close Find" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 ); 372 a = new QAction( tr( "Close Find" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 );
373 connect( a, SIGNAL( activated() ), this, SLOT( findClose() ) ); 373 connect( a, SIGNAL( activated() ), this, SLOT( findClose() ) );
374 a->addTo( searchBar ); 374 a->addTo( searchBar );
375 375
376 edit->insertSeparator(); 376 edit->insertSeparator();
377 a = new QAction( tr( "Delete" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 ); 377 a = new QAction( tr( "Delete" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 );
378 connect( a, SIGNAL( activated() ), this, SLOT( editDelete() ) ); 378 connect( a, SIGNAL( activated() ), this, SLOT( editDelete() ) );
379 a->addTo( edit ); 379 a->addTo( edit );
380 380
381 searchBar->hide(); 381 searchBar->hide();
382 382
383 editor = new QpeEditor( this ); 383 editor = new QpeEditor( this );
384 setCentralWidget( editor ); 384 setCentralWidget( editor );
385 editor->setFrameStyle( QFrame::Panel | QFrame::Sunken ); 385 editor->setFrameStyle( QFrame::Panel | QFrame::Sunken );
386 connect( editor, SIGNAL( textChanged() ), this, SLOT( editorChanged() ) ); 386 connect( editor, SIGNAL( textChanged() ), this, SLOT( editorChanged() ) );
387 387
388 Config cfg("TextEdit"); 388 Config cfg("TextEdit");
389 389
390 cfg. setGroup ( "Font" ); 390 cfg. setGroup ( "Font" );
391 391
392 QFont defaultFont = editor-> font ( ); 392 QFont defaultFont = editor-> font ( );
393 393
394 QString family = cfg. readEntry ( "Family", defaultFont. family ( )); 394 QString family = cfg. readEntry ( "Family", defaultFont. family ( ));
395 int size = cfg. readNumEntry ( "Size", defaultFont. pointSize ( )); 395 int size = cfg. readNumEntry ( "Size", defaultFont. pointSize ( ));
396 int weight = cfg. readNumEntry ( "Weight", defaultFont. weight ( )); 396 int weight = cfg. readNumEntry ( "Weight", defaultFont. weight ( ));
397 bool italic = cfg. readBoolEntry ( "Italic", defaultFont. italic ( )); 397 bool italic = cfg. readBoolEntry ( "Italic", defaultFont. italic ( ));
398 398
399 defaultFont = QFont ( family, size, weight, italic ); 399 defaultFont = QFont ( family, size, weight, italic );
400 editor-> setFont ( defaultFont ); 400 editor-> setFont ( defaultFont );
401 401
402 updateCaption(); 402 updateCaption();
403 403
404 cfg.setGroup ( "View" ); 404 cfg.setGroup ( "View" );
405 405
406 useAdvancedFeatures = cfg. readBoolEntry ( "AdvancedFeatures", false ); 406 useAdvancedFeatures = cfg. readBoolEntry ( "AdvancedFeatures", false );
407 407
408 if ( useAdvancedFeatures ) 408 if ( useAdvancedFeatures )
409 nAdvanced-> setOn ( true ); 409 nAdvanced-> setOn ( true );
410 410
411 bool wrap = cfg. readBoolEntry ( "Wrap", true ); 411 bool wrap = cfg. readBoolEntry ( "Wrap", true );
412 wa-> setOn ( wrap ); 412 wa-> setOn ( wrap );
413 setWordWrap ( wrap ); 413 setWordWrap ( wrap );
414 414
415 if(cfg.readEntry("startNew","TRUE") == "TRUE") { 415 if(cfg.readEntry("startNew","TRUE") == "TRUE") {
416 nStart->setOn(TRUE); 416 nStart->setOn(TRUE);
417 fileNew(); 417 fileNew();
418 } else { 418 } else {
419 fileOpen(); 419 fileOpen();
420 } 420 }
421 421
422 viewSelection = cfg.readNumEntry( "FileView", 0 ); 422 viewSelection = cfg.readNumEntry( "FileView", 0 );
423} 423}
424 424
425TextEdit::~TextEdit() { 425TextEdit::~TextEdit() {
426 if( edited1 & !useAdvancedFeatures ) 426 if( edited1 & !useAdvancedFeatures )
427 saveAs(); 427 saveAs();
428} 428}
429 429
430void TextEdit::cleanUp() { 430void TextEdit::cleanUp() {
431 qDebug("cleanUp");// save(); 431 qDebug("cleanUp");// save();
432 432
433 Config cfg ( "TextEdit" ); 433 Config cfg ( "TextEdit" );
434 cfg. setGroup ( "Font" ); 434 cfg. setGroup ( "Font" );
435 QFont f = editor->font(); 435 QFont f = editor->font();
436 cfg. writeEntry ( "Family", f. family ( )); 436 cfg. writeEntry ( "Family", f. family ( ));
437 cfg. writeEntry ( "Size", f. pointSize ( )); 437 cfg. writeEntry ( "Size", f. pointSize ( ));
438 cfg. writeEntry ( "Weight", f. weight ( )); 438 cfg. writeEntry ( "Weight", f. weight ( ));
439 cfg. writeEntry ( "Italic", f. italic ( )); 439 cfg. writeEntry ( "Italic", f. italic ( ));
440 440
441 cfg. setGroup ( "View" ); 441 cfg. setGroup ( "View" );
442 cfg. writeEntry ( "Wrap", editor-> wordWrap ( ) == QMultiLineEdit::WidgetWidth ); 442 cfg. writeEntry ( "Wrap", editor-> wordWrap ( ) == QMultiLineEdit::WidgetWidth );
443 cfg. writeEntry ( "FileView", viewSelection ); 443 cfg. writeEntry ( "FileView", viewSelection );
444 cfg. writeEntry ( "AdvancedFeatures", useAdvancedFeatures ); 444 cfg. writeEntry ( "AdvancedFeatures", useAdvancedFeatures );
445} 445}
446 446
447 447
448void TextEdit::accept() { 448void TextEdit::accept() {
449 if( edited1) 449 if( edited1)
450 saveAs(); 450 saveAs();
451 exit(0); 451 exit(0);
452} 452}
453 453
454void TextEdit::zoomIn() { 454void TextEdit::zoomIn() {
455 setFontSize(editor->font().pointSize()+1,FALSE); 455 setFontSize(editor->font().pointSize()+1,FALSE);
456} 456}
457 457
458void TextEdit::zoomOut() { 458void TextEdit::zoomOut() {
459 setFontSize(editor->font().pointSize()-1,TRUE); 459 setFontSize(editor->font().pointSize()-1,TRUE);
460} 460}
461 461
462 462
463void TextEdit::setFontSize(int sz, bool round_down_not_up) { 463void TextEdit::setFontSize(int sz, bool round_down_not_up) {
464 int s=10; 464 int s=10;
465 for (int i=0; i<nfontsizes; i++) { 465 for (int i=0; i<nfontsizes; i++) {
466 if ( fontsize[i] == sz ) { 466 if ( fontsize[i] == sz ) {
467 s = sz; 467 s = sz;
468 break; 468 break;
469 } else if ( round_down_not_up ) { 469 } else if ( round_down_not_up ) {
470 if ( fontsize[i] < sz ) 470 if ( fontsize[i] < sz )
471 s = fontsize[i]; 471 s = fontsize[i];
472 } else { 472 } else {
473 if ( fontsize[i] > sz ) { 473 if ( fontsize[i] > sz ) {
474 s = fontsize[i]; 474 s = fontsize[i];
475 break; 475 break;
476 } 476 }
477 } 477 }
478 } 478 }
479 479
480 QFont f = editor->font(); 480 QFont f = editor->font();
481 f.setPointSize(s); 481 f.setPointSize(s);
482 editor->setFont(f); 482 editor->setFont(f);
483 483
484 zin->setEnabled(s != fontsize[nfontsizes-1]); 484 zin->setEnabled(s != fontsize[nfontsizes-1]);
485 zout->setEnabled(s != fontsize[0]); 485 zout->setEnabled(s != fontsize[0]);
486} 486}
487 487
488void TextEdit::setBold(bool y) { 488void TextEdit::setBold(bool y) {
489 QFont f = editor->font(); 489 QFont f = editor->font();
490 f.setBold(y); 490 f.setBold(y);
491 editor->setFont(f); 491 editor->setFont(f);
492} 492}
493 493
494void TextEdit::setItalic(bool y) { 494void TextEdit::setItalic(bool y) {
495 QFont f = editor->font(); 495 QFont f = editor->font();
496 f.setItalic(y); 496 f.setItalic(y);
497 editor->setFont(f); 497 editor->setFont(f);
498} 498}
499 499
500void TextEdit::setWordWrap(bool y) { 500void TextEdit::setWordWrap(bool y) {
501 bool state = editor->edited(); 501 bool state = editor->edited();
502 editor->setWordWrap(y ? QMultiLineEdit::WidgetWidth : QMultiLineEdit::NoWrap ); 502 editor->setWordWrap(y ? QMultiLineEdit::WidgetWidth : QMultiLineEdit::NoWrap );
503 editor->setEdited( state ); 503 editor->setEdited( state );
504} 504}
505 505
506void TextEdit::fileNew() { 506void TextEdit::fileNew() {
507// if( !bFromDocView ) { 507// if( !bFromDocView ) {
508// saveAs(); 508// saveAs();
509// } 509// }
510 newFile(DocLnk()); 510 newFile(DocLnk());
511} 511}
512 512
513void TextEdit::fileOpen() { 513void TextEdit::fileOpen() {
514 Config cfg("TextEdit"); 514 Config cfg("TextEdit");
515 cfg.setGroup("View"); 515 cfg.setGroup("View");
516 // bool b=FALSE; 516 // bool b=FALSE;
517 517
518 QMap<QString, QStringList> map; 518 QMap<QString, QStringList> map;
519 map.insert(tr("All"), QStringList() ); 519 map.insert(tr("All"), QStringList() );
520 QStringList text; 520 QStringList text;
521 text << "text/*"; 521 text << "text/*";
522 map.insert(tr("Text"), text ); 522 map.insert(tr("Text"), text );
523 text << "*"; 523 text << "*";
524 map.insert(tr("All"), text ); 524 map.insert(tr("All"), text );
525 QString str = OFileDialog::getOpenFileName( 2,"/", QString::null, map); 525 QString str = OFileDialog::getOpenFileName( 2,"/", QString::null, map);
526 if(!str.isEmpty() ) 526 if(!str.isEmpty() )
527 openFile( str ); 527 openFile( str );
528 528
529} 529}
530 530
531void TextEdit::doSearchBar() { 531void TextEdit::doSearchBar() {
532 Config cfg("TextEdit"); 532 Config cfg("TextEdit");
533 cfg.setGroup("View"); 533 cfg.setGroup("View");
534 if(cfg.readEntry("SearchBar","Closed") != "Opened") 534 if(cfg.readEntry("SearchBar","Closed") != "Opened")
535 searchBar->hide(); 535 searchBar->hide();
536} 536}
537 537
538#if 0 538#if 0
539void TextEdit::slotFind() { 539void TextEdit::slotFind() {
540 FindDialog frmFind( tr("Text Editor"), this ); 540 FindDialog frmFind( tr("Text Editor"), this );
541 connect( &frmFind, SIGNAL(signalFindClicked(const QString &, bool, bool, int)), 541 connect( &frmFind, SIGNAL(signalFindClicked(const QString &, bool, bool, int)),
542 editor, SLOT(slotDoFind( const QString&,bool,bool))); 542 editor, SLOT(slotDoFind( const QString&,bool,bool)));
543 543
544 //case sensitive, backwards, [category] 544 //case sensitive, backwards, [category]
545 545
546 connect( editor, SIGNAL(notFound()), 546 connect( editor, SIGNAL(notFound()),
547 &frmFind, SLOT(slotNotFound()) ); 547 &frmFind, SLOT(slotNotFound()) );
548 connect( editor, SIGNAL(searchWrapped()), 548 connect( editor, SIGNAL(searchWrapped()),
549 &frmFind, SLOT(slotWrapAround()) ); 549 &frmFind, SLOT(slotWrapAround()) );
550 550
551 frmFind.exec(); 551 frmFind.exec();
552 552
553 553
554} 554}
555#endif 555#endif
556 556
557void TextEdit::fileRevert() { 557void TextEdit::fileRevert() {
558 clear(); 558 clear();
559 fileOpen(); 559 fileOpen();
560} 560}
561 561
562void TextEdit::editCut() { 562void TextEdit::editCut() {
563#ifndef QT_NO_CLIPBOARD 563#ifndef QT_NO_CLIPBOARD
564 editor->cut(); 564 editor->cut();
565#endif 565#endif
566} 566}
567 567
568void TextEdit::editCopy() { 568void TextEdit::editCopy() {
569#ifndef QT_NO_CLIPBOARD 569#ifndef QT_NO_CLIPBOARD
570 editor->copy(); 570 editor->copy();
571#endif 571#endif
572} 572}
573 573
574void TextEdit::editPaste() { 574void TextEdit::editPaste() {
575#ifndef QT_NO_CLIPBOARD 575#ifndef QT_NO_CLIPBOARD
576 editor->paste(); 576 editor->paste();
577#endif 577#endif
578} 578}
579 579
580void TextEdit::editFind() { 580void TextEdit::editFind() {
581 searchBar->show(); 581 searchBar->show();
582 searchVisible = TRUE; 582 searchVisible = TRUE;
583 searchEdit->setFocus(); 583 searchEdit->setFocus();
584 Config cfg("TextEdit"); 584 Config cfg("TextEdit");
585 cfg.setGroup("View"); 585 cfg.setGroup("View");
586 cfg.writeEntry("SearchBar","Opened"); 586 cfg.writeEntry("SearchBar","Opened");
587 587
588} 588}
589 589
590void TextEdit::findNext() { 590void TextEdit::findNext() {
591 editor->find( searchEdit->text(), FALSE, FALSE ); 591 editor->find( searchEdit->text(), FALSE, FALSE );
592 592
593} 593}
594 594
595void TextEdit::findClose() { 595void TextEdit::findClose() {
596 searchVisible = FALSE; 596 searchVisible = FALSE;
597 searchBar->hide(); 597 searchBar->hide();
598 Config cfg("TextEdit"); 598 Config cfg("TextEdit");
599 cfg.setGroup("View"); 599 cfg.setGroup("View");
600 cfg.writeEntry("SearchBar","Closed"); 600 cfg.writeEntry("SearchBar","Closed");
601 cfg.write(); 601 cfg.write();
602} 602}
603 603
604void TextEdit::search() { 604void TextEdit::search() {
605 editor->find( searchEdit->text(), FALSE, FALSE ); 605 editor->find( searchEdit->text(), FALSE, FALSE );
606} 606}
607 607
608void TextEdit::newFile( const DocLnk &f ) { 608void TextEdit::newFile( const DocLnk &f ) {
609 DocLnk nf = f; 609 DocLnk nf = f;
610 nf.setType("text/plain"); 610 nf.setType("text/plain");
611 clear(); 611 clear();
612 setWState (WState_Reserved1 ); 612 setWState (WState_Reserved1 );
613 editor->setFocus(); 613 editor->setFocus();
614 doc = new DocLnk(nf); 614 doc = new DocLnk(nf);
615 currentFileName = "Unnamed"; 615 currentFileName = "Unnamed";
616 qDebug("newFile "+currentFileName); 616 qDebug("newFile "+currentFileName);
617 updateCaption( currentFileName); 617 updateCaption( currentFileName);
618// editor->setEdited( FALSE); 618// editor->setEdited( FALSE);
619} 619}
620 620
621void TextEdit::openFile( const QString &f ) { 621void TextEdit::openFile( const QString &f ) {
622 qDebug("filename is "+ f); 622 qDebug("filename is "+ f);
623 QString filer; 623 QString filer;
624// bFromDocView = TRUE; 624// bFromDocView = TRUE;
625 if(f.find(".desktop",0,TRUE) != -1 && useAdvancedFeatures) { 625 if(f.find(".desktop",0,TRUE) != -1 && useAdvancedFeatures) {
626 switch ( QMessageBox::warning(this,tr("Text Editor"), 626 switch ( QMessageBox::warning(this,tr("Text Editor"),
627 tr("Text Editor has detected<BR>you selected a <B>.desktop</B> file.<BR>Open <B>.desktop</B> file or <B>linked</B> file?"), 627 tr("Text Editor has detected<BR>you selected a <B>.desktop</B>
628file.<BR>Open <B>.desktop</B> file or <B>linked</B> file?"),
628 tr(".desktop File"),tr("Linked Document"),0,1,1) ) { 629 tr(".desktop File"),tr("Linked Document"),0,1,1) ) {
629 case 0: 630 case 0:
630 filer = f; 631 filer = f;
631 break; 632 break;
632 case 1: 633 case 1:
633 DocLnk sf(f); 634 DocLnk sf(f);
634 filer = sf.file(); 635 filer = sf.file();
635 break; 636 break;
636 } 637 }
637 } else { 638 } else {
638 DocLnk sf(f); 639 DocLnk sf(f);
639 filer = sf.file(); 640 filer = sf.file();
640// filer = f; 641 if(filer.right(1) == "/")
641// fileIs = TRUE; 642 filer = f;
642 } 643 }
643 644
644 DocLnk nf; 645 DocLnk nf;
645 nf.setType("text/plain"); 646 nf.setType("text/plain");
646 nf.setFile(filer); 647 nf.setFile(filer);
647 currentFileName=filer; 648 currentFileName=filer;
648 QFileInfo fi( currentFileName); 649 QFileInfo fi( currentFileName);
649 nf.setName(fi.baseName()); 650 nf.setName(fi.baseName());
650 qDebug("openFile string "+currentFileName); 651 qDebug("openFile string "+currentFileName);
651 652
652 openFile(nf); 653 openFile(nf);
653 showEditTools(); 654 showEditTools();
654 // Show filename in caption 655 // Show filename in caption
655 QString name = filer; 656 QString name = filer;
656 int sep = name.findRev( '/' ); 657 int sep = name.findRev( '/' );
657 if ( sep > 0 ) 658 if ( sep > 0 )
658 name = name.mid( sep+1 ); 659 name = name.mid( sep+1 );
659 updateCaption( name ); 660 updateCaption( name );
660} 661}
661 662
662void TextEdit::openFile( const DocLnk &f ) { 663void TextEdit::openFile( const DocLnk &f ) {
663// clear(); 664// clear();
664// bFromDocView = TRUE; 665// bFromDocView = TRUE;
665 FileManager fm; 666 FileManager fm;
666 QString txt; 667 QString txt;
667 currentFileName=f.file(); 668 currentFileName=f.file();
668 qDebug("openFile doclnk " + currentFileName); 669 qDebug("openFile doclnk " + currentFileName);
669 if ( !fm.loadFile( f, txt ) ) { 670 if ( !fm.loadFile( f, txt ) ) {
670 // ####### could be a new file 671 // ####### could be a new file
671 qDebug( "Cannot open file" ); 672 qDebug( "Cannot open file" );
672 } 673 }
673// fileNew(); 674// fileNew();
674 if ( doc ) 675 if ( doc )
675 delete doc; 676 delete doc;
676 doc = new DocLnk(f); 677 doc = new DocLnk(f);
677 editor->setText(txt); 678 editor->setText(txt);
678 editor->setEdited( FALSE); 679 editor->setEdited( FALSE);
679 edited1=FALSE; 680 edited1=FALSE;
680 edited=FALSE; 681 edited=FALSE;
681 682
682 doc->setName(currentFileName); 683 doc->setName(currentFileName);
683 updateCaption(); 684 updateCaption();
684} 685}
685 686
686void TextEdit::showEditTools() { 687void TextEdit::showEditTools() {
687// if ( !doc ) 688// if ( !doc )
688// close(); 689// close();
689// clear(); 690// clear();
690 menu->show(); 691 menu->show();
691 editBar->show(); 692 editBar->show();
692 if ( searchVisible ) 693 if ( searchVisible )
693 searchBar->show(); 694 searchBar->show();
694// updateCaption(); 695// updateCaption();
695 setWState (WState_Reserved1 ); 696 setWState (WState_Reserved1 );
696} 697}
697 698
698/*! 699/*!
699 unprompted save */ 700 unprompted save */
700bool TextEdit::save() { 701bool TextEdit::save() {
701 QString file = doc->file(); 702 QString file = doc->file();
702 qDebug("saver file "+file); 703 qDebug("saver file "+file);
703 QString name= doc->name(); 704 QString name= doc->name();
704 qDebug("File named "+name); 705 qDebug("File named "+name);
705 QString rt = editor->text(); 706 QString rt = editor->text();
706 if( !rt.isEmpty() ) { 707 if( !rt.isEmpty() ) {
707 if(name.isEmpty()) { 708 if(name.isEmpty()) {
708 saveAs(); 709 saveAs();
709 } else { 710 } else {
710 currentFileName= name ; 711 currentFileName= name ;
711 qDebug("saveFile "+currentFileName); 712 qDebug("saveFile "+currentFileName);
712 713
713 struct stat buf; 714 struct stat buf;
714 mode_t mode; 715 mode_t mode;
715 stat(file.latin1(), &buf); 716 stat(file.latin1(), &buf);
716 mode = buf.st_mode; 717 mode = buf.st_mode;
717 718
718 if(!fileIs) { 719 if(!fileIs) {
719 doc->setName( name); 720 doc->setName( name);
720 FileManager fm; 721 FileManager fm;
721 if ( !fm.saveFile( *doc, rt ) ) { 722 if ( !fm.saveFile( *doc, rt ) ) {
722 return false; 723 return false;
723 } 724 }
724 } else { 725 } else {
725 qDebug("regular save file"); 726 qDebug("regular save file");
726 QFile f(file); 727 QFile f(file);
727 if( f.open(IO_WriteOnly)) { 728 if( f.open(IO_WriteOnly)) {
728 QCString crt = rt.utf8(); 729 QCString crt = rt.utf8();
729 f.writeBlock(crt,crt.length()); 730 f.writeBlock(crt,crt.length());
730 } else { 731 } else {
731 QMessageBox::message(tr("Text Edit"),tr("Write Failed")); 732 QMessageBox::message(tr("Text Edit"),tr("Write Failed"));
732 return false; 733 return false;
733 } 734 }
734 735
735 } 736 }
736 editor->setEdited( FALSE); 737 editor->setEdited( FALSE);
737 edited1=FALSE; 738 edited1=FALSE;
738 edited=FALSE; 739 edited=FALSE;
739 if(caption().left(1)=="*") 740 if(caption().left(1)=="*")
740 setCaption(caption().right(caption().length()-1)); 741 setCaption(caption().right(caption().length()-1));
741 742
742 743
743 chmod( file.latin1(), mode); 744 chmod( file.latin1(), mode);
744 } 745 }
745 return true; 746 return true;
746 } 747 }
747 return false; 748 return false;
748} 749}
749 750
750/*! 751/*!
751 prompted save */ 752 prompted save */
752bool TextEdit::saveAs() { 753bool TextEdit::saveAs() {
753 qDebug("saveAsFile "+currentFileName); 754 qDebug("saveAsFile "+currentFileName);
754 // case of nothing to save... 755 // case of nothing to save...
755 if ( !doc ) { 756 if ( !doc ) {
756//|| !bFromDocView) 757//|| !bFromDocView)
757 qDebug("no doc"); 758 qDebug("no doc");
758 return true; 759 return true;
759 } 760 }
760 if ( !editor->edited() ) { 761 if ( !editor->edited() ) {
761 delete doc; 762 delete doc;
762 doc = 0; 763 doc = 0;
763 return true; 764 return true;
764 } 765 }
765 766
766 QString rt = editor->text(); 767 QString rt = editor->text();
767 qDebug(currentFileName); 768 qDebug(currentFileName);
768 769
769 if( currentFileName.isEmpty() || currentFileName == tr("Unnamed") || currentFileName == tr("Text Editor")) { 770 if( currentFileName.isEmpty() || currentFileName == tr("Unnamed") || currentFileName == tr("Text Editor")) {
770// qDebug("do silly TT filename thing"); 771// qDebug("do silly TT filename thing");
771 if ( doc->name().isEmpty() ) { 772 if ( doc->name().isEmpty() ) {
772 QString pt = rt.simplifyWhiteSpace(); 773 QString pt = rt.simplifyWhiteSpace();
773 int i = pt.find( ' ' ); 774 int i = pt.find( ' ' );
774 QString docname = pt; 775 QString docname = pt;
775 if ( i > 0 ) 776 if ( i > 0 )
776 docname = pt.left( i ); 777 docname = pt.left( i );
777 // remove "." at the beginning 778 // remove "." at the beginning
778 while( docname.startsWith( "." ) ) 779 while( docname.startsWith( "." ) )
779 docname = docname.mid( 1 ); 780 docname = docname.mid( 1 );
780 docname.replace( QRegExp("/"), "_" ); 781 docname.replace( QRegExp("/"), "_" );
781 // cut the length. filenames longer than that don't make sense and something goes wrong when they get too long. 782 // cut the length. filenames longer than that don't make sense and something goes wrong when they get too long.
782 if ( docname.length() > 40 ) 783 if ( docname.length() > 40 )
783 docname = docname.left(40); 784 docname = docname.left(40);
784 if ( docname.isEmpty() ) 785 if ( docname.isEmpty() )
785 docname = tr("Unnamed"); 786 docname = tr("Unnamed");
786 doc->setName(docname); 787 doc->setName(docname);
787 currentFileName=docname; 788 currentFileName=docname;
788 } 789 }
789 } 790 }
790 791
791 QMap<QString, QStringList> map; 792 QMap<QString, QStringList> map;
792 map.insert(tr("All"), QStringList() ); 793 map.insert(tr("All"), QStringList() );
793 QStringList text; 794 QStringList text;
794 text << "text/*"; 795 text << "text/*";
795 map.insert(tr("Text"), text ); 796 map.insert(tr("Text"), text );
796 text << "*"; 797 text << "*";
797 map.insert(tr("All"), text ); 798 map.insert(tr("All"), text );
798 799
799 QString str = OFileDialog::getSaveFileName( 2,"/", QString::null, map); 800 QString str = OFileDialog::getSaveFileName( 2,"/", QString::null, map);
800 801
801 if(!str.isEmpty() ) { 802 if(!str.isEmpty() ) {
802 QString fileNm=str; 803 QString fileNm=str;
803 804
804 qDebug("saving filename "+fileNm); 805 qDebug("saving filename "+fileNm);
805 QFileInfo fi(fileNm); 806 QFileInfo fi(fileNm);
806 currentFileName=fi.fileName(); 807 currentFileName=fi.fileName();
807 if(doc) { 808 if(doc) {
808// QString file = doc->file(); 809// QString file = doc->file();
809// doc->removeFiles(); 810// doc->removeFiles();
810 delete doc; 811 delete doc;
811 DocLnk nf; 812 DocLnk nf;
812 nf.setType("text/plain"); 813 nf.setType("text/plain");
813 nf.setFile( fileNm); 814 nf.setFile( fileNm);
814 doc = new DocLnk(nf); 815 doc = new DocLnk(nf);
815// editor->setText(rt); 816// editor->setText(rt);
816// qDebug("openFile doclnk "+currentFileName); 817// qDebug("openFile doclnk "+currentFileName);
817 doc->setName( currentFileName); 818 doc->setName( currentFileName);
818 updateCaption( currentFileName); 819 updateCaption( currentFileName);
819 820
820 FileManager fm; 821 FileManager fm;
821 if ( !fm.saveFile( *doc, rt ) ) { 822 if ( !fm.saveFile( *doc, rt ) ) {
822 return false; 823 return false;
823 } 824 }
824 825
825 if( useAdvancedFeatures ) { 826 if( useAdvancedFeatures ) {
826 filePermissions *filePerm; 827 filePermissions *filePerm;
827 filePerm = new filePermissions(this, tr("Permissions"),true,0,(const QString &)fileNm); 828 filePerm = new filePermissions(this, tr("Permissions"),true,0,(const QString &)fileNm);
828 filePerm->showMaximized(); 829 filePerm->showMaximized();
829 filePerm->exec(); 830 filePerm->exec();
830 831
831 if( filePerm) 832 if( filePerm)
832 delete filePerm; 833 delete filePerm;
833 } 834 }
834 } 835 }
835 editor->setEdited( false); 836 editor->setEdited( false);
836 edited1 = false; 837 edited1 = false;
837 edited = false; 838 edited = false;
838 if(caption().left(1)=="*") 839 if(caption().left(1)=="*")
839 setCaption(caption().right(caption().length()-1)); 840 setCaption(caption().right(caption().length()-1));
840 841
841 return true; 842 return true;
842 } 843 }
843 qDebug("returning false"); 844 qDebug("returning false");
844 return false; 845 return false;
845} //end saveAs 846} //end saveAs
846 847
847void TextEdit::clear() { 848void TextEdit::clear() {
848 delete doc; 849 delete doc;
849 doc = 0; 850 doc = 0;
850 editor->clear(); 851 editor->clear();
851} 852}
852 853
853void TextEdit::updateCaption( const QString &name ) { 854void TextEdit::updateCaption( const QString &name ) {
854 if ( !doc ) 855 if ( !doc )
855 setCaption( tr("Text Editor") ); 856 setCaption( tr("Text Editor") );
856 else { 857 else {
857 QString s = name; 858 QString s = name;
858 if ( s.isNull() ) 859 if ( s.isNull() )
859 s = doc->name(); 860 s = doc->name();
860 if ( s.isEmpty() ) { 861 if ( s.isEmpty() ) {
861 s = tr( "Unnamed" ); 862 s = tr( "Unnamed" );
862 currentFileName=s; 863 currentFileName=s;
863 } 864 }
864 if(s.left(1) == "/") 865 if(s.left(1) == "/")
865 s = s.right(s.length()-1); 866 s = s.right(s.length()-1);
866 setCaption( s + " - " + tr("Text Editor") ); 867 setCaption( s + " - " + tr("Text Editor") );
867 } 868 }
868} 869}
869 870
870void TextEdit::setDocument(const QString& fileref) { 871void TextEdit::setDocument(const QString& fileref) {
871 bFromDocView = TRUE; 872 bFromDocView = TRUE;
872 openFile(fileref); 873 openFile(fileref);
873 editor->setEdited(TRUE); 874 editor->setEdited(TRUE);
874 edited1=FALSE; 875 edited1=FALSE;
875 edited=TRUE; 876 edited=TRUE;
876 doSearchBar(); 877 doSearchBar();
877} 878}
878 879
879void TextEdit::closeEvent( QCloseEvent *e ) { 880void TextEdit::closeEvent( QCloseEvent *e ) {
880 bFromDocView = FALSE; 881 bFromDocView = FALSE;
881 e->accept(); 882 e->accept();
882} 883}
883 884
884void TextEdit::changeFont() { 885void TextEdit::changeFont() {
885 QDialog *d = new QDialog ( this, "FontDialog", true ); 886 QDialog *d = new QDialog ( this, "FontDialog", true );
886 d-> setCaption ( tr( "Choose font" )); 887 d-> setCaption ( tr( "Choose font" ));
887 QBoxLayout *lay = new QVBoxLayout ( d ); 888 QBoxLayout *lay = new QVBoxLayout ( d );
888 OFontSelector *ofs = new OFontSelector ( true, d ); 889 OFontSelector *ofs = new OFontSelector ( true, d );
889 lay-> addWidget ( ofs ); 890 lay-> addWidget ( ofs );
890 ofs-> setSelectedFont ( editor-> font ( )); 891 ofs-> setSelectedFont ( editor-> font ( ));
891 892
892 d-> showMaximized ( ); 893 d-> showMaximized ( );
893 if ( d-> exec ( ) == QDialog::Accepted ) 894 if ( d-> exec ( ) == QDialog::Accepted )
894 editor-> setFont ( ofs-> selectedFont ( )); 895 editor-> setFont ( ofs-> selectedFont ( ));
895 delete d; 896 delete d;
896 897
897} 898}
898 899
899void TextEdit::editDelete() { 900void TextEdit::editDelete() {
900 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) ) { 901 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) ) {
901 case 0: 902 case 0:
902 if(doc) { 903 if(doc) {
903 doc->removeFiles(); 904 doc->removeFiles();
904 clear(); 905 clear();
905 setCaption( tr("Text Editor") ); 906 setCaption( tr("Text Editor") );
906 } 907 }
907 break; 908 break;
908 case 1: 909 case 1:
909 // exit 910 // exit
910 break; 911 break;
911 }; 912 };
912} 913}
913 914
914void TextEdit::changeStartConfig( bool b ) { 915void TextEdit::changeStartConfig( bool b ) {
915 916
916 Config cfg("TextEdit"); 917 Config cfg("TextEdit");
917 cfg.setGroup("View"); 918 cfg.setGroup("View");
918 if(b) { 919 if(b) {
919 qDebug("bool"); 920 qDebug("bool");
920 cfg.writeEntry("startNew","TRUE"); 921 cfg.writeEntry("startNew","TRUE");
921 } else { 922 } else {
922 cfg.writeEntry("startNew","FALSE"); 923 cfg.writeEntry("startNew","FALSE");
923 } 924 }
924 update(); 925 update();
925} 926}
926 927
927void TextEdit::editorChanged() { 928void TextEdit::editorChanged() {
928 if(editor->edited() && edited && !edited1) { 929 if(editor->edited() && edited && !edited1) {
929 setCaption( "*"+caption()); 930 setCaption( "*"+caption());
930 edited1=TRUE; 931 edited1=TRUE;
931 } 932 }
932 edited=TRUE; 933 edited=TRUE;
933} 934}
934 935
935void TextEdit::receive(const QCString&msg, const QByteArray&) { 936void TextEdit::receive(const QCString&msg, const QByteArray&) {
936 qDebug("QCop "+msg); 937 qDebug("QCop "+msg);
937 if ( msg == "setDocument(QString)" ) { 938 if ( msg == "setDocument(QString)" ) {
938 qDebug("bugger all"); 939 qDebug("bugger all");
939 } 940 }
940 941
941} 942}
942void TextEdit::doAbout() { 943void TextEdit::doAbout() {
943 QMessageBox::about(0,tr("Text Edit"),tr("Text Edit is copyright<BR>" 944 QMessageBox::about(0,tr("Text Edit"),tr("Text Edit is copyright<BR>"
944 "2000 Trolltech AS, and<BR>" 945 "2000 Trolltech AS, and<BR>"
945 "2002 by <B>L. J. Potter <BR>llornkcor@handhelds.org</B><BR>" 946 "2002 by <B>L. J. Potter <BR>llornkcor@handhelds.org</B><BR>"
946 "and is licensed under the GPL")); 947 "and is licensed under the GPL"));
947} 948}
948 949
949void TextEdit::doAdvanced(bool b) { 950void TextEdit::doAdvanced(bool b) {
950 useAdvancedFeatures=b; 951 useAdvancedFeatures=b;
951} 952}
952 953
953void TextEdit::editPasteTimeDate() { 954void TextEdit::editPasteTimeDate() {
954#ifndef QT_NO_CLIPBOARD 955#ifndef QT_NO_CLIPBOARD
955 QClipboard *cb = QApplication::clipboard(); 956 QClipboard *cb = QApplication::clipboard();
956 QDateTime dt = QDateTime::currentDateTime(); 957 QDateTime dt = QDateTime::currentDateTime();
957 cb->setText( dt.toString()); 958 cb->setText( dt.toString());
958 editor->paste(); 959 editor->paste();
959#endif 960#endif
960} 961}