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