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
@@ -19,12 +19,13 @@
19**********************************************************************/ 19**********************************************************************/
20// changes added by L. J. Potter Sun 02-17-2002 21:31:31 20// changes added by L. J. Potter Sun 02-17-2002 21:31:31
21 21
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
28#include <qpe/fontdatabase.h> 29#include <qpe/fontdatabase.h>
29#include <qpe/global.h> 30#include <qpe/global.h>
30#include <qpe/fileselector.h> 31#include <qpe/fileselector.h>
@@ -44,12 +45,15 @@
44#include <qmessagebox.h> 45#include <qmessagebox.h>
45#include <qobjectlist.h> 46#include <qobjectlist.h>
46#include <qpopupmenu.h> 47#include <qpopupmenu.h>
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 */
53static char * filesave_xpm[] = { 57static char * filesave_xpm[] = {
54"16 16 78 1", 58"16 16 78 1",
55" c None", 59" c None",
@@ -412,13 +416,13 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f )
412 416
413 fileNew(); 417 fileNew();
414} 418}
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");
422 QFont f = editor->font(); 426 QFont f = editor->font();
423 cfg.writeEntry("FontSize",f.pointSize()); 427 cfg.writeEntry("FontSize",f.pointSize());
424 cfg.writeEntry("Bold",f.bold()); 428 cfg.writeEntry("Bold",f.bold());
@@ -691,33 +695,38 @@ void TextEdit::showEditTools()
691/*! 695/*!
692 unprompted save */ 696 unprompted save */
693bool TextEdit::save() 697bool 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
713/*! 722/*!
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)
721// { 730// {
722// qDebug("no doc"); 731// qDebug("no doc");
723// return true; 732// return true;
@@ -750,12 +759,13 @@ bool TextEdit::saveAs()
750 docname = "Unnamed"; 759 docname = "Unnamed";
751 doc->setName(docname); 760 doc->setName(docname);
752 currentFileName=docname; 761 currentFileName=docname;
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();
759 if( fileSaveDlg->result() == 1 ) { 769 if( fileSaveDlg->result() == 1 ) {
760 QString fileNm=fileSaveDlg->selectedFileName; 770 QString fileNm=fileSaveDlg->selectedFileName;
761 qDebug("saving filename "+fileNm); 771 qDebug("saving filename "+fileNm);
@@ -769,24 +779,30 @@ bool TextEdit::saveAs()
769 DocLnk nf; 779 DocLnk nf;
770 nf.setType("text/plain"); 780 nf.setType("text/plain");
771 nf.setFile( fileNm); 781 nf.setFile( fileNm);
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
779 FileManager fm; 788 FileManager fm;
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;
790} 806}
791 807
792void TextEdit::clear() 808void TextEdit::clear()
@@ -832,12 +848,13 @@ void TextEdit::closeEvent( QCloseEvent *e )
832 e->accept(); 848 e->accept();
833 } 849 }
834} 850}
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}
841 858
842void TextEdit::changeFont() { 859void TextEdit::changeFont() {
843 FontDatabase fdb; 860 FontDatabase fdb;