summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2004-09-18 09:14:31 (UTC)
committer llornkcor <llornkcor>2004-09-18 09:14:31 (UTC)
commitf0e025a8e64f96390377c0aa66e8b5602494d7d0 (patch) (unidiff)
tree3c812aec7e4bec59cea71f2e16cd1f77230a79fd
parenteaf09b9b6e1abbe36e814a8e4da315ac8d96bd63 (diff)
downloadopie-f0e025a8e64f96390377c0aa66e8b5602494d7d0.zip
opie-f0e025a8e64f96390377c0aa66e8b5602494d7d0.tar.gz
opie-f0e025a8e64f96390377c0aa66e8b5602494d7d0.tar.bz2
fix #1399
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/apps/textedit/textedit.cpp36
1 files changed, 21 insertions, 15 deletions
diff --git a/core/apps/textedit/textedit.cpp b/core/apps/textedit/textedit.cpp
index 086fdb6..1d0df6a 100644
--- a/core/apps/textedit/textedit.cpp
+++ b/core/apps/textedit/textedit.cpp
@@ -772,59 +772,65 @@ void TextEdit::showEditTools() {
772 setWState (WState_Reserved1 ); 772 setWState (WState_Reserved1 );
773} 773}
774 774
775/*! 775/*!
776 unprompted save */ 776 unprompted save */
777bool TextEdit::save() { 777bool TextEdit::save() {
778 QString name, file;
778 odebug << "saveAsFile " + currentFileName << oendl; 779 odebug << "saveAsFile " + currentFileName << oendl;
779 if(currentFileName.isEmpty()) { 780 if(currentFileName.isEmpty()) {
780 saveAs(); 781 saveAs();
781 return false; 782 return false;
782 } 783 }
783 784 name = currentFileName;
784 QString file = doc->file(); 785 if(doc) {
785 odebug << "saver file "+file << oendl; 786 file = doc->file();
786 QString name= doc->name(); 787 odebug << "saver file "+file << oendl;
787 odebug << "File named "+name << oendl; 788 name = doc->name();
789 odebug << "File named "+name << oendl;
790 } else {
791 name = file = currentFileName;
792 }
793
788 QString rt = editor->text(); 794 QString rt = editor->text();
789 if( !rt.isEmpty() ) { 795 if( !rt.isEmpty() ) {
790 if(name.isEmpty()) { 796 if(name.isEmpty()) {
791 saveAs(); 797 saveAs();
792 } else { 798 } else {
793 currentFileName= name ; 799 currentFileName = name;
794 odebug << "saveFile "+currentFileName << oendl; 800 odebug << "saveFile "+currentFileName << oendl;
795 801
796 struct stat buf; 802 struct stat buf;
797 mode_t mode; 803 mode_t mode;
798 stat(file.latin1(), &buf); 804 stat(file.latin1(), &buf);
799 mode = buf.st_mode; 805 mode = buf.st_mode;
800 806
801 if(!fileIs) { 807 if(!fileIs) {
802 doc->setName( name); 808 doc->setName( name);
803 FileManager fm; 809 FileManager fm;
804 if ( !fm.saveFile( *doc, rt ) ) { 810 if ( !fm.saveFile( *doc, rt ) ) {
805 QMessageBox::message(tr("Text Edit"),tr("Save Failed")); 811 QMessageBox::message(tr("Text Edit"),tr("Save Failed"));
806 return false; 812 return false;
807 } 813 }
808 } else { 814 } else {
809 odebug << "regular save file" << oendl; 815 odebug << "regular save file" << oendl;
810 QFile f(file); 816 QFile f(file);
811 if( f.open(IO_WriteOnly)) { 817 if( f.open(IO_WriteOnly)) {
812 QCString crt = rt.utf8(); 818 QCString crt = rt.utf8();
813 f.writeBlock(crt,crt.length()); 819 f.writeBlock(crt,crt.length());
814 } else { 820 } else {
815 QMessageBox::message(tr("Text Edit"),tr("Write Failed")); 821 QMessageBox::message(tr("Text Edit"),tr("Write Failed"));
816 return false; 822 return false;
817 } 823 }
818 824
819 } 825 }
820 editor->setEdited( false); 826 editor->setEdited( false);
821 edited1=false; 827 edited1=false;
822 edited=false; 828 edited=false;
823 if(caption().left(1)=="*") 829 if(caption().left(1)=="*")
824 setCaption(caption().right(caption().length()-1)); 830 setCaption(caption().right(caption().length()-1));
825 831
826 832
827 chmod( file.latin1(), mode); 833 chmod( file.latin1(), mode);
828 } 834 }
829 return true; 835 return true;
830 } 836 }