-rw-r--r-- | core/apps/textedit/textedit.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/core/apps/textedit/textedit.cpp b/core/apps/textedit/textedit.cpp index e41c69d..2f59ede 100644 --- a/core/apps/textedit/textedit.cpp +++ b/core/apps/textedit/textedit.cpp | |||
@@ -597,196 +597,199 @@ void TextEdit::editFind() | |||
597 | } | 597 | } |
598 | 598 | ||
599 | void TextEdit::findNext() | 599 | void TextEdit::findNext() |
600 | { | 600 | { |
601 | editor->find( searchEdit->text(), FALSE, FALSE ); | 601 | editor->find( searchEdit->text(), FALSE, FALSE ); |
602 | 602 | ||
603 | } | 603 | } |
604 | 604 | ||
605 | void TextEdit::findClose() | 605 | void TextEdit::findClose() |
606 | { | 606 | { |
607 | searchVisible = FALSE; | 607 | searchVisible = FALSE; |
608 | searchBar->hide(); | 608 | searchBar->hide(); |
609 | } | 609 | } |
610 | 610 | ||
611 | void TextEdit::search() | 611 | void TextEdit::search() |
612 | { | 612 | { |
613 | editor->find( searchEdit->text(), FALSE, FALSE ); | 613 | editor->find( searchEdit->text(), FALSE, FALSE ); |
614 | } | 614 | } |
615 | 615 | ||
616 | void TextEdit::newFile( const DocLnk &f ) | 616 | void TextEdit::newFile( const DocLnk &f ) |
617 | { | 617 | { |
618 | DocLnk nf = f; | 618 | DocLnk nf = f; |
619 | nf.setType("text/plain"); | 619 | nf.setType("text/plain"); |
620 | clear(); | 620 | clear(); |
621 | editorStack->raiseWidget( editor ); | 621 | editorStack->raiseWidget( editor ); |
622 | setWState (WState_Reserved1 ); | 622 | setWState (WState_Reserved1 ); |
623 | editor->setFocus(); | 623 | editor->setFocus(); |
624 | doc = new DocLnk(nf); | 624 | doc = new DocLnk(nf); |
625 | qDebug("newFile "+currentFileName); | 625 | qDebug("newFile "+currentFileName); |
626 | updateCaption(currentFileName); | 626 | updateCaption(currentFileName); |
627 | } | 627 | } |
628 | 628 | ||
629 | void TextEdit::openFile( const QString &f ) | 629 | void TextEdit::openFile( const QString &f ) |
630 | { | 630 | { |
631 | bFromDocView = TRUE; | 631 | bFromDocView = TRUE; |
632 | DocLnk nf; | 632 | DocLnk nf; |
633 | nf.setType("text/plain"); | 633 | nf.setType("text/plain"); |
634 | nf.setFile(f); | 634 | nf.setFile(f); |
635 | currentFileName=f; | 635 | currentFileName=f; |
636 | qDebug("openFile string"+currentFileName); | 636 | qDebug("openFile string"+currentFileName); |
637 | 637 | ||
638 | openFile(nf); | 638 | openFile(nf); |
639 | showEditTools(); | 639 | showEditTools(); |
640 | // Show filename in caption | 640 | // Show filename in caption |
641 | QString name = f; | 641 | QString name = f; |
642 | int sep = name.findRev( '/' ); | 642 | int sep = name.findRev( '/' ); |
643 | if ( sep > 0 ) | 643 | if ( sep > 0 ) |
644 | name = name.mid( sep+1 ); | 644 | name = name.mid( sep+1 ); |
645 | updateCaption( name ); | 645 | updateCaption( name ); |
646 | } | 646 | } |
647 | 647 | ||
648 | void TextEdit::openFile( const DocLnk &f ) | 648 | void TextEdit::openFile( const DocLnk &f ) |
649 | { | 649 | { |
650 | // clear(); | 650 | // clear(); |
651 | bFromDocView = TRUE; | 651 | bFromDocView = TRUE; |
652 | FileManager fm; | 652 | FileManager fm; |
653 | QString txt; | 653 | QString txt; |
654 | currentFileName=f.name(); | 654 | currentFileName=f.name(); |
655 | qDebug("openFile doclnk " + currentFileName); | 655 | qDebug("openFile doclnk " + currentFileName); |
656 | if ( !fm.loadFile( f, txt ) ) { | 656 | if ( !fm.loadFile( f, txt ) ) { |
657 | // ####### could be a new file | 657 | // ####### could be a new file |
658 | qDebug( "Cannot open file" ); | 658 | qDebug( "Cannot open file" ); |
659 | 659 | ||
660 | //return; | 660 | //return; |
661 | } | 661 | } |
662 | 662 | ||
663 | fileNew(); | 663 | fileNew(); |
664 | if ( doc ) | 664 | if ( doc ) |
665 | delete doc; | 665 | delete doc; |
666 | doc = new DocLnk(f); | 666 | doc = new DocLnk(f); |
667 | editor->setText(txt); | 667 | editor->setText(txt); |
668 | editor->setEdited( false); | 668 | editor->setEdited( false); |
669 | qDebug("openFile doclnk "+currentFileName); | 669 | qDebug("openFile doclnk "+currentFileName); |
670 | doc->setName(currentFileName); | 670 | doc->setName(currentFileName); |
671 | updateCaption(); | 671 | updateCaption(); |
672 | } | 672 | } |
673 | 673 | ||
674 | void TextEdit::showEditTools() | 674 | void TextEdit::showEditTools() |
675 | { | 675 | { |
676 | // if ( !doc ) | 676 | // if ( !doc ) |
677 | // close(); | 677 | // close(); |
678 | // clear(); | 678 | // clear(); |
679 | fileSelector->hide(); | 679 | fileSelector->hide(); |
680 | menu->show(); | 680 | menu->show(); |
681 | editBar->show(); | 681 | editBar->show(); |
682 | if ( searchVisible ) | 682 | if ( searchVisible ) |
683 | searchBar->show(); | 683 | searchBar->show(); |
684 | // updateCaption(); | 684 | // updateCaption(); |
685 | editorStack->raiseWidget( editor ); | 685 | editorStack->raiseWidget( editor ); |
686 | setWState (WState_Reserved1 ); | 686 | setWState (WState_Reserved1 ); |
687 | } | 687 | } |
688 | 688 | ||
689 | /*! | 689 | /*! |
690 | unprompted save */ | 690 | unprompted save */ |
691 | bool TextEdit::save() | 691 | bool TextEdit::save() |
692 | { | 692 | { |
693 | qDebug("saveFile "+currentFileName); | 693 | QString file = doc->file(); |
694 | 694 | QString name= doc->name(); | |
695 | QString rt = editor->text(); | 695 | QString rt = editor->text(); |
696 | doc->setName( currentFileName); | 696 | currentFileName= file ; |
697 | qDebug("saveFile "+currentFileName); | ||
698 | |||
699 | doc->setName( name); | ||
697 | FileManager fm; | 700 | FileManager fm; |
698 | if ( !fm.saveFile( *doc, rt ) ) { | 701 | if ( !fm.saveFile( *doc, rt ) ) { |
699 | return false; | 702 | return false; |
700 | } | 703 | } |
701 | // if(doc) | 704 | // if(doc) |
702 | // delete doc; | 705 | // delete doc; |
703 | // doc = 0; | 706 | // doc = 0; |
704 | editor->setEdited( false ); | 707 | editor->setEdited( false ); |
705 | return true; | 708 | return true; |
706 | } | 709 | } |
707 | 710 | ||
708 | /*! | 711 | /*! |
709 | prompted save */ | 712 | prompted save */ |
710 | bool TextEdit::saveAs() | 713 | bool TextEdit::saveAs() |
711 | { | 714 | { |
712 | qDebug("saveAsFile "+currentFileName); | 715 | qDebug("saveAsFile "+currentFileName); |
713 | 716 | ||
714 | // case of nothing to save... /// there's always something to save | 717 | // case of nothing to save... /// there's always something to save |
715 | // if ( !doc )//|| !bFromDocView) | 718 | // if ( !doc )//|| !bFromDocView) |
716 | // { | 719 | // { |
717 | // qDebug("no doc"); | 720 | // qDebug("no doc"); |
718 | // return true; | 721 | // return true; |
719 | // } | 722 | // } |
720 | if ( !editor->edited() ) { | 723 | if ( !editor->edited() ) { |
721 | delete doc; | 724 | delete doc; |
722 | doc = 0; | 725 | doc = 0; |
723 | return true; | 726 | return true; |
724 | } | 727 | } |
725 | 728 | ||
726 | QString rt = editor->text(); | 729 | QString rt = editor->text(); |
727 | qDebug(currentFileName); | 730 | qDebug(currentFileName); |
728 | 731 | ||
729 | if( currentFileName.isEmpty() || currentFileName == "Unnamed") { | 732 | if( currentFileName.isEmpty() || currentFileName == "Unnamed") { |
730 | qDebug("do silly TT filename thing"); | 733 | qDebug("do silly TT filename thing"); |
731 | if ( doc->name().isEmpty() ) { | 734 | if ( doc->name().isEmpty() ) { |
732 | QString pt = rt.simplifyWhiteSpace(); | 735 | QString pt = rt.simplifyWhiteSpace(); |
733 | int i = pt.find( ' ' ); | 736 | int i = pt.find( ' ' ); |
734 | QString docname = pt; | 737 | QString docname = pt; |
735 | if ( i > 0 ) | 738 | if ( i > 0 ) |
736 | docname = pt.left( i ); | 739 | docname = pt.left( i ); |
737 | // remove "." at the beginning | 740 | // remove "." at the beginning |
738 | while( docname.startsWith( "." ) ) | 741 | while( docname.startsWith( "." ) ) |
739 | docname = docname.mid( 1 ); | 742 | docname = docname.mid( 1 ); |
740 | docname.replace( QRegExp("/"), "_" ); | 743 | docname.replace( QRegExp("/"), "_" ); |
741 | // cut the length. filenames longer than that don't make sense and something goes wrong when they get too long. | 744 | // cut the length. filenames longer than that don't make sense and something goes wrong when they get too long. |
742 | if ( docname.length() > 40 ) | 745 | if ( docname.length() > 40 ) |
743 | docname = docname.left(40); | 746 | docname = docname.left(40); |
744 | if ( docname.isEmpty() ) | 747 | if ( docname.isEmpty() ) |
745 | docname = "Unnamed"; | 748 | docname = "Unnamed"; |
746 | doc->setName(docname); | 749 | doc->setName(docname); |
747 | currentFileName=docname; | 750 | currentFileName=docname; |
748 | } | 751 | } |
749 | } | 752 | } |
750 | 753 | ||
751 | fileSaveDlg=new fileSaver(this,"SaveFile",TRUE,0, currentFileName); | 754 | fileSaveDlg=new fileSaver(this,"SaveFile",TRUE,0, currentFileName); |
752 | qDebug("wanna save filename "+currentFileName); | 755 | qDebug("wanna save filename "+currentFileName); |
753 | fileSaveDlg->exec(); | 756 | fileSaveDlg->exec(); |
754 | if( fileSaveDlg->result() == 1 ) { | 757 | if( fileSaveDlg->result() == 1 ) { |
755 | QString fileNm=fileSaveDlg->selectedFileName; | 758 | QString fileNm=fileSaveDlg->selectedFileName; |
756 | qDebug("saving filename "+fileNm); | 759 | qDebug("saving filename "+fileNm); |
757 | QFileInfo fi(fileNm); | 760 | QFileInfo fi(fileNm); |
758 | currentFileName=fi.fileName(); | 761 | currentFileName=fi.fileName(); |
759 | if(doc) { | 762 | if(doc) { |
760 | qDebug("doclnk exists"); | 763 | qDebug("doclnk exists"); |
761 | // QString file = doc->file(); | 764 | // QString file = doc->file(); |
762 | // doc->removeFiles(); | 765 | // doc->removeFiles(); |
763 | delete doc; | 766 | delete doc; |
764 | DocLnk nf; | 767 | DocLnk nf; |
765 | nf.setType("text/plain"); | 768 | nf.setType("text/plain"); |
766 | nf.setFile( fileNm); | 769 | nf.setFile( fileNm); |
767 | doc = new DocLnk(nf); | 770 | doc = new DocLnk(nf); |
768 | // editor->setText(rt); | 771 | // editor->setText(rt); |
769 | qDebug("openFile doclnk "+currentFileName); | 772 | qDebug("openFile doclnk "+currentFileName); |
770 | } | 773 | } |
771 | doc->setName( currentFileName); | 774 | doc->setName( currentFileName); |
772 | updateCaption( currentFileName); | 775 | updateCaption( currentFileName); |
773 | 776 | ||
774 | FileManager fm; | 777 | FileManager fm; |
775 | if ( !fm.saveFile( *doc, rt ) ) { | 778 | if ( !fm.saveFile( *doc, rt ) ) { |
776 | return false; | 779 | return false; |
777 | } | 780 | } |
778 | // delete doc; | 781 | // delete doc; |
779 | // doc = 0; | 782 | // doc = 0; |
780 | editor->setEdited( false ); | 783 | editor->setEdited( false ); |
781 | } | 784 | } |
782 | if(fileSaveDlg) | 785 | if(fileSaveDlg) |
783 | delete fileSaveDlg; | 786 | delete fileSaveDlg; |
784 | return true; | 787 | return true; |
785 | } | 788 | } |
786 | 789 | ||
787 | void TextEdit::clear() | 790 | void TextEdit::clear() |
788 | { | 791 | { |
789 | delete doc; | 792 | delete doc; |
790 | doc = 0; | 793 | doc = 0; |
791 | editor->clear(); | 794 | editor->clear(); |
792 | } | 795 | } |