-rw-r--r-- | core/apps/textedit/fileBrowser.cpp | 11 | ||||
-rw-r--r-- | core/apps/textedit/fileSaver.cpp | 24 | ||||
-rw-r--r-- | core/apps/textedit/fileSaver.h | 5 | ||||
-rw-r--r-- | core/apps/textedit/textedit.cpp | 102 | ||||
-rw-r--r-- | core/apps/textedit/textedit.h | 7 |
5 files changed, 112 insertions, 37 deletions
diff --git a/core/apps/textedit/fileBrowser.cpp b/core/apps/textedit/fileBrowser.cpp index 82ccf2c..bb420e6 100644 --- a/core/apps/textedit/fileBrowser.cpp +++ b/core/apps/textedit/fileBrowser.cpp @@ -110,7 +110,7 @@ void fileBrowser::listClicked(QListViewItem *selectedItem) { QString strItem=selectedItem->text(0); QString strSize=selectedItem->text(1); -// qDebug("strItem is "+strItem); +// qDebug("strItem is "+strItem); strSize.stripWhiteSpace(); // qDebug(strSize); @@ -137,10 +137,13 @@ void fileBrowser::listClicked(QListViewItem *selectedItem) currentDir.cd(strItem, TRUE); populateList(); } - } else + } else { + strItem=QDir::cleanDirPath(currentDir.canonicalPath()+"/"+strItem); if( QFile::exists(strItem ) ) { -// qDebug("We found our files!!"); +//currentDir.canonicalPath() + qDebug("We found our files!!"+strItem); OnOK(); + } } //end not symlink chdir(strItem.latin1()); } @@ -152,7 +155,7 @@ void fileBrowser::OnOK() for ( ; it1.current(); ++it1 ) { if ( it1.current()->isSelected() ) { selectedFileName=QDir::cleanDirPath(currentDir.canonicalPath()+"/"+it1.current()->text(0)); -// qDebug("selected filename is "+selectedFileName); + qDebug("selected filename is "+selectedFileName); fileList.append( selectedFileName ); } } diff --git a/core/apps/textedit/fileSaver.cpp b/core/apps/textedit/fileSaver.cpp index 88608cc..af51fc3 100644 --- a/core/apps/textedit/fileSaver.cpp +++ b/core/apps/textedit/fileSaver.cpp @@ -50,7 +50,7 @@ fileSaver::fileSaver( QWidget* parent, const char* name, bool modal, WFlags fl ListView->setGeometry( QRect( 10, 35, 220, 160 ) ); fileEdit= new QLineEdit(this); - fileEdit->setGeometry( QRect( 10, 230, 200, 25)); + fileEdit->setGeometry( QRect( 10, 200, 200, 22)); fileEdit->setText( tmpFileName); @@ -147,7 +147,7 @@ void fileSaver::listClicked(QListViewItem *selectedItem) currentDir.cd(strItem, TRUE); populateList(); } - } // else + } // else // if( QFile::exists(strItem ) ) { // qDebug("We found our files!!"); @@ -159,14 +159,24 @@ void fileSaver::listClicked(QListViewItem *selectedItem) } -void fileSaver::OnOK() +void fileSaver::closeEvent( QCloseEvent *e ) { -// reject(); + if(e->isAccepted()) { + e->accept(); + } else { + qDebug("not accepted"); + done(-1); + } } void fileSaver::accept() { selectedFileName = fileEdit->text(); - selectedFileName = currentDir.canonicalPath()+ selectedFileName; - qDebug("goint to save "+selectedFileName); - reject(); + QString path = currentDir.canonicalPath()+"/" + selectedFileName; + if( path.find("//",0,TRUE) ==-1 ) { + selectedFileName = path; + } else { + selectedFileName = currentDir.canonicalPath()+selectedFileName; + } + qDebug("going to save "+selectedFileName); + done(1); } diff --git a/core/apps/textedit/fileSaver.h b/core/apps/textedit/fileSaver.h index f496270..4a38a65 100644 --- a/core/apps/textedit/fileSaver.h +++ b/core/apps/textedit/fileSaver.h @@ -57,11 +57,12 @@ public slots: private: private slots: - void accept(); + void accept(); void upDir(); void listDoubleClicked(QListViewItem *); void listClicked(QListViewItem *); - void OnOK(); + void closeEvent( QCloseEvent * ); + protected slots: protected: diff --git a/core/apps/textedit/textedit.cpp b/core/apps/textedit/textedit.cpp index 8004771..e41c69d 100644 --- a/core/apps/textedit/textedit.cpp +++ b/core/apps/textedit/textedit.cpp @@ -299,6 +299,7 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) a->addTo( bar ); a->addTo( edit ); + int defsize; bool defb, defi, wrap; @@ -368,6 +369,11 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) connect( a, SIGNAL( activated() ), this, SLOT( findClose() ) ); a->addTo( searchBar ); + edit->insertSeparator(); + a = new QAction( tr( "Delete" ), Resource::loadPixmap( "delete" ), QString::null, 0, this, 0 ); + connect( a, SIGNAL( activated() ), this, SLOT( editDelete() ) ); + a->addTo( edit ); + searchBar->hide(); editorStack = new QWidgetStack( this ); @@ -409,7 +415,7 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) TextEdit::~TextEdit() { - saveAs(); +// saveAs(); Config cfg("TextEdit"); cfg.setGroup("View"); @@ -509,14 +515,13 @@ void TextEdit::fileOpen() clearWState (WState_Reserved1 ); editorStack->raiseWidget( fileSelector ); fileSelector->reread(); - updateCaption(currentFileName); + updateCaption(); } void TextEdit::newFileOpen() { - fileBrowser *browseForFiles; browseForFiles=new fileBrowser(this,"fileBrowser",TRUE,0, "*"); - if( browseForFiles->exec()!= 0 ) { + if( browseForFiles->exec() != -1 ) { QString selFile= browseForFiles->selectedFileName; QStringList fileList=browseForFiles->fileList; qDebug(selFile); @@ -534,7 +539,7 @@ void TextEdit::newFileOpen() } } delete browseForFiles; - + editor->setEdited( true ); } #if 0 @@ -617,6 +622,7 @@ void TextEdit::newFile( const DocLnk &f ) setWState (WState_Reserved1 ); editor->setFocus(); doc = new DocLnk(nf); + qDebug("newFile "+currentFileName); updateCaption(currentFileName); } @@ -626,6 +632,9 @@ void TextEdit::openFile( const QString &f ) DocLnk nf; nf.setType("text/plain"); nf.setFile(f); + currentFileName=f; + qDebug("openFile string"+currentFileName); + openFile(nf); showEditTools(); // Show filename in caption @@ -642,6 +651,8 @@ void TextEdit::openFile( const DocLnk &f ) bFromDocView = TRUE; FileManager fm; QString txt; + currentFileName=f.name(); + qDebug("openFile doclnk " + currentFileName); if ( !fm.loadFile( f, txt ) ) { // ####### could be a new file qDebug( "Cannot open file" ); @@ -654,8 +665,10 @@ void TextEdit::openFile( const DocLnk &f ) delete doc; doc = new DocLnk(f); editor->setText(txt); - editor->setEdited(FALSE); - updateCaption(currentFileName); + editor->setEdited( false); + qDebug("openFile doclnk "+currentFileName); + doc->setName(currentFileName); + updateCaption(); } void TextEdit::showEditTools() @@ -673,26 +686,37 @@ void TextEdit::showEditTools() setWState (WState_Reserved1 ); } +/*! + unprompted save */ bool TextEdit::save() { + qDebug("saveFile "+currentFileName); + QString rt = editor->text(); doc->setName( currentFileName); FileManager fm; if ( !fm.saveFile( *doc, rt ) ) { return false; } - delete doc; - doc = 0; +// if(doc) +// delete doc; +// doc = 0; editor->setEdited( false ); return true; - } +/*! + prompted save */ bool TextEdit::saveAs() { - // case of nothing to save... - if ( !doc || !bFromDocView) - return true; + qDebug("saveAsFile "+currentFileName); + + // case of nothing to save... /// there's always something to save +// if ( !doc )//|| !bFromDocView) +// { +// qDebug("no doc"); +// return true; +// } if ( !editor->edited() ) { delete doc; doc = 0; @@ -703,7 +727,7 @@ bool TextEdit::saveAs() qDebug(currentFileName); if( currentFileName.isEmpty() || currentFileName == "Unnamed") { - + qDebug("do silly TT filename thing"); if ( doc->name().isEmpty() ) { QString pt = rt.simplifyWhiteSpace(); int i = pt.find( ' ' ); @@ -718,29 +742,45 @@ bool TextEdit::saveAs() if ( docname.length() > 40 ) docname = docname.left(40); if ( docname.isEmpty() ) - docname = "Empty Text"; + docname = "Unnamed"; doc->setName(docname); currentFileName=docname; } } - fileSaver *fileSaveDlg; fileSaveDlg=new fileSaver(this,"SaveFile",TRUE,0, currentFileName); - if( fileSaveDlg->exec() != 0 ) { + qDebug("wanna save filename "+currentFileName); + fileSaveDlg->exec(); + if( fileSaveDlg->result() == 1 ) { QString fileNm=fileSaveDlg->selectedFileName; - qDebug("save filename "+fileNm); - doc->setName(fileNm); - updateCaption(fileNm); + 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); +// editor->setText(rt); + qDebug("openFile doclnk "+currentFileName); } - delete fileSaveDlg; - + doc->setName( currentFileName); + updateCaption( currentFileName); + FileManager fm; if ( !fm.saveFile( *doc, rt ) ) { return false; } - delete doc; - doc = 0; +// delete doc; +// doc = 0; editor->setEdited( false ); + } + if(fileSaveDlg) + delete fileSaveDlg; return true; } @@ -818,3 +858,17 @@ void TextEdit::changeFont() { } +void TextEdit::editDelete() +{ + switch ( QMessageBox::warning(this,"Text Editor","Do you really want\nto delete the current file\nfrom the disk?\nThis is irreversable!!","Yes","No",0,0,1) ) { + case 0: + if(doc) { + doc->removeFiles(); + clear(); + } + break; + case 1: + // exit + break; + }; +} diff --git a/core/apps/textedit/textedit.h b/core/apps/textedit/textedit.h index f9eb241..781061a 100644 --- a/core/apps/textedit/textedit.h +++ b/core/apps/textedit/textedit.h @@ -24,6 +24,9 @@ #define QTEXTEDIT_OPEN_API +#include "fileBrowser.h" +#include "fileSaver.h" + #include <qpe/filemanager.h> #include <qmainwindow.h> @@ -68,6 +71,7 @@ private slots: void editCopy(); void editPaste(); void editFind(); + void editDelete(); void findNext(); void findClose(); @@ -94,6 +98,9 @@ private: private: QWidgetStack *editorStack; FileSelector *fileSelector; + fileSaver *fileSaveDlg; + fileBrowser *browseForFiles; + QpeEditor* editor; QToolBar *menu, *editBar, *searchBar; QLineEdit *searchEdit; |