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
@@ -19,17 +19,17 @@
19**********************************************************************/ 19**********************************************************************/
20 20
21#include "textedit.h" 21#include "textedit.h"
22 22
23#include <qpe/qpeapplication.h> 23#include <qpe/qpeapplication.h>
24 24
25int main( int argc, char **argv ) 25int main( int argc, char **argv )
26{ 26{
27 QPEApplication a( argc, argv ); 27 QPEApplication a( argc, 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
@@ -34,41 +34,42 @@
34 34
35#include <qpe/fontdatabase.h> 35#include <qpe/fontdatabase.h>
36#include <qpe/global.h> 36#include <qpe/global.h>
37#include <qpe/fileselector.h> 37#include <qpe/fileselector.h>
38#include <qpe/applnk.h> 38#include <qpe/applnk.h>
39#include <qpe/resource.h> 39#include <qpe/resource.h>
40#include <qpe/config.h> 40#include <qpe/config.h>
41#include <qpe/qpeapplication.h> 41#include <qpe/qpeapplication.h>
42#include <qpe/qpemenubar.h> 42#include <qpe/qpemenubar.h>
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>
49#include <qaction.h> 50#include <qaction.h>
50#include <qcolordialog.h> 51#include <qcolordialog.h>
51#include <qfileinfo.h> 52#include <qfileinfo.h>
52#include <qlineedit.h> 53#include <qlineedit.h>
53#include <qmessagebox.h> 54#include <qmessagebox.h>
54#include <qobjectlist.h> 55#include <qobjectlist.h>
55#include <qpopupmenu.h> 56#include <qpopupmenu.h>
56#include <qspinbox.h> 57#include <qspinbox.h>
57#include <qtoolbutton.h> 58#include <qtoolbutton.h>
58#include <qwidgetstack.h> 59#include <qwidgetstack.h>
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
66 67
67 68
68/* XPM */ 69/* XPM */
69static char * filesave_xpm[] = { 70static char * filesave_xpm[] = {
70"16 16 78 1", 71"16 16 78 1",
71" c None", 72" c None",
72". c #343434", 73". c #343434",
73"+ c #A0A0A0", 74"+ c #A0A0A0",
74"@ c #565656", 75"@ c #565656",
@@ -162,29 +163,28 @@ static char * filesave_xpm[] = {
162" +...vEKxzLM ", 163" +...vEKxzLM ",
163" +...z]n$ ", 164" +...z]n$ ",
164" +... "}; 165" +... "};
165 166
166 167
167#if QT_VERSION < 300 168#if QT_VERSION < 300
168 169
169class QpeEditor : public QMultiLineEdit 170class QpeEditor : public QMultiLineEdit
170{ 171{
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 );
182//public slots: 182//public slots:
183 /* 183 /*
184signals: 184signals:
185 void notFound(); 185 void notFound();
186 void searchWrapped(); 186 void searchWrapped();
187 */ 187 */
188 188
189private: 189private:
190 190
@@ -215,27 +215,25 @@ void QpeEditor::find ( const QString &txt, bool caseSensitive,
215 int findCol = getString( line )->find( txt, col, caseSensitive ); 215 int findCol = getString( line )->find( txt, col, caseSensitive );
216 if ( findCol >= 0 ) { 216 if ( findCol >= 0 ) {
217 setCursorPosition( line, findCol, FALSE ); 217 setCursorPosition( line, findCol, FALSE );
218 col = findCol + txt.length(); 218 col = findCol + txt.length();
219 setCursorPosition( line, col, TRUE ); 219 setCursorPosition( line, col, TRUE );
220 220
221 //found = TRUE; 221 //found = TRUE;
222 break; 222 break;
223 } 223 }
224 line++; 224 line++;
225 col = 0; 225 col = 0;
226 } 226 }
227
228 } 227 }
229
230} 228}
231 229
232 230
233#else 231#else
234 232
235#error "Must make a QpeEditor that inherits QTextEdit" 233#error "Must make a QpeEditor that inherits QTextEdit"
236 234
237#endif 235#endif
238 236
239 237
240static const int nfontsizes = 6; 238static const int nfontsizes = 6;
241static const int fontsize[nfontsizes] = {8,10,12,14,18,24}; 239static const int fontsize[nfontsizes] = {8,10,12,14,18,24};
@@ -348,24 +346,30 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f )
348 nAdvanced->addTo( advancedMenu ); 346 nAdvanced->addTo( advancedMenu );
349 347
350 desktopAction = new QAction( tr("Always open linked file"), QString::null, 0, this, 0 ); 348 desktopAction = new QAction( tr("Always open linked file"), QString::null, 0, this, 0 );
351 connect( desktopAction, SIGNAL( toggled(bool) ), this, SLOT( doDesktop(bool) ) ); 349 connect( desktopAction, SIGNAL( toggled(bool) ), this, SLOT( doDesktop(bool) ) );
352 desktopAction->setToggleAction(TRUE); 350 desktopAction->setToggleAction(TRUE);
353 desktopAction->addTo( advancedMenu); 351 desktopAction->addTo( advancedMenu);
354 352
355 filePermAction = new QAction( tr("File Permissions"), QString::null, 0, this, 0 ); 353 filePermAction = new QAction( tr("File Permissions"), QString::null, 0, this, 0 );
356 connect( filePermAction, SIGNAL( toggled(bool) ), this, SLOT( doFilePerms(bool) ) ); 354 connect( filePermAction, SIGNAL( toggled(bool) ), this, SLOT( doFilePerms(bool) ) );
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()) );
363 367
364 mb->insertItem( tr( "File" ), file ); 368 mb->insertItem( tr( "File" ), file );
365 mb->insertItem( tr( "Edit" ), edit ); 369 mb->insertItem( tr( "Edit" ), edit );
366 mb->insertItem( tr( "View" ), font ); 370 mb->insertItem( tr( "View" ), font );
367 371
368 searchBar = new QPEToolBar(this); 372 searchBar = new QPEToolBar(this);
369 addToolBar( searchBar, "Search", QMainWindow::Top, TRUE ); 373 addToolBar( searchBar, "Search", QMainWindow::Top, TRUE );
370 374
371 searchBar->setHorizontalStretchable( TRUE ); 375 searchBar->setHorizontalStretchable( TRUE );
@@ -401,73 +405,94 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f )
401 cfg. setGroup ( "Font" ); 405 cfg. setGroup ( "Font" );
402 406
403 QFont defaultFont = editor-> font ( ); 407 QFont defaultFont = editor-> font ( );
404 408
405 QString family = cfg. readEntry ( "Family", defaultFont. family ( )); 409 QString family = cfg. readEntry ( "Family", defaultFont. family ( ));
406 int size = cfg. readNumEntry ( "Size", defaultFont. pointSize ( )); 410 int size = cfg. readNumEntry ( "Size", defaultFont. pointSize ( ));
407 int weight = cfg. readNumEntry ( "Weight", defaultFont. weight ( )); 411 int weight = cfg. readNumEntry ( "Weight", defaultFont. weight ( ));
408 bool italic = cfg. readBoolEntry ( "Italic", defaultFont. italic ( )); 412 bool italic = cfg. readBoolEntry ( "Italic", defaultFont. italic ( ));
409 413
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 );
424 433
425 bool wrap = cfg. readBoolEntry ( "Wrap", true ); 434 bool wrap = cfg. readBoolEntry ( "Wrap", true );
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
439TextEdit::~TextEdit() { 463TextEdit::~TextEdit() {
440 if( edited1 & promptExit ) 464 if( edited1 & promptExit )
441 saveAs(); 465 saveAs();
442} 466}
443 467
444void TextEdit::cleanUp() { 468void TextEdit::cleanUp() {
445 qDebug("cleanUp");// save(); 469 qDebug("cleanUp");// save();
446 470
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
465void TextEdit::accept() { 490void TextEdit::accept() {
466 if( edited1) 491 if( edited1)
467 saveAs(); 492 saveAs();
468 exit(0); 493 exit(0);
469} 494}
470 495
471void TextEdit::zoomIn() { 496void TextEdit::zoomIn() {
472 setFontSize(editor->font().pointSize()+1,FALSE); 497 setFontSize(editor->font().pointSize()+1,FALSE);
473} 498}
@@ -511,24 +536,37 @@ void TextEdit::setBold(bool y) {
511void TextEdit::setItalic(bool y) { 536void TextEdit::setItalic(bool y) {
512 QFont f = editor->font(); 537 QFont f = editor->font();
513 f.setItalic(y); 538 f.setItalic(y);
514 editor->setFont(f); 539 editor->setFont(f);
515} 540}
516 541
517void TextEdit::setWordWrap(bool y) { 542void TextEdit::setWordWrap(bool y) {
518 bool state = editor->edited(); 543 bool state = editor->edited();
519 editor->setWordWrap(y ? QMultiLineEdit::WidgetWidth : QMultiLineEdit::NoWrap ); 544 editor->setWordWrap(y ? QMultiLineEdit::WidgetWidth : QMultiLineEdit::NoWrap );
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();
526// } 564// }
527 newFile(DocLnk()); 565 newFile(DocLnk());
528} 566}
529 567
530void TextEdit::fileOpen() { 568void TextEdit::fileOpen() {
531 Config cfg("TextEdit"); 569 Config cfg("TextEdit");
532 cfg.setGroup("View"); 570 cfg.setGroup("View");
533 // bool b=FALSE; 571 // bool b=FALSE;
534 572
@@ -537,28 +575,28 @@ void TextEdit::fileOpen() {
537 QStringList text; 575 QStringList text;
538 text << "text/*"; 576 text << "text/*";
539 map.insert(tr("Text"), text ); 577 map.insert(tr("Text"), text );
540 text << "*"; 578 text << "*";
541 map.insert(tr("All"), text ); 579 map.insert(tr("All"), text );
542 QString str = OFileDialog::getOpenFileName( 2, QPEApplication::documentDir(), QString::null, map); 580 QString str = OFileDialog::getOpenFileName( 2, QPEApplication::documentDir(), QString::null, map);
543 if(!str.isEmpty() ) 581 if(!str.isEmpty() )
544 openFile( str ); 582 openFile( str );
545 583
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
556void TextEdit::slotFind() { 594void TextEdit::slotFind() {
557 FindDialog frmFind( tr("Text Editor"), this ); 595 FindDialog frmFind( tr("Text Editor"), this );
558 connect( &frmFind, SIGNAL(signalFindClicked(const QString &, bool, bool, int)), 596 connect( &frmFind, SIGNAL(signalFindClicked(const QString &, bool, bool, int)),
559 editor, SLOT(slotDoFind( const QString&,bool,bool))); 597 editor, SLOT(slotDoFind( const QString&,bool,bool)));
560 598
561 //case sensitive, backwards, [category] 599 //case sensitive, backwards, [category]
562 600
563 connect( editor, SIGNAL(notFound()), 601 connect( editor, SIGNAL(notFound()),
564 &frmFind, SLOT(slotNotFound()) ); 602 &frmFind, SLOT(slotNotFound()) );
@@ -589,94 +627,121 @@ void TextEdit::editCopy() {
589} 627}
590 628
591void TextEdit::editPaste() { 629void TextEdit::editPaste() {
592#ifndef QT_NO_CLIPBOARD 630#ifndef QT_NO_CLIPBOARD
593 editor->paste(); 631 editor->paste();
594#endif 632#endif
595} 633}
596 634
597void TextEdit::editFind() { 635void 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
607void TextEdit::findNext() { 645void TextEdit::findNext() {
608 editor->find( searchEdit->text(), FALSE, FALSE ); 646 editor->find( searchEdit->text(), FALSE, FALSE );
609 647
610} 648}
611 649
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() {
622 editor->find( searchEdit->text(), FALSE, FALSE ); 660 editor->find( searchEdit->text(), FALSE, FALSE );
623} 661}
624 662
625void TextEdit::newFile( const DocLnk &f ) { 663void TextEdit::newFile( const DocLnk &f ) {
626 DocLnk nf = f; 664 DocLnk nf = f;
627 nf.setType("text/plain"); 665 nf.setType("text/plain");
628 clear(); 666 clear();
629 setWState (WState_Reserved1 ); 667 setWState (WState_Reserved1 );
630 editor->setFocus(); 668 editor->setFocus();
631 doc = new DocLnk(nf); 669 doc = new DocLnk(nf);
632 currentFileName = "Unnamed"; 670 currentFileName = "Unnamed";
633 qDebug("newFile "+currentFileName); 671 qDebug("newFile "+currentFileName);
634 updateCaption( currentFileName); 672 updateCaption( currentFileName);
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;
650 case 1: 711 case 1:
651 DocLnk sf(f); 712 DocLnk sf(f);
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;
674 int sep = name.findRev( '/' ); 739 int sep = name.findRev( '/' );
675 if ( sep > 0 ) 740 if ( sep > 0 )
676 name = name.mid( sep+1 ); 741 name = name.mid( sep+1 );
677 updateCaption( name ); 742 updateCaption( name );
678} 743}
679 744
680void TextEdit::openFile( const DocLnk &f ) { 745void TextEdit::openFile( const DocLnk &f ) {
681// clear(); 746// clear();
682// bFromDocView = TRUE; 747// bFromDocView = TRUE;
@@ -699,25 +764,25 @@ void TextEdit::openFile( const DocLnk &f ) {
699 764
700 doc->setName(currentFileName); 765 doc->setName(currentFileName);
701 updateCaption(); 766 updateCaption();
702} 767}
703 768
704void TextEdit::showEditTools() { 769void TextEdit::showEditTools() {
705// if ( !doc ) 770// if ( !doc )
706// close(); 771// close();
707// clear(); 772// clear();
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}
715 780
716/*! 781/*!
717 unprompted save */ 782 unprompted save */
718bool TextEdit::save() { 783bool TextEdit::save() {
719 QString file = doc->file(); 784 QString file = doc->file();
720 qDebug("saver file "+file); 785 qDebug("saver file "+file);
721 QString name= doc->name(); 786 QString name= doc->name();
722 qDebug("File named "+name); 787 qDebug("File named "+name);
723 QString rt = editor->text(); 788 QString rt = editor->text();
@@ -867,47 +932,61 @@ bool TextEdit::saveAs() {
867 } 932 }
868 qDebug("returning false"); 933 qDebug("returning false");
869 return false; 934 return false;
870} //end saveAs 935} //end saveAs
871 936
872void TextEdit::clear() { 937void TextEdit::clear() {
873 delete doc; 938 delete doc;
874 doc = 0; 939 doc = 0;
875 editor->clear(); 940 editor->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 ) {
905 bFromDocView = FALSE; 984 bFromDocView = FALSE;
906 e->accept(); 985 e->accept();
907} 986}
908 987
909void TextEdit::changeFont() { 988void TextEdit::changeFont() {
910 QDialog *d = new QDialog ( this, "FontDialog", true ); 989 QDialog *d = new QDialog ( this, "FontDialog", true );
911 d-> setCaption ( tr( "Choose font" )); 990 d-> setCaption ( tr( "Choose font" ));
912 QBoxLayout *lay = new QVBoxLayout ( d ); 991 QBoxLayout *lay = new QVBoxLayout ( d );
913 OFontSelector *ofs = new OFontSelector ( true, d ); 992 OFontSelector *ofs = new OFontSelector ( true, d );
@@ -991,12 +1070,13 @@ void TextEdit::doFilePerms(bool b) {
991 cfg.setGroup ( "View" ); 1070 cfg.setGroup ( "View" );
992 cfg.writeEntry ( "FilePermissions", b); 1071 cfg.writeEntry ( "FilePermissions", b);
993} 1072}
994 1073
995void TextEdit::editPasteTimeDate() { 1074void TextEdit::editPasteTimeDate() {
996#ifndef QT_NO_CLIPBOARD 1075#ifndef QT_NO_CLIPBOARD
997 QClipboard *cb = QApplication::clipboard(); 1076 QClipboard *cb = QApplication::clipboard();
998 QDateTime dt = QDateTime::currentDateTime(); 1077 QDateTime dt = QDateTime::currentDateTime();
999 cb->setText( dt.toString()); 1078 cb->setText( dt.toString());
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
@@ -48,33 +48,33 @@ class FileSelector;
48class QpeEditor; 48class QpeEditor;
49class QPopupMenu; 49class QPopupMenu;
50 50
51class TextEdit : public QMainWindow 51class TextEdit : public QMainWindow
52{ 52{
53 Q_OBJECT 53 Q_OBJECT
54 54
55public: 55public:
56 TextEdit( QWidget *parent = 0, const char *name = 0, WFlags f = 0 ); 56 TextEdit( QWidget *parent = 0, const char *name = 0, WFlags f = 0 );
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;
64public slots: 64public 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:
72 void editPasteTimeDate(); 72 void editPasteTimeDate();
73 void doPrompt(bool); 73 void doPrompt(bool);
74 void doDesktop(bool); 74 void doDesktop(bool);
75 void doFilePerms(bool); 75 void doFilePerms(bool);
76 void doAbout(); 76 void doAbout();
77 void setDocument(const QString&); 77 void setDocument(const QString&);
78 void changeFont(); 78 void changeFont();
79 void fileNew(); 79 void fileNew();
80 void fileRevert(); 80 void fileRevert();
@@ -97,26 +97,28 @@ private slots:
97 void search(); 97 void search();
98 void accept(); 98 void accept();
99 99
100 void newFile( const DocLnk & ); 100 void newFile( const DocLnk & );
101 void openFile( const DocLnk & ); 101 void openFile( const DocLnk & );
102 void showEditTools(); 102 void showEditTools();
103 103
104 void zoomIn(); 104 void zoomIn();
105 void zoomOut(); 105 void zoomOut();
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 );
114 void setFontSize(int sz, bool round_down_not_up); 116 void setFontSize(int sz, bool round_down_not_up);
115 117
116private: 118private:
117// fileSaver *fileSaveDlg; 119// fileSaver *fileSaveDlg;
118// fileBrowser *browseForFiles; 120// fileBrowser *browseForFiles;
119 QpeEditor* editor; 121 QpeEditor* editor;
120 QToolBar *menu, *editBar, *searchBar; 122 QToolBar *menu, *editBar, *searchBar;
121 QPopupMenu *advancedMenu; 123 QPopupMenu *advancedMenu;
122 QLineEdit *searchEdit; 124 QLineEdit *searchEdit;