author | llornkcor <llornkcor> | 2002-02-19 00:32:58 (UTC) |
---|---|---|
committer | llornkcor <llornkcor> | 2002-02-19 00:32:58 (UTC) |
commit | 2308c4db692821721bbe82f93fd60f275f4cccdc (patch) (unidiff) | |
tree | f037b4f4fd40201e5328132e643dca83bdf12651 /core/apps/textedit/textedit.cpp | |
parent | 7e308434f08fe6e8257a5c6b11a62e3ee3934d3b (diff) | |
download | opie-2308c4db692821721bbe82f93fd60f275f4cccdc.zip opie-2308c4db692821721bbe82f93fd60f275f4cccdc.tar.gz opie-2308c4db692821721bbe82f93fd60f275f4cccdc.tar.bz2 |
fixed several silly bugs having to do with Doclnk stuff..
Diffstat (limited to 'core/apps/textedit/textedit.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | core/apps/textedit/textedit.cpp | 102 |
1 files changed, 78 insertions, 24 deletions
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 ) | |||
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 | ||
@@ -368,6 +369,11 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) | |||
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 ); |
@@ -409,7 +415,7 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) | |||
409 | 415 | ||
410 | TextEdit::~TextEdit() | 416 | TextEdit::~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"); |
@@ -509,14 +515,13 @@ void TextEdit::fileOpen() | |||
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 | ||
515 | void TextEdit::newFileOpen() | 521 | void 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); |
@@ -534,7 +539,7 @@ void TextEdit::newFileOpen() | |||
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 |
@@ -617,6 +622,7 @@ void TextEdit::newFile( const DocLnk &f ) | |||
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 | ||
@@ -626,6 +632,9 @@ void TextEdit::openFile( const QString &f ) | |||
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 |
@@ -642,6 +651,8 @@ void TextEdit::openFile( const DocLnk &f ) | |||
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" ); |
@@ -654,8 +665,10 @@ void TextEdit::openFile( const DocLnk &f ) | |||
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 | ||
661 | void TextEdit::showEditTools() | 674 | void TextEdit::showEditTools() |
@@ -673,26 +686,37 @@ void TextEdit::showEditTools() | |||
673 | setWState (WState_Reserved1 ); | 686 | setWState (WState_Reserved1 ); |
674 | } | 687 | } |
675 | 688 | ||
689 | /*! | ||
690 | unprompted save */ | ||
676 | bool TextEdit::save() | 691 | bool 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 */ | ||
691 | bool TextEdit::saveAs() | 710 | bool 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; |
@@ -703,7 +727,7 @@ bool TextEdit::saveAs() | |||
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( ' ' ); |
@@ -718,29 +742,45 @@ bool TextEdit::saveAs() | |||
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 | ||
@@ -818,3 +858,17 @@ void TextEdit::changeFont() { | |||
818 | 858 | ||
819 | } | 859 | } |
820 | 860 | ||
861 | void 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 | } | ||