-rw-r--r-- | core/apps/textedit/main.cpp | 4 | ||||
-rw-r--r-- | core/apps/textedit/textedit.cpp | 120 | ||||
-rw-r--r-- | core/apps/textedit/textedit.h | 6 |
3 files changed, 106 insertions, 24 deletions
diff --git a/core/apps/textedit/main.cpp b/core/apps/textedit/main.cpp index d0d37d2..4f27667 100644 --- a/core/apps/textedit/main.cpp +++ b/core/apps/textedit/main.cpp | |||
@@ -28,8 +28,8 @@ int main( int argc, char **argv ) | |||
28 | 28 | ||
29 | TextEdit e; | 29 | TextEdit e; |
30 | a.showMainDocumentWidget(&e); | 30 | a.showMainDocumentWidget(&e); |
31 | if ( argc == 3 && argv[1] == QCString("-f") ) | 31 | // if ( argc == 3 && argv[1] == QCString("-f") ) |
32 | e.openFile(argv[2]); | 32 | // e.openFile(argv[2]); |
33 | 33 | ||
34 | a.exec(); | 34 | a.exec(); |
35 | } | 35 | } |
diff --git a/core/apps/textedit/textedit.cpp b/core/apps/textedit/textedit.cpp index e3b8361..464671a 100644 --- a/core/apps/textedit/textedit.cpp +++ b/core/apps/textedit/textedit.cpp | |||
@@ -43,6 +43,7 @@ | |||
43 | #include <qpe/qpetoolbar.h> | 43 | #include <qpe/qpetoolbar.h> |
44 | #include <qpe/qcopenvelope_qws.h> | 44 | #include <qpe/qcopenvelope_qws.h> |
45 | 45 | ||
46 | #include <qtextstream.h> | ||
46 | #include <qdatetime.h> | 47 | #include <qdatetime.h> |
47 | #include <qclipboard.h> | 48 | #include <qclipboard.h> |
48 | #include <qstringlist.h> | 49 | #include <qstringlist.h> |
@@ -59,7 +60,7 @@ | |||
59 | #include <qcheckbox.h> | 60 | #include <qcheckbox.h> |
60 | #include <qcombo.h> | 61 | #include <qcombo.h> |
61 | #include <qlayout.h> | 62 | #include <qlayout.h> |
62 | 63 | #include <qapplication.h> | |
63 | #include <unistd.h> | 64 | #include <unistd.h> |
64 | #include <sys/stat.h> | 65 | #include <sys/stat.h> |
65 | #include <stdlib.h> //getenv | 66 | #include <stdlib.h> //getenv |
@@ -171,8 +172,7 @@ class QpeEditor : public QMultiLineEdit | |||
171 | // Q_OBJECT | 172 | // Q_OBJECT |
172 | public: | 173 | public: |
173 | QpeEditor( QWidget *parent, const char * name = 0 ) | 174 | QpeEditor( QWidget *parent, const char * name = 0 ) |
174 | : QMultiLineEdit( parent, name ) | 175 | : QMultiLineEdit( parent, name ) { |
175 | { | ||
176 | clearTableFlags(); | 176 | clearTableFlags(); |
177 | setTableFlags( Tbl_vScrollBar | Tbl_autoHScrollBar ); | 177 | setTableFlags( Tbl_vScrollBar | Tbl_autoHScrollBar ); |
178 | } | 178 | } |
@@ -224,9 +224,7 @@ void QpeEditor::find ( const QString &txt, bool caseSensitive, | |||
224 | line++; | 224 | line++; |
225 | col = 0; | 225 | col = 0; |
226 | } | 226 | } |
227 | |||
228 | } | 227 | } |
229 | |||
230 | } | 228 | } |
231 | 229 | ||
232 | 230 | ||
@@ -357,6 +355,12 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) | |||
357 | filePermAction->setToggleAction(TRUE); | 355 | filePermAction->setToggleAction(TRUE); |
358 | filePermAction->addTo( advancedMenu); | 356 | filePermAction->addTo( advancedMenu); |
359 | 357 | ||
358 | searchBarAction = new QAction( tr("Search Bar Open"), QString::null, 0, this, 0 ); | ||
359 | connect( searchBarAction, SIGNAL( toggled(bool) ), this, SLOT( setSearchBar(bool) ) ); | ||
360 | searchBarAction->setToggleAction(TRUE); | ||
361 | searchBarAction->addTo( advancedMenu); | ||
362 | |||
363 | |||
360 | font->insertSeparator(); | 364 | font->insertSeparator(); |
361 | 365 | ||
362 | font->insertItem(tr("About"), this, SLOT( doAbout()) ); | 366 | font->insertItem(tr("About"), this, SLOT( doAbout()) ); |
@@ -410,14 +414,19 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) | |||
410 | defaultFont = QFont ( family, size, weight, italic ); | 414 | defaultFont = QFont ( family, size, weight, italic ); |
411 | editor-> setFont ( defaultFont ); | 415 | editor-> setFont ( defaultFont ); |
412 | 416 | ||
413 | updateCaption(); | 417 | // updateCaption(); |
414 | 418 | ||
415 | cfg.setGroup ( "View" ); | 419 | cfg.setGroup ( "View" ); |
416 | 420 | ||
417 | promptExit = cfg. readBoolEntry ( "PromptExit", false ); | 421 | promptExit = cfg. readBoolEntry ( "PromptExit", false ); |
418 | openDesktop = cfg. readBoolEntry ( "OpenDesktop", true ); | 422 | openDesktop = cfg. readBoolEntry ( "OpenDesktop", true ); |
419 | filePerms = cfg. readBoolEntry ( "FilePermissions", false ); | 423 | filePerms = cfg. readBoolEntry ( "FilePermissions", false ); |
424 | useSearchBar = cfg.readBoolEntry ( "SearchBar", false ); | ||
420 | 425 | ||
426 | if(useSearchBar) { | ||
427 | searchBarAction->setOn(true); | ||
428 | } else{ | ||
429 | } | ||
421 | if(promptExit ) nAdvanced->setOn ( true ); | 430 | if(promptExit ) nAdvanced->setOn ( true ); |
422 | if(openDesktop) desktopAction->setOn ( true ); | 431 | if(openDesktop) desktopAction->setOn ( true ); |
423 | if(filePerms) filePermAction->setOn ( true ); | 432 | if(filePerms) filePermAction->setOn ( true ); |
@@ -426,10 +435,25 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) | |||
426 | wa-> setOn ( wrap ); | 435 | wa-> setOn ( wrap ); |
427 | setWordWrap ( wrap ); | 436 | setWordWrap ( wrap ); |
428 | 437 | ||
438 | if( qApp->argc() > 0) { | ||
439 | currentFileName=qApp->argv()[1]; | ||
440 | // qDebug("<<<<<<<<<<<<<<<<<<<<<<<< "+currentFileName); | ||
441 | QFileInfo fi(currentFileName); | ||
442 | |||
443 | if(fi.baseName().left(1) == "") { | ||
444 | openDotFile(currentFileName); | ||
445 | } else { | ||
446 | |||
447 | nStart->setOn(TRUE); | ||
448 | openFile(currentFileName); | ||
449 | } | ||
450 | } else | ||
429 | if(cfg.readEntry("startNew","TRUE") == "TRUE") { | 451 | if(cfg.readEntry("startNew","TRUE") == "TRUE") { |
452 | |||
430 | nStart->setOn(TRUE); | 453 | nStart->setOn(TRUE); |
431 | fileNew(); | 454 | fileNew(); |
432 | } else { | 455 | } else { |
456 | |||
433 | fileOpen(); | 457 | fileOpen(); |
434 | } | 458 | } |
435 | 459 | ||
@@ -459,6 +483,7 @@ void TextEdit::cleanUp() { | |||
459 | cfg. writeEntry ( "PromptExit", promptExit ); | 483 | cfg. writeEntry ( "PromptExit", promptExit ); |
460 | cfg. writeEntry ( "OpenDesktop", openDesktop ); | 484 | cfg. writeEntry ( "OpenDesktop", openDesktop ); |
461 | cfg. writeEntry ( "FilePermissions", filePerms ); | 485 | cfg. writeEntry ( "FilePermissions", filePerms ); |
486 | cfg.writeEntry ( "SearchBar", useSearchBar ); | ||
462 | } | 487 | } |
463 | 488 | ||
464 | 489 | ||
@@ -520,6 +545,19 @@ void TextEdit::setWordWrap(bool y) { | |||
520 | editor->setEdited( state ); | 545 | editor->setEdited( state ); |
521 | } | 546 | } |
522 | 547 | ||
548 | void TextEdit::setSearchBar(bool b) { | ||
549 | useSearchBar=b; | ||
550 | Config cfg("TextEdit"); | ||
551 | cfg.setGroup("View"); | ||
552 | cfg.writeEntry ( "SearchBar", b ); | ||
553 | searchBarAction->setOn(b); | ||
554 | if(b) | ||
555 | searchBar->show(); | ||
556 | else | ||
557 | searchBar->hide(); | ||
558 | editor->setFocus(); | ||
559 | } | ||
560 | |||
523 | void TextEdit::fileNew() { | 561 | void TextEdit::fileNew() { |
524 | // if( !bFromDocView ) { | 562 | // if( !bFromDocView ) { |
525 | // saveAs(); | 563 | // saveAs(); |
@@ -546,10 +584,10 @@ void TextEdit::fileOpen() { | |||
546 | } | 584 | } |
547 | 585 | ||
548 | void TextEdit::doSearchBar() { | 586 | void TextEdit::doSearchBar() { |
549 | Config cfg("TextEdit"); | 587 | if(!useSearchBar) |
550 | cfg.setGroup("View"); | ||
551 | if(cfg.readEntry("SearchBar","Closed") != "Opened") | ||
552 | searchBar->hide(); | 588 | searchBar->hide(); |
589 | else | ||
590 | searchBar->show(); | ||
553 | } | 591 | } |
554 | 592 | ||
555 | #if 0 | 593 | #if 0 |
@@ -598,9 +636,9 @@ void TextEdit::editFind() { | |||
598 | searchBar->show(); | 636 | searchBar->show(); |
599 | searchVisible = TRUE; | 637 | searchVisible = TRUE; |
600 | searchEdit->setFocus(); | 638 | searchEdit->setFocus(); |
601 | Config cfg("TextEdit"); | 639 | // Config cfg("TextEdit"); |
602 | cfg.setGroup("View"); | 640 | // cfg.setGroup("View"); |
603 | cfg.writeEntry("SearchBar","Opened"); | 641 | // cfg.writeEntry("SearchBar","Opened"); |
604 | 642 | ||
605 | } | 643 | } |
606 | 644 | ||
@@ -612,10 +650,10 @@ void TextEdit::findNext() { | |||
612 | void TextEdit::findClose() { | 650 | void TextEdit::findClose() { |
613 | searchVisible = FALSE; | 651 | searchVisible = FALSE; |
614 | searchBar->hide(); | 652 | searchBar->hide(); |
615 | Config cfg("TextEdit"); | 653 | // Config cfg("TextEdit"); |
616 | cfg.setGroup("View"); | 654 | // cfg.setGroup("View"); |
617 | cfg.writeEntry("SearchBar","Closed"); | 655 | // cfg.writeEntry("SearchBar","Closed"); |
618 | cfg.write(); | 656 | // cfg.write(); |
619 | } | 657 | } |
620 | 658 | ||
621 | void TextEdit::search() { | 659 | void TextEdit::search() { |
@@ -635,9 +673,32 @@ void TextEdit::newFile( const DocLnk &f ) { | |||
635 | // editor->setEdited( FALSE); | 673 | // editor->setEdited( FALSE); |
636 | } | 674 | } |
637 | 675 | ||
676 | void TextEdit::openDotFile( const QString &f ) { | ||
677 | if(!currentFileName.isEmpty()) { | ||
678 | currentFileName=f; | ||
679 | |||
680 | qDebug("openFile dotfile " + currentFileName); | ||
681 | QString txt; | ||
682 | QFile file(f); | ||
683 | file.open(IO_ReadWrite); | ||
684 | QTextStream t(&file); | ||
685 | while ( !t.atEnd()) { | ||
686 | txt+=t.readLine(); | ||
687 | } | ||
688 | editor->setText(txt); | ||
689 | editor->setEdited( FALSE); | ||
690 | edited1=FALSE; | ||
691 | edited=FALSE; | ||
692 | |||
693 | |||
694 | } | ||
695 | updateCaption( currentFileName); | ||
696 | } | ||
697 | |||
638 | void TextEdit::openFile( const QString &f ) { | 698 | void TextEdit::openFile( const QString &f ) { |
639 | qDebug("filename is "+ f); | 699 | qDebug("filename is "+ f); |
640 | QString filer; | 700 | QString filer; |
701 | QFileInfo fi( f); | ||
641 | // bFromDocView = TRUE; | 702 | // bFromDocView = TRUE; |
642 | if(f.find(".desktop",0,TRUE) != -1 && !openDesktop) { | 703 | if(f.find(".desktop",0,TRUE) != -1 && !openDesktop) { |
643 | switch ( QMessageBox::warning(this,tr("Text Editor"), | 704 | switch ( QMessageBox::warning(this,tr("Text Editor"), |
@@ -652,6 +713,9 @@ file.<BR>Open <B>.desktop</B> file or <B>linked</B> file?"), | |||
652 | filer = sf.file(); | 713 | filer = sf.file(); |
653 | break; | 714 | break; |
654 | } | 715 | } |
716 | } else if(fi.baseName().left(1) == "") { | ||
717 | currentFileName=f; | ||
718 | openDotFile(currentFileName); | ||
655 | } else { | 719 | } else { |
656 | DocLnk sf(f); | 720 | DocLnk sf(f); |
657 | filer = sf.file(); | 721 | filer = sf.file(); |
@@ -663,11 +727,12 @@ file.<BR>Open <B>.desktop</B> file or <B>linked</B> file?"), | |||
663 | nf.setType("text/plain"); | 727 | nf.setType("text/plain"); |
664 | nf.setFile(filer); | 728 | nf.setFile(filer); |
665 | currentFileName=filer; | 729 | currentFileName=filer; |
666 | QFileInfo fi( currentFileName); | 730 | |
667 | nf.setName(fi.baseName()); | 731 | nf.setName(fi.baseName()); |
732 | openFile(nf); | ||
733 | |||
668 | qDebug("openFile string "+currentFileName); | 734 | qDebug("openFile string "+currentFileName); |
669 | 735 | ||
670 | openFile(nf); | ||
671 | showEditTools(); | 736 | showEditTools(); |
672 | // Show filename in caption | 737 | // Show filename in caption |
673 | QString name = filer; | 738 | QString name = filer; |
@@ -876,7 +941,8 @@ void TextEdit::clear() { | |||
876 | } | 941 | } |
877 | 942 | ||
878 | void TextEdit::updateCaption( const QString &name ) { | 943 | void TextEdit::updateCaption( const QString &name ) { |
879 | if ( !doc ) | 944 | |
945 | if ( name.isEmpty() ) | ||
880 | setCaption( tr("Text Editor") ); | 946 | setCaption( tr("Text Editor") ); |
881 | else { | 947 | else { |
882 | QString s = name; | 948 | QString s = name; |
@@ -893,12 +959,25 @@ void TextEdit::updateCaption( const QString &name ) { | |||
893 | } | 959 | } |
894 | 960 | ||
895 | void TextEdit::setDocument(const QString& fileref) { | 961 | void TextEdit::setDocument(const QString& fileref) { |
962 | if(fileref != "Unnamed") { | ||
963 | currentFileName=fileref; | ||
964 | qDebug("setDocument"); | ||
965 | QFileInfo fi(currentFileName); | ||
966 | qDebug("basename:"+fi.baseName()+": current filenmame "+currentFileName); | ||
967 | if(fi.baseName().left(1) == "") { | ||
968 | // openDotFile(currentFileName); | ||
969 | } else { | ||
970 | qDebug("setDoc open"); | ||
896 | bFromDocView = TRUE; | 971 | bFromDocView = TRUE; |
897 | openFile(fileref); | 972 | openFile(fileref); |
898 | editor->setEdited(TRUE); | 973 | editor->setEdited(TRUE); |
899 | edited1=FALSE; | 974 | edited1=FALSE; |
900 | edited=TRUE; | 975 | edited=TRUE; |
901 | doSearchBar(); | 976 | |
977 | // doSearchBar(); | ||
978 | } | ||
979 | } | ||
980 | updateCaption( currentFileName); | ||
902 | } | 981 | } |
903 | 982 | ||
904 | void TextEdit::closeEvent( QCloseEvent *e ) { | 983 | void TextEdit::closeEvent( QCloseEvent *e ) { |
@@ -1000,3 +1079,4 @@ void TextEdit::editPasteTimeDate() { | |||
1000 | editor->paste(); | 1079 | editor->paste(); |
1001 | #endif | 1080 | #endif |
1002 | } | 1081 | } |
1082 | |||
diff --git a/core/apps/textedit/textedit.h b/core/apps/textedit/textedit.h index 4848051..a95e742 100644 --- a/core/apps/textedit/textedit.h +++ b/core/apps/textedit/textedit.h | |||
@@ -57,7 +57,7 @@ public: | |||
57 | ~TextEdit(); | 57 | ~TextEdit(); |
58 | 58 | ||
59 | QPopupMenu *font; | 59 | QPopupMenu *font; |
60 | QAction *nStart, *nFileDlgOpt, *nAdvanced, *desktopAction, *filePermAction; | 60 | QAction *nStart, *nFileDlgOpt, *nAdvanced, *desktopAction, *filePermAction, *searchBarAction; |
61 | bool edited, edited1; | 61 | bool edited, edited1; |
62 | void openFile( const QString & ); | 62 | void openFile( const QString & ); |
63 | QCopChannel * channel; | 63 | QCopChannel * channel; |
@@ -65,7 +65,7 @@ public slots: | |||
65 | void editorChanged(); | 65 | void editorChanged(); |
66 | void receive(const QCString&, const QByteArray&); | 66 | void receive(const QCString&, const QByteArray&); |
67 | protected: | 67 | protected: |
68 | bool fileIs, useAdvancedFeatures, promptExit, openDesktop, filePerms; | 68 | bool fileIs, useAdvancedFeatures, promptExit, openDesktop, filePerms, useSearchBar; |
69 | void closeEvent( QCloseEvent *e ); | 69 | void closeEvent( QCloseEvent *e ); |
70 | void doSearchBar(); | 70 | void doSearchBar(); |
71 | private slots: | 71 | private slots: |
@@ -106,8 +106,10 @@ private slots: | |||
106 | void setBold(bool y); | 106 | void setBold(bool y); |
107 | void setItalic(bool y); | 107 | void setItalic(bool y); |
108 | void setWordWrap(bool y); | 108 | void setWordWrap(bool y); |
109 | void setSearchBar(bool); | ||
109 | 110 | ||
110 | private: | 111 | private: |
112 | void openDotFile(const QString &); | ||
111 | void colorChanged( const QColor &c ); | 113 | void colorChanged( const QColor &c ); |
112 | void clear(); | 114 | void clear(); |
113 | void updateCaption( const QString &name=QString::null ); | 115 | void updateCaption( const QString &name=QString::null ); |