Diffstat (limited to 'core/apps/textedit/textedit.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | core/apps/textedit/textedit.cpp | 75 |
1 files changed, 46 insertions, 29 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 @@ -21,8 +21,9 @@ #include "textedit.h" #include "fileBrowser.h" #include "fileSaver.h" +#include "filePermissions.h" #include "fontDialog.h" #include <qpe/fontdatabase.h> @@ -46,8 +47,11 @@ #include <qpopupmenu.h> #include <qspinbox.h> #include <qtoolbutton.h> #include <qwidgetstack.h> +#include <qcheckbox.h> +#include <unistd.h> +#include <sys/stat.h> #include <stdlib.h> //getenv /* XPM */ static char * filesave_xpm[] = { @@ -414,9 +418,9 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) } TextEdit::~TextEdit() { -// saveAs(); +// save(); Config cfg("TextEdit"); cfg.setGroup("View"); QFont f = editor->font(); @@ -693,29 +697,34 @@ void TextEdit::showEditTools() bool TextEdit::save() { QString file = doc->file(); QString name= doc->name(); + QString rt = editor->text(); currentFileName= name ; qDebug("saveFile "+currentFileName); + struct stat buf; + mode_t mode; + lstat(file.latin1(), &buf); + mode = buf.st_mode; + doc->setName( name); FileManager fm; if ( !fm.saveFile( *doc, rt ) ) { return false; } -// if(doc) -// delete doc; -// doc = 0; editor->setEdited( false ); + + chmod( file.latin1(), mode); return true; } /*! prompted save */ bool TextEdit::saveAs() { - qDebug("saveAsFile "+currentFileName); +// qDebug("saveAsFile "+currentFileName); // case of nothing to save... /// there's always something to save // if ( !doc )//|| !bFromDocView) // { @@ -752,41 +761,48 @@ bool TextEdit::saveAs() currentFileName=docname; } } + fileSaveDlg=new fileSaver(this,"SaveFile",TRUE,0, currentFileName); qDebug("wanna save filename "+currentFileName); fileSaveDlg->exec(); if( fileSaveDlg->result() == 1 ) { - QString fileNm=fileSaveDlg->selectedFileName; - qDebug("saving filename "+fileNm); - QFileInfo fi(fileNm); - currentFileName=fi.fileName(); - if(doc) { - qDebug("doclnk exists"); + QString fileNm=fileSaveDlg->selectedFileName; + qDebug("saving filename "+fileNm); + QFileInfo fi(fileNm); + currentFileName=fi.fileName(); + if(doc) { + qDebug("doclnk exists"); // QString file = doc->file(); // doc->removeFiles(); - delete doc; - DocLnk nf; - nf.setType("text/plain"); - nf.setFile( fileNm); - doc = new DocLnk(nf); + delete doc; + DocLnk nf; + nf.setType("text/plain"); + nf.setFile( fileNm); + doc = new DocLnk(nf); // editor->setText(rt); - qDebug("openFile doclnk "+currentFileName); - } - doc->setName( currentFileName); - updateCaption( currentFileName); - - FileManager fm; - if ( !fm.saveFile( *doc, rt ) ) { - return false; - } -// delete doc; -// doc = 0; - editor->setEdited( false ); + qDebug("openFile doclnk "+currentFileName); + doc->setName( currentFileName); + updateCaption( currentFileName); + + FileManager fm; + if ( !fm.saveFile( *doc, rt ) ) { + return false; + } + if( fileSaveDlg->filePermCheck->isChecked() ) { + filePermissions *filePerm; + filePerm = new filePermissions(this, "Permissions",true,0,(const QString &)fileNm); + filePerm->exec(); + editor->setEdited( false ); + if( filePerm) + delete filePerm; + } + } } + if(fileSaveDlg) - delete fileSaveDlg; + delete fileSaveDlg; return true; } void TextEdit::clear() @@ -834,8 +850,9 @@ void TextEdit::closeEvent( QCloseEvent *e ) } void TextEdit::accept() { + save(); close(); // fileOpen(); //godamn thats obnoxious! lemme out!!! } |