author | llornkcor <llornkcor> | 2004-09-18 09:14:31 (UTC) |
---|---|---|
committer | llornkcor <llornkcor> | 2004-09-18 09:14:31 (UTC) |
commit | f0e025a8e64f96390377c0aa66e8b5602494d7d0 (patch) (unidiff) | |
tree | 3c812aec7e4bec59cea71f2e16cd1f77230a79fd | |
parent | eaf09b9b6e1abbe36e814a8e4da315ac8d96bd63 (diff) | |
download | opie-f0e025a8e64f96390377c0aa66e8b5602494d7d0.zip opie-f0e025a8e64f96390377c0aa66e8b5602494d7d0.tar.gz opie-f0e025a8e64f96390377c0aa66e8b5602494d7d0.tar.bz2 |
fix #1399
-rw-r--r-- | core/apps/textedit/textedit.cpp | 36 |
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 */ |
777 | bool TextEdit::save() { | 777 | bool 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 | } |