summaryrefslogtreecommitdiff
path: root/core/apps/textedit/textedit.cpp
Unidiff
Diffstat (limited to 'core/apps/textedit/textedit.cpp') (more/less context) (show whitespace changes)
-rw-r--r--core/apps/textedit/textedit.cpp33
1 files changed, 25 insertions, 8 deletions
diff --git a/core/apps/textedit/textedit.cpp b/core/apps/textedit/textedit.cpp
index c869dc9..515fcdc 100644
--- a/core/apps/textedit/textedit.cpp
+++ b/core/apps/textedit/textedit.cpp
@@ -22,6 +22,7 @@
22#include "textedit.h" 22#include "textedit.h"
23#include "fileBrowser.h" 23#include "fileBrowser.h"
24#include "fileSaver.h" 24#include "fileSaver.h"
25#include "filePermissions.h"
25 26
26#include "fontDialog.h" 27#include "fontDialog.h"
27 28
@@ -47,6 +48,9 @@
47#include <qspinbox.h> 48#include <qspinbox.h>
48#include <qtoolbutton.h> 49#include <qtoolbutton.h>
49#include <qwidgetstack.h> 50#include <qwidgetstack.h>
51#include <qcheckbox.h>
52#include <unistd.h>
53#include <sys/stat.h>
50 54
51#include <stdlib.h> //getenv 55#include <stdlib.h> //getenv
52/* XPM */ 56/* XPM */
@@ -415,7 +419,7 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f )
415 419
416TextEdit::~TextEdit() 420TextEdit::~TextEdit()
417{ 421{
418// saveAs(); 422// save();
419 423
420 Config cfg("TextEdit"); 424 Config cfg("TextEdit");
421 cfg.setGroup("View"); 425 cfg.setGroup("View");
@@ -694,19 +698,24 @@ bool TextEdit::save()
694{ 698{
695 QString file = doc->file(); 699 QString file = doc->file();
696 QString name= doc->name(); 700 QString name= doc->name();
701
697 QString rt = editor->text(); 702 QString rt = editor->text();
698 currentFileName= name ; 703 currentFileName= name ;
699 qDebug("saveFile "+currentFileName); 704 qDebug("saveFile "+currentFileName);
700 705
706 struct stat buf;
707 mode_t mode;
708 lstat(file.latin1(), &buf);
709 mode = buf.st_mode;
710
701 doc->setName( name); 711 doc->setName( name);
702 FileManager fm; 712 FileManager fm;
703 if ( !fm.saveFile( *doc, rt ) ) { 713 if ( !fm.saveFile( *doc, rt ) ) {
704 return false; 714 return false;
705 } 715 }
706// if(doc)
707// delete doc;
708// doc = 0;
709 editor->setEdited( false ); 716 editor->setEdited( false );
717
718 chmod( file.latin1(), mode);
710 return true; 719 return true;
711} 720}
712 721
@@ -714,7 +723,7 @@ bool TextEdit::save()
714 prompted save */ 723 prompted save */
715bool TextEdit::saveAs() 724bool TextEdit::saveAs()
716{ 725{
717 qDebug("saveAsFile "+currentFileName); 726// qDebug("saveAsFile "+currentFileName);
718 727
719 // case of nothing to save... /// there's always something to save 728 // case of nothing to save... /// there's always something to save
720// if ( !doc )//|| !bFromDocView) 729// if ( !doc )//|| !bFromDocView)
@@ -753,6 +762,7 @@ bool TextEdit::saveAs()
753 } 762 }
754 } 763 }
755 764
765
756 fileSaveDlg=new fileSaver(this,"SaveFile",TRUE,0, currentFileName); 766 fileSaveDlg=new fileSaver(this,"SaveFile",TRUE,0, currentFileName);
757 qDebug("wanna save filename "+currentFileName); 767 qDebug("wanna save filename "+currentFileName);
758 fileSaveDlg->exec(); 768 fileSaveDlg->exec();
@@ -772,7 +782,6 @@ bool TextEdit::saveAs()
772 doc = new DocLnk(nf); 782 doc = new DocLnk(nf);
773// editor->setText(rt); 783// editor->setText(rt);
774 qDebug("openFile doclnk "+currentFileName); 784 qDebug("openFile doclnk "+currentFileName);
775 }
776 doc->setName( currentFileName); 785 doc->setName( currentFileName);
777 updateCaption( currentFileName); 786 updateCaption( currentFileName);
778 787
@@ -780,10 +789,17 @@ bool TextEdit::saveAs()
780 if ( !fm.saveFile( *doc, rt ) ) { 789 if ( !fm.saveFile( *doc, rt ) ) {
781 return false; 790 return false;
782 } 791 }
783// delete doc; 792 if( fileSaveDlg->filePermCheck->isChecked() ) {
784// doc = 0; 793 filePermissions *filePerm;
794 filePerm = new filePermissions(this, "Permissions",true,0,(const QString &)fileNm);
795 filePerm->exec();
785 editor->setEdited( false ); 796 editor->setEdited( false );
797 if( filePerm)
798 delete filePerm;
786 } 799 }
800 }
801 }
802
787 if(fileSaveDlg) 803 if(fileSaveDlg)
788 delete fileSaveDlg; 804 delete fileSaveDlg;
789 return true; 805 return true;
@@ -835,6 +851,7 @@ void TextEdit::closeEvent( QCloseEvent *e )
835 851
836void TextEdit::accept() 852void TextEdit::accept()
837{ 853{
854 save();
838 close(); 855 close();
839// fileOpen(); //godamn thats obnoxious! lemme out!!! 856// fileOpen(); //godamn thats obnoxious! lemme out!!!
840} 857}