summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/apps/textedit/fileBrowser.cpp11
-rw-r--r--core/apps/textedit/fileSaver.cpp24
-rw-r--r--core/apps/textedit/fileSaver.h5
-rw-r--r--core/apps/textedit/textedit.cpp102
-rw-r--r--core/apps/textedit/textedit.h7
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
@@ -111,5 +111,5 @@ 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);
@@ -138,8 +138,11 @@ void fileBrowser::listClicked(QListViewItem *selectedItem)
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());
@@ -153,5 +156,5 @@ void fileBrowser::OnOK()
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
@@ -51,5 +51,5 @@ fileSaver::fileSaver( QWidget* parent, const char* name, bool modal, WFlags fl
fileEdit= new QLineEdit(this);
- fileEdit->setGeometry( QRect( 10, 230, 200, 25));
+ fileEdit->setGeometry( QRect( 10, 200, 200, 22));
fileEdit->setText( tmpFileName);
@@ -148,5 +148,5 @@ void fileSaver::listClicked(QListViewItem *selectedItem)
populateList();
}
- } // else
+ } // else
// if( QFile::exists(strItem ) ) {
// qDebug("We found our files!!");
@@ -160,13 +160,23 @@ 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
@@ -58,9 +58,10 @@ private:
private slots:
- void accept();
+ void accept();
void upDir();
void listDoubleClicked(QListViewItem *);
void listClicked(QListViewItem *);
- void OnOK();
+ void closeEvent( QCloseEvent * );
+
protected slots:
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
@@ -300,4 +300,5 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f )
a->addTo( edit );
+
int defsize;
bool defb, defi, wrap;
@@ -369,4 +370,9 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f )
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();
@@ -410,5 +416,5 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f )
TextEdit::~TextEdit()
{
- saveAs();
+// saveAs();
Config cfg("TextEdit");
@@ -510,12 +516,11 @@ void TextEdit::fileOpen()
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;
@@ -535,5 +540,5 @@ void TextEdit::newFileOpen()
}
delete browseForFiles;
-
+ editor->setEdited( true );
}
@@ -618,4 +623,5 @@ void TextEdit::newFile( const DocLnk &f )
editor->setFocus();
doc = new DocLnk(nf);
+ qDebug("newFile "+currentFileName);
updateCaption(currentFileName);
}
@@ -627,4 +633,7 @@ void TextEdit::openFile( const QString &f )
nf.setType("text/plain");
nf.setFile(f);
+ currentFileName=f;
+ qDebug("openFile string"+currentFileName);
+
openFile(nf);
showEditTools();
@@ -643,4 +652,6 @@ void TextEdit::openFile( const DocLnk &f )
FileManager fm;
QString txt;
+ currentFileName=f.name();
+ qDebug("openFile doclnk " + currentFileName);
if ( !fm.loadFile( f, txt ) ) {
// ####### could be a new file
@@ -655,6 +666,8 @@ void TextEdit::openFile( const DocLnk &f )
doc = new DocLnk(f);
editor->setText(txt);
- editor->setEdited(FALSE);
- updateCaption(currentFileName);
+ editor->setEdited( false);
+ qDebug("openFile doclnk "+currentFileName);
+ doc->setName(currentFileName);
+ updateCaption();
}
@@ -674,6 +687,10 @@ void TextEdit::showEditTools()
}
+/*!
+ unprompted save */
bool TextEdit::save()
{
+ qDebug("saveFile "+currentFileName);
+
QString rt = editor->text();
doc->setName( currentFileName);
@@ -682,16 +699,23 @@ bool TextEdit::save()
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;
@@ -704,5 +728,5 @@ bool TextEdit::saveAs()
if( currentFileName.isEmpty() || currentFileName == "Unnamed") {
-
+ qDebug("do silly TT filename thing");
if ( doc->name().isEmpty() ) {
QString pt = rt.simplifyWhiteSpace();
@@ -719,5 +743,5 @@ bool TextEdit::saveAs()
docname = docname.left(40);
if ( docname.isEmpty() )
- docname = "Empty Text";
+ docname = "Unnamed";
doc->setName(docname);
currentFileName=docname;
@@ -725,21 +749,37 @@ bool TextEdit::saveAs()
}
- 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;
}
@@ -819,2 +859,16 @@ 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
@@ -25,4 +25,7 @@
#define QTEXTEDIT_OPEN_API
+#include "fileBrowser.h"
+#include "fileSaver.h"
+
#include <qpe/filemanager.h>
@@ -69,4 +72,5 @@ private slots:
void editPaste();
void editFind();
+ void editDelete();
void findNext();
@@ -95,4 +99,7 @@ private:
QWidgetStack *editorStack;
FileSelector *fileSelector;
+ fileSaver *fileSaveDlg;
+ fileBrowser *browseForFiles;
+
QpeEditor* editor;
QToolBar *menu, *editBar, *searchBar;