summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2002-02-18 14:52:54 (UTC)
committer llornkcor <llornkcor>2002-02-18 14:52:54 (UTC)
commit00f89d28e669140eb50f1f220c389f88fba1105c (patch) (unidiff)
treedeb87bb87d855bbacddc79d8a0a79edfb1cf1cd8
parent9741205aa0b0892b870d2b7df7c5dd7e25b0bb18 (diff)
downloadopie-00f89d28e669140eb50f1f220c389f88fba1105c.zip
opie-00f89d28e669140eb50f1f220c389f88fba1105c.tar.gz
opie-00f89d28e669140eb50f1f220c389f88fba1105c.tar.bz2
fixed filesave and fileopen cancel
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/apps/textedit/fileSaver.cpp16
-rw-r--r--core/apps/textedit/textedit.cpp52
-rw-r--r--core/apps/textedit/textedit.h2
3 files changed, 42 insertions, 28 deletions
diff --git a/core/apps/textedit/fileSaver.cpp b/core/apps/textedit/fileSaver.cpp
index d01daee..88608cc 100644
--- a/core/apps/textedit/fileSaver.cpp
+++ b/core/apps/textedit/fileSaver.cpp
@@ -20,49 +20,56 @@
20#include <qfile.h> 20#include <qfile.h>
21#include <qmessagebox.h> 21#include <qmessagebox.h>
22#include <unistd.h> 22#include <unistd.h>
23#include <qlineedit.h> 23#include <qlineedit.h>
24 24
25fileSaver::fileSaver( QWidget* parent, const char* name, bool modal, WFlags fl , const QString currentFileName ) 25fileSaver::fileSaver( QWidget* parent, const char* name, bool modal, WFlags fl , const QString currentFileName )
26 : QDialog( parent, name, modal, fl ) 26 : QDialog( parent, name, modal, fl )
27{ 27{
28 if ( !name ) 28 if ( !name )
29 setName( "fileSaver" ); 29 setName( "fileSaver" );
30 resize( 236, 280 ); 30 resize( 236, 280 );
31 setCaption(tr( "Save file" ) ); 31 setCaption(tr( "Save file" ) );
32// filterStr=currentFileName; 32 QFileInfo fi(currentFileName);
33 QString tmpFileName=fi.fileName();
34// qDebug( tmpFileName);
33 35
34 dirLabel = new QLabel(this, "DirLabel"); 36 dirLabel = new QLabel(this, "DirLabel");
35 dirLabel->setText(currentDir.canonicalPath()); 37 dirLabel->setText(currentDir.canonicalPath());
36 dirLabel->setGeometry(10,4,230,30); 38 dirLabel->setGeometry(10,4,230,30);
37 39
38 ListView = new QListView( this, "ListView" ); 40 ListView = new QListView( this, "ListView" );
39 ListView->addColumn( tr( "Name" ) ); 41 ListView->addColumn( tr( "Name" ) );
40 ListView->setColumnWidth(0,140); 42 ListView->setColumnWidth(0,140);
41 ListView->setSorting( 2, FALSE); 43 ListView->setSorting( 2, FALSE);
42 ListView->addColumn( tr( "Size" ) ); 44 ListView->addColumn( tr( "Size" ) );
43 ListView->setColumnWidth(1,59); 45 ListView->setColumnWidth(1,59);
44// ListView->setMultiSelection(true); 46// ListView->setMultiSelection(true);
45// ListView->setSelectionMode(QListView::Extended); 47// ListView->setSelectionMode(QListView::Extended);
46 48
47 ListView->setAllColumnsShowFocus( TRUE ); 49 ListView->setAllColumnsShowFocus( TRUE );
48 ListView->setGeometry( QRect( 10, 35, 220, 160 ) ); 50 ListView->setGeometry( QRect( 10, 35, 220, 160 ) );
49 51
50 fileEdit= new QLineEdit(this); 52 fileEdit= new QLineEdit(this);
51 fileEdit->setGeometry( QRect( 10, 230, 200, 25)); 53 fileEdit->setGeometry( QRect( 10, 230, 200, 25));
52 fileEdit->setText(currentFileName); 54
53 // signals and slots connections 55 fileEdit->setText( tmpFileName);
56
57 // signals and slots connections
54 connect( ListView, SIGNAL(doubleClicked( QListViewItem*)), SLOT(listDoubleClicked(QListViewItem *)) ); 58 connect( ListView, SIGNAL(doubleClicked( QListViewItem*)), SLOT(listDoubleClicked(QListViewItem *)) );
55 connect( ListView, SIGNAL(pressed( QListViewItem*)), SLOT(listClicked(QListViewItem *)) ); 59 connect( ListView, SIGNAL(pressed( QListViewItem*)), SLOT(listClicked(QListViewItem *)) );
56 currentDir.setPath(QDir::currentDirPath() ); 60
61// tmpFileName=fi.FilePath();
62// qDebug( tmpFileName);
63 currentDir.setPath( QDir::currentDirPath() );
57 populateList(); 64 populateList();
58} 65}
59 66
60fileSaver::~fileSaver() 67fileSaver::~fileSaver()
61{ 68{
62} 69}
63 70
64 71
65void fileSaver::populateList() 72void fileSaver::populateList()
66{ 73{
67 ListView->clear(); 74 ListView->clear();
68 currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden ); 75 currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden );
@@ -151,14 +158,15 @@ void fileSaver::listClicked(QListViewItem *selectedItem)
151 158
152} 159}
153 160
154 161
155void fileSaver::OnOK() 162void fileSaver::OnOK()
156{ 163{
157// reject(); 164// reject();
158} 165}
159 166
160void fileSaver::accept() { 167void fileSaver::accept() {
161 selectedFileName = fileEdit->text(); 168 selectedFileName = fileEdit->text();
162 selectedFileName = currentDir.canonicalPath()+ selectedFileName; 169 selectedFileName = currentDir.canonicalPath()+ selectedFileName;
170 qDebug("goint to save "+selectedFileName);
163 reject(); 171 reject();
164} 172}
diff --git a/core/apps/textedit/textedit.cpp b/core/apps/textedit/textedit.cpp
index 14bc496..429c195 100644
--- a/core/apps/textedit/textedit.cpp
+++ b/core/apps/textedit/textedit.cpp
@@ -476,25 +476,27 @@ void TextEdit::setItalic(bool y)
476 editor->setFont(f); 476 editor->setFont(f);
477} 477}
478 478
479void TextEdit::setWordWrap(bool y) 479void TextEdit::setWordWrap(bool y)
480{ 480{
481 bool state = editor->edited(); 481 bool state = editor->edited();
482 editor->setWordWrap(y ? QMultiLineEdit::WidgetWidth : QMultiLineEdit::NoWrap ); 482 editor->setWordWrap(y ? QMultiLineEdit::WidgetWidth : QMultiLineEdit::NoWrap );
483 editor->setEdited( state ); 483 editor->setEdited( state );
484} 484}
485 485
486void TextEdit::fileNew() 486void TextEdit::fileNew()
487{ 487{
488 save(); 488 if( !bFromDocView ) {
489 save();
490 }
489 newFile(DocLnk()); 491 newFile(DocLnk());
490} 492}
491 493
492void TextEdit::fileOpen() 494void TextEdit::fileOpen()
493{ 495{
494// if ( !save() ) { 496// if ( !save() ) {
495// if ( QMessageBox::critical( this, tr( "Out of space" ), 497// if ( QMessageBox::critical( this, tr( "Out of space" ),
496// tr( "Text Editor was unable to\n" 498// tr( "Text Editor was unable to\n"
497// "save your changes.\n" 499// "save your changes.\n"
498// "Free some space and try again.\n" 500// "Free some space and try again.\n"
499// "\nContinue anyway?" ), 501// "\nContinue anyway?" ),
500// QMessageBox::Yes|QMessageBox::Escape, 502// QMessageBox::Yes|QMessageBox::Escape,
@@ -503,45 +505,46 @@ void TextEdit::fileOpen()
503// return; 505// return;
504// else { 506// else {
505// delete doc; 507// delete doc;
506// doc = 0; 508// doc = 0;
507// } 509// }
508// } 510// }
509 menu->hide(); 511 menu->hide();
510 editBar->hide(); 512 editBar->hide();
511 searchBar->hide(); 513 searchBar->hide();
512 clearWState (WState_Reserved1 ); 514 clearWState (WState_Reserved1 );
513 editorStack->raiseWidget( fileSelector ); 515 editorStack->raiseWidget( fileSelector );
514 fileSelector->reread(); 516 fileSelector->reread();
515 updateCaption(); 517 updateCaption(currentFileName);
516} 518}
517 519
518void TextEdit::newFileOpen() 520void TextEdit::newFileOpen()
519{ 521{
520 fileBrowser *browseForFiles; 522 fileBrowser *browseForFiles;
521 browseForFiles=new fileBrowser(this,"fileBrowser",TRUE,0, "*"); 523 browseForFiles=new fileBrowser(this,"fileBrowser",TRUE,0, "*");
522 browseForFiles->exec(); 524 if( browseForFiles->exec()!= 0 ) {
523 QString selFile= browseForFiles->selectedFileName; 525 QString selFile= browseForFiles->selectedFileName;
524 QStringList fileList=browseForFiles->fileList; 526 QStringList fileList=browseForFiles->fileList;
525 qDebug(selFile); 527 qDebug(selFile);
526 QStringList::ConstIterator f; 528 QStringList::ConstIterator f;
527 QString fileTemp; 529 QString fileTemp;
528 for ( f = fileList.begin(); f != fileList.end(); f++ ) { 530 for ( f = fileList.begin(); f != fileList.end(); f++ ) {
529 fileTemp = *f; 531 fileTemp = *f;
530 fileTemp.right( fileTemp.length()-5); 532 fileTemp.right( fileTemp.length()-5);
531 QString fileName = fileTemp; 533 QString fileName = fileTemp;
532 if( fileName != "Unnamed" || fileName != "Empty Text" ) { 534 if( fileName != "Unnamed" || fileName != "Empty Text" ) {
533 currentFileName = fileName; 535 currentFileName = fileName;
534 qDebug("please open "+currentFileName); 536// qDebug("please open "+currentFileName);
535 openFile(fileName ); 537 openFile(fileName );
538 }
536 } 539 }
537 } 540 }
538 delete browseForFiles; 541 delete browseForFiles;
539 542
540} 543}
541 544
542#if 0 545#if 0
543void TextEdit::slotFind() 546void TextEdit::slotFind()
544{ 547{
545 FindDialog frmFind( "Text Editor", this ); 548 FindDialog frmFind( "Text Editor", this );
546 connect( &frmFind, SIGNAL(signalFindClicked(const QString &, bool, bool, int)), 549 connect( &frmFind, SIGNAL(signalFindClicked(const QString &, bool, bool, int)),
547 editor, SLOT(slotDoFind( const QString&,bool,bool))); 550 editor, SLOT(slotDoFind( const QString&,bool,bool)));
@@ -610,121 +613,124 @@ void TextEdit::search()
610 editor->find( searchEdit->text(), FALSE, FALSE ); 613 editor->find( searchEdit->text(), FALSE, FALSE );
611} 614}
612 615
613void TextEdit::newFile( const DocLnk &f ) 616void TextEdit::newFile( const DocLnk &f )
614{ 617{
615 DocLnk nf = f; 618 DocLnk nf = f;
616 nf.setType("text/plain"); 619 nf.setType("text/plain");
617 clear(); 620 clear();
618 editorStack->raiseWidget( editor ); 621 editorStack->raiseWidget( editor );
619 setWState (WState_Reserved1 ); 622 setWState (WState_Reserved1 );
620 editor->setFocus(); 623 editor->setFocus();
621 doc = new DocLnk(nf); 624 doc = new DocLnk(nf);
622 updateCaption(); 625// updateCaption();
623} 626}
624 627
625void TextEdit::openFile( const QString &f ) 628void TextEdit::openFile( const QString &f )
626{ 629{
627 bFromDocView = TRUE; 630 bFromDocView = TRUE;
628 DocLnk nf; 631 DocLnk nf;
629 nf.setType("text/plain"); 632 nf.setType("text/plain");
630 nf.setFile(f); 633 nf.setFile(f);
631 openFile(nf); 634 openFile(nf);
632 showEditTools(); 635 showEditTools();
633 // Show filename in caption 636 // Show filename in caption
634 QString name = f; 637 QString name = f;
635 int sep = name.findRev( '/' ); 638 int sep = name.findRev( '/' );
636 if ( sep > 0 ) 639 if ( sep > 0 )
637 name = name.mid( sep+1 ); 640 name = name.mid( sep+1 );
638 updateCaption( name ); 641 updateCaption( name );
639} 642}
640 643
641void TextEdit::openFile( const DocLnk &f ) 644void TextEdit::openFile( const DocLnk &f )
642{ 645{
643// clear(); 646// clear();
647 bFromDocView = TRUE;
644 FileManager fm; 648 FileManager fm;
645 QString txt; 649 QString txt;
646 if ( !fm.loadFile( f, txt ) ) { 650 if ( !fm.loadFile( f, txt ) ) {
647 // ####### could be a new file 651 // ####### could be a new file
648 qDebug( "Cannot open file" ); 652 qDebug( "Cannot open file" );
649 653
650 //return; 654 //return;
651 } 655 }
652 656
653 fileNew(); 657 fileNew();
654 if ( doc ) 658 if ( doc )
655 delete doc; 659 delete doc;
656 doc = new DocLnk(f); 660 doc = new DocLnk(f);
657 editor->setText(txt); 661 editor->setText(txt);
658 editor->setEdited(FALSE); 662 editor->setEdited(FALSE);
659 updateCaption(); 663 updateCaption(currentFileName);
660} 664}
661 665
662void TextEdit::showEditTools() 666void TextEdit::showEditTools()
663{ 667{
664// if ( !doc ) 668// if ( !doc )
665// close(); 669// close();
666// clear(); 670// clear();
667 fileSelector->hide(); 671 fileSelector->hide();
668 menu->show(); 672 menu->show();
669 editBar->show(); 673 editBar->show();
670 if ( searchVisible ) 674 if ( searchVisible )
671 searchBar->show(); 675 searchBar->show();
672 updateCaption(); 676// updateCaption();
673 editorStack->raiseWidget( editor ); 677 editorStack->raiseWidget( editor );
674 setWState (WState_Reserved1 ); 678 setWState (WState_Reserved1 );
675} 679}
676 680
677bool TextEdit::save() 681bool TextEdit::save()
678{ 682{
679 // case of nothing to save... 683 // case of nothing to save...
680 if ( !doc || !bFromDocView) 684 if ( !doc || !bFromDocView)
681 return true; 685 return true;
682 if ( !editor->edited() ) { 686 if ( !editor->edited() ) {
683 delete doc; 687 delete doc;
684 doc = 0; 688 doc = 0;
685 return true; 689 return true;
686 } 690 }
687 691
688 QString rt = editor->text(); 692 QString rt = editor->text();
689 693 qDebug(currentFileName);
690 if(currentFileName.isEmpty() || currentFileName == "Unnamed") { 694
695 if( currentFileName.isEmpty() || currentFileName == "Unnamed") {
691 696
692 if ( doc->name().isEmpty() ) { 697 if ( doc->name().isEmpty() ) {
693 QString pt = rt.simplifyWhiteSpace(); 698 QString pt = rt.simplifyWhiteSpace();
694 int i = pt.find( ' ' ); 699 int i = pt.find( ' ' );
695 QString docname = pt; 700 QString docname = pt;
696 if ( i > 0 ) 701 if ( i > 0 )
697 docname = pt.left( i ); 702 docname = pt.left( i );
698 // remove "." at the beginning 703 // remove "." at the beginning
699 while( docname.startsWith( "." ) ) 704 while( docname.startsWith( "." ) )
700 docname = docname.mid( 1 ); 705 docname = docname.mid( 1 );
701 docname.replace( QRegExp("/"), "_" ); 706 docname.replace( QRegExp("/"), "_" );
702 // cut the length. filenames longer than that don't make sense and something goes wrong when they get too long. 707 // cut the length. filenames longer than that don't make sense and something goes wrong when they get too long.
703 if ( docname.length() > 40 ) 708 if ( docname.length() > 40 )
704 docname = docname.left(40); 709 docname = docname.left(40);
705 if ( docname.isEmpty() ) 710 if ( docname.isEmpty() )
706 docname = "Empty Text"; 711 docname = "Empty Text";
707 doc->setName(docname); 712 doc->setName(docname);
708 currentFileName=docname; 713 currentFileName=docname;
709 } 714 }
710 } 715 }
711 716
712 fileSaver *fileSaveDlg; 717 fileSaver *fileSaveDlg;
713 fileSaveDlg=new fileSaver(this,"SaveFile",TRUE,0, currentFileName); 718 fileSaveDlg=new fileSaver(this,"SaveFile",TRUE,0, currentFileName);
714 fileSaveDlg->exec(); 719 if( fileSaveDlg->exec() != 0 ) {
715 QString fileNm=fileSaveDlg->selectedFileName; 720 QString fileNm=fileSaveDlg->selectedFileName;
716 qDebug("save filename "+fileNm); 721 qDebug("save filename "+fileNm);
717 doc->setName(fileNm); 722 doc->setName(fileNm);
718 updateCaption(); 723 updateCaption(fileNm);
724 }
719 delete fileSaveDlg; 725 delete fileSaveDlg;
720 726
721 FileManager fm; 727 FileManager fm;
722 if ( !fm.saveFile( *doc, rt ) ) { 728 if ( !fm.saveFile( *doc, rt ) ) {
723 return false; 729 return false;
724 } 730 }
725 delete doc; 731 delete doc;
726 doc = 0; 732 doc = 0;
727 editor->setEdited( false ); 733 editor->setEdited( false );
728 return true; 734 return true;
729} 735}
730 736
diff --git a/core/apps/textedit/textedit.h b/core/apps/textedit/textedit.h
index 4e469cc..4bfb260 100644
--- a/core/apps/textedit/textedit.h
+++ b/core/apps/textedit/textedit.h
@@ -46,25 +46,25 @@ class TextEdit : public QMainWindow
46 46
47public: 47public:
48 TextEdit( QWidget *parent = 0, const char *name = 0, WFlags f = 0 ); 48 TextEdit( QWidget *parent = 0, const char *name = 0, WFlags f = 0 );
49 ~TextEdit(); 49 ~TextEdit();
50 50
51 void openFile( const QString & ); 51 void openFile( const QString & );
52 52
53protected: 53protected:
54 void closeEvent( QCloseEvent *e ); 54 void closeEvent( QCloseEvent *e );
55 55
56private slots: 56private slots:
57 void setDocument(const QString&); 57 void setDocument(const QString&);
58 void changeFont(); 58 void changeFont();
59 void fileNew(); 59 void fileNew();
60 void fileRevert(); 60 void fileRevert();
61 void fileOpen(); 61 void fileOpen();
62 void newFileOpen(); 62 void newFileOpen();
63 bool save(); 63 bool save();
64 64
65 void editCut(); 65 void editCut();
66 void editCopy(); 66 void editCopy();
67 void editPaste(); 67 void editPaste();
68 void editFind(); 68 void editFind();
69 69
70 void findNext(); 70 void findNext();