-rw-r--r-- | core/apps/textedit/textedit.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/core/apps/textedit/textedit.cpp b/core/apps/textedit/textedit.cpp index f99f259..c1f74bb 100644 --- a/core/apps/textedit/textedit.cpp +++ b/core/apps/textedit/textedit.cpp | |||
@@ -666,193 +666,194 @@ void TextEdit::openFile( const QString &f ) | |||
666 | DocLnk sf(f); | 666 | DocLnk sf(f); |
667 | filer = sf.file(); | 667 | filer = sf.file(); |
668 | break; | 668 | break; |
669 | } | 669 | } |
670 | } else { | 670 | } else { |
671 | filer = f; | 671 | filer = f; |
672 | fileIs = TRUE; | 672 | fileIs = TRUE; |
673 | } | 673 | } |
674 | 674 | ||
675 | DocLnk nf; | 675 | DocLnk nf; |
676 | nf.setType("text/plain"); | 676 | nf.setType("text/plain"); |
677 | nf.setFile(filer); | 677 | nf.setFile(filer); |
678 | currentFileName=filer; | 678 | currentFileName=filer; |
679 | QFileInfo fi( currentFileName); | 679 | QFileInfo fi( currentFileName); |
680 | nf.setName(fi.baseName()); | 680 | nf.setName(fi.baseName()); |
681 | qDebug("openFile string "+currentFileName); | 681 | qDebug("openFile string "+currentFileName); |
682 | 682 | ||
683 | openFile(nf); | 683 | openFile(nf); |
684 | showEditTools(); | 684 | showEditTools(); |
685 | // Show filename in caption | 685 | // Show filename in caption |
686 | QString name = filer; | 686 | QString name = filer; |
687 | int sep = name.findRev( '/' ); | 687 | int sep = name.findRev( '/' ); |
688 | if ( sep > 0 ) | 688 | if ( sep > 0 ) |
689 | name = name.mid( sep+1 ); | 689 | name = name.mid( sep+1 ); |
690 | updateCaption( name ); | 690 | updateCaption( name ); |
691 | } | 691 | } |
692 | 692 | ||
693 | void TextEdit::openFile( const DocLnk &f ) | 693 | void TextEdit::openFile( const DocLnk &f ) |
694 | { | 694 | { |
695 | // clear(); | 695 | // clear(); |
696 | // bFromDocView = TRUE; | 696 | // bFromDocView = TRUE; |
697 | FileManager fm; | 697 | FileManager fm; |
698 | QString txt; | 698 | QString txt; |
699 | currentFileName=f.file(); | 699 | currentFileName=f.file(); |
700 | qDebug("openFile doclnk " + currentFileName); | 700 | qDebug("openFile doclnk " + currentFileName); |
701 | if ( !fm.loadFile( f, txt ) ) { | 701 | if ( !fm.loadFile( f, txt ) ) { |
702 | // ####### could be a new file | 702 | // ####### could be a new file |
703 | qDebug( "Cannot open file" ); | 703 | qDebug( "Cannot open file" ); |
704 | } | 704 | } |
705 | // fileNew(); | 705 | // fileNew(); |
706 | if ( doc ) | 706 | if ( doc ) |
707 | delete doc; | 707 | delete doc; |
708 | doc = new DocLnk(f); | 708 | doc = new DocLnk(f); |
709 | editor->setText(txt); | 709 | editor->setText(txt); |
710 | editor->setEdited( FALSE); | 710 | editor->setEdited( FALSE); |
711 | edited1=FALSE; | 711 | edited1=FALSE; |
712 | edited=FALSE; | 712 | edited=FALSE; |
713 | 713 | ||
714 | doc->setName(currentFileName); | 714 | doc->setName(currentFileName); |
715 | updateCaption(); | 715 | updateCaption(); |
716 | } | 716 | } |
717 | 717 | ||
718 | void TextEdit::showEditTools() | 718 | void TextEdit::showEditTools() |
719 | { | 719 | { |
720 | // if ( !doc ) | 720 | // if ( !doc ) |
721 | // close(); | 721 | // close(); |
722 | // clear(); | 722 | // clear(); |
723 | menu->show(); | 723 | menu->show(); |
724 | editBar->show(); | 724 | editBar->show(); |
725 | if ( searchVisible ) | 725 | if ( searchVisible ) |
726 | searchBar->show(); | 726 | searchBar->show(); |
727 | // updateCaption(); | 727 | // updateCaption(); |
728 | setWState (WState_Reserved1 ); | 728 | setWState (WState_Reserved1 ); |
729 | } | 729 | } |
730 | 730 | ||
731 | /*! | 731 | /*! |
732 | unprompted save */ | 732 | unprompted save */ |
733 | bool TextEdit::save() | 733 | bool TextEdit::save() |
734 | { | 734 | { |
735 | QString file = doc->file(); | 735 | QString file = doc->file(); |
736 | qDebug("saver file "+file); | 736 | qDebug("saver file "+file); |
737 | QString name= doc->name(); | 737 | QString name= doc->name(); |
738 | qDebug("File named "+name); | 738 | qDebug("File named "+name); |
739 | QString rt = editor->text(); | 739 | QString rt = editor->text(); |
740 | if( !rt.isEmpty() ) { | 740 | if( !rt.isEmpty() ) { |
741 | if(name.isEmpty()) { | 741 | if(name.isEmpty()) { |
742 | saveAs(); | 742 | saveAs(); |
743 | } else { | 743 | } else { |
744 | currentFileName= name ; | 744 | currentFileName= name ; |
745 | qDebug("saveFile "+currentFileName); | 745 | qDebug("saveFile "+currentFileName); |
746 | 746 | ||
747 | struct stat buf; | 747 | struct stat buf; |
748 | mode_t mode; | 748 | mode_t mode; |
749 | stat(file.latin1(), &buf); | 749 | stat(file.latin1(), &buf); |
750 | mode = buf.st_mode; | 750 | mode = buf.st_mode; |
751 | 751 | ||
752 | if(!fileIs) { | 752 | if(!fileIs) { |
753 | doc->setName( name); | 753 | doc->setName( name); |
754 | FileManager fm; | 754 | FileManager fm; |
755 | if ( !fm.saveFile( *doc, rt ) ) { | 755 | if ( !fm.saveFile( *doc, rt ) ) { |
756 | return false; | 756 | return false; |
757 | } | 757 | } |
758 | } else { | 758 | } else { |
759 | qDebug("regular save file"); | 759 | qDebug("regular save file"); |
760 | QFile f(file); | 760 | QFile f(file); |
761 | if( f.open(IO_WriteOnly)) { | 761 | if( f.open(IO_WriteOnly)) { |
762 | f.writeBlock(rt,rt.length()); | 762 | QCString crt = rt.utf8(); |
763 | f.writeBlock(crt,crt.length()); | ||
763 | } else { | 764 | } else { |
764 | QMessageBox::message("Text Edit","Write Failed"); | 765 | QMessageBox::message("Text Edit","Write Failed"); |
765 | return false; | 766 | return false; |
766 | } | 767 | } |
767 | 768 | ||
768 | } | 769 | } |
769 | editor->setEdited( FALSE); | 770 | editor->setEdited( FALSE); |
770 | edited1=FALSE; | 771 | edited1=FALSE; |
771 | edited=FALSE; | 772 | edited=FALSE; |
772 | if(caption().left(1)=="*") | 773 | if(caption().left(1)=="*") |
773 | setCaption(caption().right(caption().length()-1)); | 774 | setCaption(caption().right(caption().length()-1)); |
774 | 775 | ||
775 | 776 | ||
776 | chmod( file.latin1(), mode); | 777 | chmod( file.latin1(), mode); |
777 | } | 778 | } |
778 | return true; | 779 | return true; |
779 | } | 780 | } |
780 | return false; | 781 | return false; |
781 | } | 782 | } |
782 | 783 | ||
783 | /*! | 784 | /*! |
784 | prompted save */ | 785 | prompted save */ |
785 | bool TextEdit::saveAs() | 786 | bool TextEdit::saveAs() |
786 | { | 787 | { |
787 | // qDebug("saveAsFile "+currentFileName); | 788 | // qDebug("saveAsFile "+currentFileName); |
788 | // case of nothing to save... | 789 | // case of nothing to save... |
789 | if ( !doc )//|| !bFromDocView) | 790 | if ( !doc )//|| !bFromDocView) |
790 | { | 791 | { |
791 | qDebug("no doc"); | 792 | qDebug("no doc"); |
792 | return true; | 793 | return true; |
793 | } | 794 | } |
794 | if ( !editor->edited() ) { | 795 | if ( !editor->edited() ) { |
795 | delete doc; | 796 | delete doc; |
796 | doc = 0; | 797 | doc = 0; |
797 | return true; | 798 | return true; |
798 | } | 799 | } |
799 | 800 | ||
800 | QString rt = editor->text(); | 801 | QString rt = editor->text(); |
801 | qDebug(currentFileName); | 802 | qDebug(currentFileName); |
802 | 803 | ||
803 | if( currentFileName.isEmpty() || currentFileName == tr("Unnamed") || currentFileName == tr("Text Editor")) { | 804 | if( currentFileName.isEmpty() || currentFileName == tr("Unnamed") || currentFileName == tr("Text Editor")) { |
804 | qDebug("do silly TT filename thing"); | 805 | qDebug("do silly TT filename thing"); |
805 | if ( doc->name().isEmpty() ) { | 806 | if ( doc->name().isEmpty() ) { |
806 | QString pt = rt.simplifyWhiteSpace(); | 807 | QString pt = rt.simplifyWhiteSpace(); |
807 | int i = pt.find( ' ' ); | 808 | int i = pt.find( ' ' ); |
808 | QString docname = pt; | 809 | QString docname = pt; |
809 | if ( i > 0 ) | 810 | if ( i > 0 ) |
810 | docname = pt.left( i ); | 811 | docname = pt.left( i ); |
811 | // remove "." at the beginning | 812 | // remove "." at the beginning |
812 | while( docname.startsWith( "." ) ) | 813 | while( docname.startsWith( "." ) ) |
813 | docname = docname.mid( 1 ); | 814 | docname = docname.mid( 1 ); |
814 | docname.replace( QRegExp("/"), "_" ); | 815 | docname.replace( QRegExp("/"), "_" ); |
815 | // cut the length. filenames longer than that don't make sense and something goes wrong when they get too long. | 816 | // cut the length. filenames longer than that don't make sense and something goes wrong when they get too long. |
816 | if ( docname.length() > 40 ) | 817 | if ( docname.length() > 40 ) |
817 | docname = docname.left(40); | 818 | docname = docname.left(40); |
818 | if ( docname.isEmpty() ) | 819 | if ( docname.isEmpty() ) |
819 | docname = tr("Unnamed"); | 820 | docname = tr("Unnamed"); |
820 | doc->setName(docname); | 821 | doc->setName(docname); |
821 | currentFileName=docname; | 822 | currentFileName=docname; |
822 | } | 823 | } |
823 | } | 824 | } |
824 | 825 | ||
825 | 826 | ||
826 | // QString str = OFileDialog::getSaveFileName( 2,"/");//,"", "*", this ); | 827 | // QString str = OFileDialog::getSaveFileName( 2,"/");//,"", "*", this ); |
827 | // if(!str.isEmpty() ) { | 828 | // if(!str.isEmpty() ) { |
828 | // openFile( str ); | 829 | // openFile( str ); |
829 | 830 | ||
830 | fileSaveDlg=new fileSaver(this,tr("Save File As?"),TRUE, 0, currentFileName); | 831 | fileSaveDlg=new fileSaver(this,tr("Save File As?"),TRUE, 0, currentFileName); |
831 | qDebug("wanna save filename "+currentFileName); | 832 | qDebug("wanna save filename "+currentFileName); |
832 | fileSaveDlg->exec(); | 833 | fileSaveDlg->exec(); |
833 | if( fileSaveDlg->result() == 1 ) { | 834 | if( fileSaveDlg->result() == 1 ) { |
834 | QString fileNm=fileSaveDlg->selectedFileName; | 835 | QString fileNm=fileSaveDlg->selectedFileName; |
835 | // QString fileNm=srt; | 836 | // QString fileNm=srt; |
836 | qDebug("saving filename "+fileNm); | 837 | qDebug("saving filename "+fileNm); |
837 | QFileInfo fi(fileNm); | 838 | QFileInfo fi(fileNm); |
838 | currentFileName=fi.fileName(); | 839 | currentFileName=fi.fileName(); |
839 | if(doc) { | 840 | if(doc) { |
840 | // QString file = doc->file(); | 841 | // QString file = doc->file(); |
841 | // doc->removeFiles(); | 842 | // doc->removeFiles(); |
842 | delete doc; | 843 | delete doc; |
843 | DocLnk nf; | 844 | DocLnk nf; |
844 | nf.setType("text/plain"); | 845 | nf.setType("text/plain"); |
845 | nf.setFile( fileNm); | 846 | nf.setFile( fileNm); |
846 | doc = new DocLnk(nf); | 847 | doc = new DocLnk(nf); |
847 | // editor->setText(rt); | 848 | // editor->setText(rt); |
848 | // qDebug("openFile doclnk "+currentFileName); | 849 | // qDebug("openFile doclnk "+currentFileName); |
849 | doc->setName( currentFileName); | 850 | doc->setName( currentFileName); |
850 | updateCaption( currentFileName); | 851 | updateCaption( currentFileName); |
851 | 852 | ||
852 | FileManager fm; | 853 | FileManager fm; |
853 | if ( !fm.saveFile( *doc, rt ) ) { | 854 | if ( !fm.saveFile( *doc, rt ) ) { |
854 | return false; | 855 | return false; |
855 | } | 856 | } |
856 | if( fileSaveDlg->filePermCheck->isChecked() ) { | 857 | if( fileSaveDlg->filePermCheck->isChecked() ) { |
857 | filePermissions *filePerm; | 858 | filePermissions *filePerm; |
858 | filePerm = new filePermissions(this, tr("Permissions"),true,0,(const QString &)fileNm); | 859 | filePerm = new filePermissions(this, tr("Permissions"),true,0,(const QString &)fileNm); |