summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2002-11-09 20:52:24 (UTC)
committer llornkcor <llornkcor>2002-11-09 20:52:24 (UTC)
commitc1f59c3404e9c0312e3d0418d5286b12d2e98d92 (patch) (unidiff)
treea7700be7ae3af4656c365c664e4db9822fdf7e3a
parentb9cd525928755b78fe5041c4ea9d674a457dfa0d (diff)
downloadopie-c1f59c3404e9c0312e3d0418d5286b12d2e98d92.zip
opie-c1f59c3404e9c0312e3d0418d5286b12d2e98d92.tar.gz
opie-c1f59c3404e9c0312e3d0418d5286b12d2e98d92.tar.bz2
fixes and options. commandline now works a bit more sane, and makes new file if not found
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/apps/textedit/main.cpp4
-rw-r--r--core/apps/textedit/textedit.cpp214
-rw-r--r--core/apps/textedit/textedit.h6
3 files changed, 153 insertions, 71 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,11 +172,10 @@ class QpeEditor : public QMultiLineEdit
171 // Q_OBJECT 172 // Q_OBJECT
172public: 173public:
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}
179 179
180 void find( const QString &txt, bool caseSensitive, 180 void find( const QString &txt, bool caseSensitive,
181 bool backwards ); 181 bool backwards );
@@ -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 );
420 424 useSearchBar = cfg.readBoolEntry ( "SearchBar", false );
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,13 +435,28 @@ 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
429 if(cfg.readEntry("startNew","TRUE") == "TRUE") { 438 if( qApp->argc() > 0) {
430 nStart->setOn(TRUE); 439 currentFileName=qApp->argv()[1];
431 fileNew(); 440// qDebug("<<<<<<<<<<<<<<<<<<<<<<<< "+currentFileName);
432 } else { 441 QFileInfo fi(currentFileName);
433 fileOpen(); 442
434 } 443 if(fi.baseName().left(1) == "") {
435 444 openDotFile(currentFileName);
445 } else {
446
447 nStart->setOn(TRUE);
448 openFile(currentFileName);
449 }
450 } else
451 if(cfg.readEntry("startNew","TRUE") == "TRUE") {
452
453 nStart->setOn(TRUE);
454 fileNew();
455 } else {
456
457 fileOpen();
458 }
459
436 viewSelection = cfg.readNumEntry( "FileView", 0 ); 460 viewSelection = cfg.readNumEntry( "FileView", 0 );
437} 461}
438 462
@@ -447,18 +471,19 @@ void TextEdit::cleanUp() {
447 Config cfg ( "TextEdit" ); 471 Config cfg ( "TextEdit" );
448 cfg. setGroup ( "Font" ); 472 cfg. setGroup ( "Font" );
449 QFont f = editor->font(); 473 QFont f = editor->font();
450 cfg. writeEntry ( "Family", f. family ( )); 474 cfg.writeEntry ( "Family", f. family ( ));
451 cfg. writeEntry ( "Size", f. pointSize ( )); 475 cfg.writeEntry ( "Size", f. pointSize ( ));
452 cfg. writeEntry ( "Weight", f. weight ( )); 476 cfg.writeEntry ( "Weight", f. weight ( ));
453 cfg. writeEntry ( "Italic", f. italic ( )); 477 cfg.writeEntry ( "Italic", f. italic ( ));
454 478
455 cfg. setGroup ( "View" ); 479 cfg.setGroup ( "View" );
456 cfg. writeEntry ( "Wrap", editor-> wordWrap ( ) == QMultiLineEdit::WidgetWidth ); 480 cfg.writeEntry ( "Wrap", editor-> wordWrap ( ) == QMultiLineEdit::WidgetWidth );
457 cfg. writeEntry ( "FileView", viewSelection ); 481 cfg.writeEntry ( "FileView", viewSelection );
458 482
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
548void 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
523void TextEdit::fileNew() { 561void TextEdit::fileNew() {
524// if( !bFromDocView ) { 562// if( !bFromDocView ) {
525// saveAs(); 563// saveAs();
@@ -546,10 +584,10 @@ void TextEdit::fileOpen() {
546} 584}
547 585
548void TextEdit::doSearchBar() { 586void 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() {
612void TextEdit::findClose() { 650void 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
621void TextEdit::search() { 659void TextEdit::search() {
@@ -635,15 +673,38 @@ void TextEdit::newFile( const DocLnk &f ) {
635// editor->setEdited( FALSE); 673// editor->setEdited( FALSE);
636} 674}
637 675
676void 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
638void TextEdit::openFile( const QString &f ) { 698void 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"),
644 tr("Text Editor has detected<BR>you selected a <B>.desktop</B> 705 tr("Text Editor has detected<BR>you selected a <B>.desktop</B>
645file.<BR>Open <B>.desktop</B> file or <B>linked</B> file?"), 706file.<BR>Open <B>.desktop</B> file or <B>linked</B> file?"),
646 tr(".desktop File"),tr("Linked Document"),0,1,1) ) { 707 tr(".desktop File"),tr("Linked Document"),0,1,1) ) {
647 case 0: 708 case 0:
648 filer = f; 709 filer = f;
649 break; 710 break;
@@ -652,22 +713,26 @@ 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();
658 if(filer.right(1) == "/") 722 if(filer.right(1) == "/")
659 filer = f; 723 filer = f;
660 } 724 }
661 725
662 DocLnk nf; 726 DocLnk nf;
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);
667 nf.setName(fi.baseName());
668 qDebug("openFile string "+currentFileName);
669 730
670 openFile(nf); 731 nf.setName(fi.baseName());
732 openFile(nf);
733
734 qDebug("openFile string "+currentFileName);
735
671 showEditTools(); 736 showEditTools();
672 // Show filename in caption 737 // Show filename in caption
673 QString name = filer; 738 QString name = filer;
@@ -708,7 +773,7 @@ void TextEdit::showEditTools() {
708 menu->show(); 773 menu->show();
709 editBar->show(); 774 editBar->show();
710 if ( searchVisible ) 775 if ( searchVisible )
711 searchBar->show(); 776 searchBar->show();
712// updateCaption(); 777// updateCaption();
713 setWState (WState_Reserved1 ); 778 setWState (WState_Reserved1 );
714} 779}
@@ -876,29 +941,43 @@ void TextEdit::clear() {
876} 941}
877 942
878void TextEdit::updateCaption( const QString &name ) { 943void TextEdit::updateCaption( const QString &name ) {
879 if ( !doc ) 944
880 setCaption( tr("Text Editor") ); 945 if ( name.isEmpty() )
946 setCaption( tr("Text Editor") );
881 else { 947 else {
882 QString s = name; 948 QString s = name;
883 if ( s.isNull() ) 949 if ( s.isNull() )
884 s = doc->name(); 950 s = doc->name();
885 if ( s.isEmpty() ) { 951 if ( s.isEmpty() ) {
886 s = tr( "Unnamed" ); 952 s = tr( "Unnamed" );
887 currentFileName=s; 953 currentFileName=s;
888 } 954 }
889 if(s.left(1) == "/") 955 if(s.left(1) == "/")
890 s = s.right(s.length()-1); 956 s = s.right(s.length()-1);
891 setCaption( s + " - " + tr("Text Editor") ); 957 setCaption( s + " - " + tr("Text Editor") );
892 } 958 }
893} 959}
894 960
895void TextEdit::setDocument(const QString& fileref) { 961void TextEdit::setDocument(const QString& fileref) {
896 bFromDocView = TRUE; 962 if(fileref != "Unnamed") {
897 openFile(fileref); 963 currentFileName=fileref;
898 editor->setEdited(TRUE); 964 qDebug("setDocument");
899 edited1=FALSE; 965 QFileInfo fi(currentFileName);
900 edited=TRUE; 966 qDebug("basename:"+fi.baseName()+": current filenmame "+currentFileName);
901 doSearchBar(); 967 if(fi.baseName().left(1) == "") {
968// openDotFile(currentFileName);
969 } else {
970 qDebug("setDoc open");
971 bFromDocView = TRUE;
972 openFile(fileref);
973 editor->setEdited(TRUE);
974 edited1=FALSE;
975 edited=TRUE;
976
977// doSearchBar();
978 }
979 }
980 updateCaption( currentFileName);
902} 981}
903 982
904void TextEdit::closeEvent( QCloseEvent *e ) { 983void 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();
66void receive(const QCString&, const QByteArray&); 66void receive(const QCString&, const QByteArray&);
67protected: 67protected:
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();
71private slots: 71private 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
110private: 111private:
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 );