summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2002-02-19 00:32:58 (UTC)
committer llornkcor <llornkcor>2002-02-19 00:32:58 (UTC)
commit2308c4db692821721bbe82f93fd60f275f4cccdc (patch) (unidiff)
treef037b4f4fd40201e5328132e643dca83bdf12651
parent7e308434f08fe6e8257a5c6b11a62e3ee3934d3b (diff)
downloadopie-2308c4db692821721bbe82f93fd60f275f4cccdc.zip
opie-2308c4db692821721bbe82f93fd60f275f4cccdc.tar.gz
opie-2308c4db692821721bbe82f93fd60f275f4cccdc.tar.bz2
fixed several silly bugs having to do with Doclnk stuff..
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
@@ -109,9 +109,9 @@ void fileBrowser::listDoubleClicked(QListViewItem *selectedItem)
109void fileBrowser::listClicked(QListViewItem *selectedItem) 109void fileBrowser::listClicked(QListViewItem *selectedItem)
110{ 110{
111 QString strItem=selectedItem->text(0); 111 QString strItem=selectedItem->text(0);
112 QString strSize=selectedItem->text(1); 112 QString strSize=selectedItem->text(1);
113// qDebug("strItem is "+strItem); 113// qDebug("strItem is "+strItem);
114 strSize.stripWhiteSpace(); 114 strSize.stripWhiteSpace();
115// qDebug(strSize); 115// qDebug(strSize);
116 116
117 if(strItem.find("@",0,TRUE) !=-1 || strItem.find("->",0,TRUE) !=-1 ) { //if symlink 117 if(strItem.find("@",0,TRUE) !=-1 || strItem.find("->",0,TRUE) !=-1 ) { //if symlink
@@ -136,12 +136,15 @@ void fileBrowser::listClicked(QListViewItem *selectedItem)
136 if(QDir(strItem).exists()){ 136 if(QDir(strItem).exists()){
137 currentDir.cd(strItem, TRUE); 137 currentDir.cd(strItem, TRUE);
138 populateList(); 138 populateList();
139 } 139 }
140 } else 140 } else {
141 strItem=QDir::cleanDirPath(currentDir.canonicalPath()+"/"+strItem);
141 if( QFile::exists(strItem ) ) { 142 if( QFile::exists(strItem ) ) {
142// qDebug("We found our files!!"); 143//currentDir.canonicalPath()
144 qDebug("We found our files!!"+strItem);
143 OnOK(); 145 OnOK();
146 }
144 } //end not symlink 147 } //end not symlink
145 chdir(strItem.latin1()); 148 chdir(strItem.latin1());
146 } 149 }
147} 150}
@@ -151,9 +154,9 @@ void fileBrowser::OnOK()
151 QListViewItemIterator it1( ListView); 154 QListViewItemIterator it1( ListView);
152 for ( ; it1.current(); ++it1 ) { 155 for ( ; it1.current(); ++it1 ) {
153 if ( it1.current()->isSelected() ) { 156 if ( it1.current()->isSelected() ) {
154 selectedFileName=QDir::cleanDirPath(currentDir.canonicalPath()+"/"+it1.current()->text(0)); 157 selectedFileName=QDir::cleanDirPath(currentDir.canonicalPath()+"/"+it1.current()->text(0));
155// qDebug("selected filename is "+selectedFileName); 158 qDebug("selected filename is "+selectedFileName);
156 fileList.append( selectedFileName ); 159 fileList.append( selectedFileName );
157 } 160 }
158 } 161 }
159 accept(); 162 accept();
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
@@ -49,9 +49,9 @@ fileSaver::fileSaver( QWidget* parent, const char* name, bool modal, WFlags fl
49 ListView->setAllColumnsShowFocus( TRUE ); 49 ListView->setAllColumnsShowFocus( TRUE );
50 ListView->setGeometry( QRect( 10, 35, 220, 160 ) ); 50 ListView->setGeometry( QRect( 10, 35, 220, 160 ) );
51 51
52 fileEdit= new QLineEdit(this); 52 fileEdit= new QLineEdit(this);
53 fileEdit->setGeometry( QRect( 10, 230, 200, 25)); 53 fileEdit->setGeometry( QRect( 10, 200, 200, 22));
54 54
55 fileEdit->setText( tmpFileName); 55 fileEdit->setText( tmpFileName);
56 56
57 // signals and slots connections 57 // signals and slots connections
@@ -146,9 +146,9 @@ void fileSaver::listClicked(QListViewItem *selectedItem)
146 if(QDir(strItem).exists()){ 146 if(QDir(strItem).exists()){
147 currentDir.cd(strItem, TRUE); 147 currentDir.cd(strItem, TRUE);
148 populateList(); 148 populateList();
149 } 149 }
150 } // else 150 } // else
151// if( QFile::exists(strItem ) ) { 151// if( QFile::exists(strItem ) ) {
152// qDebug("We found our files!!"); 152// qDebug("We found our files!!");
153 153
154// OnOK(); 154// OnOK();
@@ -158,15 +158,25 @@ void fileSaver::listClicked(QListViewItem *selectedItem)
158 158
159} 159}
160 160
161 161
162void fileSaver::OnOK() 162void fileSaver::closeEvent( QCloseEvent *e )
163{ 163{
164// reject(); 164 if(e->isAccepted()) {
165 e->accept();
166 } else {
167 qDebug("not accepted");
168 done(-1);
169 }
165} 170}
166 171
167void fileSaver::accept() { 172void fileSaver::accept() {
168 selectedFileName = fileEdit->text(); 173 selectedFileName = fileEdit->text();
169 selectedFileName = currentDir.canonicalPath()+ selectedFileName; 174 QString path = currentDir.canonicalPath()+"/" + selectedFileName;
170 qDebug("goint to save "+selectedFileName); 175 if( path.find("//",0,TRUE) ==-1 ) {
171 reject(); 176 selectedFileName = path;
177 } else {
178 selectedFileName = currentDir.canonicalPath()+selectedFileName;
179 }
180 qDebug("going to save "+selectedFileName);
181 done(1);
172} 182}
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
@@ -56,13 +56,14 @@ public slots:
56 56
57private: 57private:
58 58
59private slots: 59private slots:
60 void accept(); 60 void accept();
61 void upDir(); 61 void upDir();
62 void listDoubleClicked(QListViewItem *); 62 void listDoubleClicked(QListViewItem *);
63 void listClicked(QListViewItem *); 63 void listClicked(QListViewItem *);
64 void OnOK(); 64 void closeEvent( QCloseEvent * );
65
65protected slots: 66protected slots:
66 67
67protected: 68protected:
68 69
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
@@ -298,8 +298,9 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f )
298 edit->insertSeparator(); 298 edit->insertSeparator();
299 a->addTo( bar ); 299 a->addTo( bar );
300 a->addTo( edit ); 300 a->addTo( edit );
301 301
302
302 int defsize; 303 int defsize;
303 bool defb, defi, wrap; 304 bool defb, defi, wrap;
304 305
305 Config cfg("TextEdit"); 306 Config cfg("TextEdit");
@@ -367,8 +368,13 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f )
367 a = new QAction( tr( "Close Find" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 ); 368 a = new QAction( tr( "Close Find" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 );
368 connect( a, SIGNAL( activated() ), this, SLOT( findClose() ) ); 369 connect( a, SIGNAL( activated() ), this, SLOT( findClose() ) );
369 a->addTo( searchBar ); 370 a->addTo( searchBar );
370 371
372 edit->insertSeparator();
373 a = new QAction( tr( "Delete" ), Resource::loadPixmap( "delete" ), QString::null, 0, this, 0 );
374 connect( a, SIGNAL( activated() ), this, SLOT( editDelete() ) );
375 a->addTo( edit );
376
371 searchBar->hide(); 377 searchBar->hide();
372 378
373 editorStack = new QWidgetStack( this ); 379 editorStack = new QWidgetStack( this );
374 setCentralWidget( editorStack ); 380 setCentralWidget( editorStack );
@@ -408,9 +414,9 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f )
408} 414}
409 415
410TextEdit::~TextEdit() 416TextEdit::~TextEdit()
411{ 417{
412 saveAs(); 418// saveAs();
413 419
414 Config cfg("TextEdit"); 420 Config cfg("TextEdit");
415 cfg.setGroup("View"); 421 cfg.setGroup("View");
416 QFont f = editor->font(); 422 QFont f = editor->font();
@@ -508,16 +514,15 @@ void TextEdit::fileOpen()
508 searchBar->hide(); 514 searchBar->hide();
509 clearWState (WState_Reserved1 ); 515 clearWState (WState_Reserved1 );
510 editorStack->raiseWidget( fileSelector ); 516 editorStack->raiseWidget( fileSelector );
511 fileSelector->reread(); 517 fileSelector->reread();
512 updateCaption(currentFileName); 518 updateCaption();
513} 519}
514 520
515void TextEdit::newFileOpen() 521void TextEdit::newFileOpen()
516{ 522{
517 fileBrowser *browseForFiles;
518 browseForFiles=new fileBrowser(this,"fileBrowser",TRUE,0, "*"); 523 browseForFiles=new fileBrowser(this,"fileBrowser",TRUE,0, "*");
519 if( browseForFiles->exec()!= 0 ) { 524 if( browseForFiles->exec() != -1 ) {
520 QString selFile= browseForFiles->selectedFileName; 525 QString selFile= browseForFiles->selectedFileName;
521 QStringList fileList=browseForFiles->fileList; 526 QStringList fileList=browseForFiles->fileList;
522 qDebug(selFile); 527 qDebug(selFile);
523 QStringList::ConstIterator f; 528 QStringList::ConstIterator f;
@@ -533,9 +538,9 @@ void TextEdit::newFileOpen()
533 } 538 }
534 } 539 }
535 } 540 }
536 delete browseForFiles; 541 delete browseForFiles;
537 542 editor->setEdited( true );
538} 543}
539 544
540#if 0 545#if 0
541void TextEdit::slotFind() 546void TextEdit::slotFind()
@@ -616,8 +621,9 @@ void TextEdit::newFile( const DocLnk &f )
616 editorStack->raiseWidget( editor ); 621 editorStack->raiseWidget( editor );
617 setWState (WState_Reserved1 ); 622 setWState (WState_Reserved1 );
618 editor->setFocus(); 623 editor->setFocus();
619 doc = new DocLnk(nf); 624 doc = new DocLnk(nf);
625 qDebug("newFile "+currentFileName);
620 updateCaption(currentFileName); 626 updateCaption(currentFileName);
621} 627}
622 628
623void TextEdit::openFile( const QString &f ) 629void TextEdit::openFile( const QString &f )
@@ -625,8 +631,11 @@ void TextEdit::openFile( const QString &f )
625 bFromDocView = TRUE; 631 bFromDocView = TRUE;
626 DocLnk nf; 632 DocLnk nf;
627 nf.setType("text/plain"); 633 nf.setType("text/plain");
628 nf.setFile(f); 634 nf.setFile(f);
635 currentFileName=f;
636 qDebug("openFile string"+currentFileName);
637
629 openFile(nf); 638 openFile(nf);
630 showEditTools(); 639 showEditTools();
631 // Show filename in caption 640 // Show filename in caption
632 QString name = f; 641 QString name = f;
@@ -641,8 +650,10 @@ void TextEdit::openFile( const DocLnk &f )
641// clear(); 650// clear();
642 bFromDocView = TRUE; 651 bFromDocView = TRUE;
643 FileManager fm; 652 FileManager fm;
644 QString txt; 653 QString txt;
654 currentFileName=f.name();
655 qDebug("openFile doclnk " + currentFileName);
645 if ( !fm.loadFile( f, txt ) ) { 656 if ( !fm.loadFile( f, txt ) ) {
646 // ####### could be a new file 657 // ####### could be a new file
647 qDebug( "Cannot open file" ); 658 qDebug( "Cannot open file" );
648 659
@@ -653,10 +664,12 @@ void TextEdit::openFile( const DocLnk &f )
653 if ( doc ) 664 if ( doc )
654 delete doc; 665 delete doc;
655 doc = new DocLnk(f); 666 doc = new DocLnk(f);
656 editor->setText(txt); 667 editor->setText(txt);
657 editor->setEdited(FALSE); 668 editor->setEdited( false);
658 updateCaption(currentFileName); 669 qDebug("openFile doclnk "+currentFileName);
670 doc->setName(currentFileName);
671 updateCaption();
659} 672}
660 673
661void TextEdit::showEditTools() 674void TextEdit::showEditTools()
662{ 675{
@@ -672,28 +685,39 @@ void TextEdit::showEditTools()
672 editorStack->raiseWidget( editor ); 685 editorStack->raiseWidget( editor );
673 setWState (WState_Reserved1 ); 686 setWState (WState_Reserved1 );
674} 687}
675 688
689/*!
690 unprompted save */
676bool TextEdit::save() 691bool TextEdit::save()
677{ 692{
693 qDebug("saveFile "+currentFileName);
694
678 QString rt = editor->text(); 695 QString rt = editor->text();
679 doc->setName( currentFileName); 696 doc->setName( currentFileName);
680 FileManager fm; 697 FileManager fm;
681 if ( !fm.saveFile( *doc, rt ) ) { 698 if ( !fm.saveFile( *doc, rt ) ) {
682 return false; 699 return false;
683 } 700 }
684 delete doc; 701// if(doc)
685 doc = 0; 702// delete doc;
703// doc = 0;
686 editor->setEdited( false ); 704 editor->setEdited( false );
687 return true; 705 return true;
688
689} 706}
690 707
708/*!
709 prompted save */
691bool TextEdit::saveAs() 710bool TextEdit::saveAs()
692{ 711{
693 // case of nothing to save... 712 qDebug("saveAsFile "+currentFileName);
694 if ( !doc || !bFromDocView) 713
695 return true; 714 // case of nothing to save... /// there's always something to save
715// if ( !doc )//|| !bFromDocView)
716// {
717// qDebug("no doc");
718// return true;
719// }
696 if ( !editor->edited() ) { 720 if ( !editor->edited() ) {
697 delete doc; 721 delete doc;
698 doc = 0; 722 doc = 0;
699 return true; 723 return true;
@@ -702,9 +726,9 @@ bool TextEdit::saveAs()
702 QString rt = editor->text(); 726 QString rt = editor->text();
703 qDebug(currentFileName); 727 qDebug(currentFileName);
704 728
705 if( currentFileName.isEmpty() || currentFileName == "Unnamed") { 729 if( currentFileName.isEmpty() || currentFileName == "Unnamed") {
706 730 qDebug("do silly TT filename thing");
707 if ( doc->name().isEmpty() ) { 731 if ( doc->name().isEmpty() ) {
708 QString pt = rt.simplifyWhiteSpace(); 732 QString pt = rt.simplifyWhiteSpace();
709 int i = pt.find( ' ' ); 733 int i = pt.find( ' ' );
710 QString docname = pt; 734 QString docname = pt;
@@ -717,31 +741,47 @@ bool TextEdit::saveAs()
717 // cut the length. filenames longer than that don't make sense and something goes wrong when they get too long. 741 // cut the length. filenames longer than that don't make sense and something goes wrong when they get too long.
718 if ( docname.length() > 40 ) 742 if ( docname.length() > 40 )
719 docname = docname.left(40); 743 docname = docname.left(40);
720 if ( docname.isEmpty() ) 744 if ( docname.isEmpty() )
721 docname = "Empty Text"; 745 docname = "Unnamed";
722 doc->setName(docname); 746 doc->setName(docname);
723 currentFileName=docname; 747 currentFileName=docname;
724 } 748 }
725 } 749 }
726 750
727 fileSaver *fileSaveDlg;
728 fileSaveDlg=new fileSaver(this,"SaveFile",TRUE,0, currentFileName); 751 fileSaveDlg=new fileSaver(this,"SaveFile",TRUE,0, currentFileName);
729 if( fileSaveDlg->exec() != 0 ) { 752 qDebug("wanna save filename "+currentFileName);
753 fileSaveDlg->exec();
754 if( fileSaveDlg->result() == 1 ) {
730 QString fileNm=fileSaveDlg->selectedFileName; 755 QString fileNm=fileSaveDlg->selectedFileName;
731 qDebug("save filename "+fileNm); 756 qDebug("saving filename "+fileNm);
732 doc->setName(fileNm); 757 QFileInfo fi(fileNm);
733 updateCaption(fileNm); 758 currentFileName=fi.fileName();
759 if(doc) {
760 qDebug("doclnk exists");
761// QString file = doc->file();
762// doc->removeFiles();
763 delete doc;
764 DocLnk nf;
765 nf.setType("text/plain");
766 nf.setFile( fileNm);
767 doc = new DocLnk(nf);
768// editor->setText(rt);
769 qDebug("openFile doclnk "+currentFileName);
734 } 770 }
735 delete fileSaveDlg; 771 doc->setName( currentFileName);
736 772 updateCaption( currentFileName);
773
737 FileManager fm; 774 FileManager fm;
738 if ( !fm.saveFile( *doc, rt ) ) { 775 if ( !fm.saveFile( *doc, rt ) ) {
739 return false; 776 return false;
740 } 777 }
741 delete doc; 778// delete doc;
742 doc = 0; 779// doc = 0;
743 editor->setEdited( false ); 780 editor->setEdited( false );
781 }
782 if(fileSaveDlg)
783 delete fileSaveDlg;
744 return true; 784 return true;
745} 785}
746 786
747void TextEdit::clear() 787void TextEdit::clear()
@@ -817,4 +857,18 @@ void TextEdit::changeFont() {
817 delete fontDlg; 857 delete fontDlg;
818 858
819} 859}
820 860
861void TextEdit::editDelete()
862{
863 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) ) {
864 case 0:
865 if(doc) {
866 doc->removeFiles();
867 clear();
868 }
869 break;
870 case 1:
871 // exit
872 break;
873 };
874}
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
@@ -23,8 +23,11 @@
23#define TEXTEDIT_H 23#define TEXTEDIT_H
24 24
25#define QTEXTEDIT_OPEN_API 25#define QTEXTEDIT_OPEN_API
26 26
27#include "fileBrowser.h"
28#include "fileSaver.h"
29
27#include <qpe/filemanager.h> 30#include <qpe/filemanager.h>
28 31
29#include <qmainwindow.h> 32#include <qmainwindow.h>
30#include <qmultilineedit.h> 33#include <qmultilineedit.h>
@@ -67,8 +70,9 @@ private slots:
67 void editCut(); 70 void editCut();
68 void editCopy(); 71 void editCopy();
69 void editPaste(); 72 void editPaste();
70 void editFind(); 73 void editFind();
74 void editDelete();
71 75
72 void findNext(); 76 void findNext();
73 void findClose(); 77 void findClose();
74 78
@@ -93,8 +97,11 @@ private:
93 97
94private: 98private:
95 QWidgetStack *editorStack; 99 QWidgetStack *editorStack;
96 FileSelector *fileSelector; 100 FileSelector *fileSelector;
101 fileSaver *fileSaveDlg;
102 fileBrowser *browseForFiles;
103
97 QpeEditor* editor; 104 QpeEditor* editor;
98 QToolBar *menu, *editBar, *searchBar; 105 QToolBar *menu, *editBar, *searchBar;
99 QLineEdit *searchEdit; 106 QLineEdit *searchEdit;
100 DocLnk *doc; 107 DocLnk *doc;