summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/apps/textedit/textedit.cpp3
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
693void TextEdit::openFile( const DocLnk &f ) 693void 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
718void TextEdit::showEditTools() 718void 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 */
733bool TextEdit::save() 733bool 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 */
785bool TextEdit::saveAs() 786bool 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);