summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/apps/textedit/textedit.cpp15
1 files changed, 7 insertions, 8 deletions
diff --git a/core/apps/textedit/textedit.cpp b/core/apps/textedit/textedit.cpp
index 834bd8c..18402d4 100644
--- a/core/apps/textedit/textedit.cpp
+++ b/core/apps/textedit/textedit.cpp
@@ -312,566 +312,565 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f )
312 312
313 zin = new QAction( tr("Zoom in"), QString::null, 0, this, 0 ); 313 zin = new QAction( tr("Zoom in"), QString::null, 0, this, 0 );
314 connect( zin, SIGNAL( activated() ), this, SLOT( zoomIn() ) ); 314 connect( zin, SIGNAL( activated() ), this, SLOT( zoomIn() ) );
315 zin->addTo( font ); 315 zin->addTo( font );
316 316
317 zout = new QAction( tr("Zoom out"), QString::null, 0, this, 0 ); 317 zout = new QAction( tr("Zoom out"), QString::null, 0, this, 0 );
318 connect( zout, SIGNAL( activated() ), this, SLOT( zoomOut() ) ); 318 connect( zout, SIGNAL( activated() ), this, SLOT( zoomOut() ) );
319 zout->addTo( font ); 319 zout->addTo( font );
320 320
321 font->insertSeparator(); 321 font->insertSeparator();
322 322
323#if 0 323#if 0
324 QAction *ba = new QAction( tr("Bold"), QString::null, 0, this, 0 ); 324 QAction *ba = new QAction( tr("Bold"), QString::null, 0, this, 0 );
325 connect( ba, SIGNAL( toggled(bool) ), this, SLOT( setBold(bool) ) ); 325 connect( ba, SIGNAL( toggled(bool) ), this, SLOT( setBold(bool) ) );
326 ba->setToggleAction(TRUE); 326 ba->setToggleAction(TRUE);
327 ba->addTo( font ); 327 ba->addTo( font );
328 328
329 QAction *ia = new QAction( tr("Italic"), QString::null, 0, this, 0 ); 329 QAction *ia = new QAction( tr("Italic"), QString::null, 0, this, 0 );
330 connect( ia, SIGNAL( toggled(bool) ), this, SLOT( setItalic(bool) ) ); 330 connect( ia, SIGNAL( toggled(bool) ), this, SLOT( setItalic(bool) ) );
331 ia->setToggleAction(TRUE); 331 ia->setToggleAction(TRUE);
332 ia->addTo( font ); 332 ia->addTo( font );
333 333
334 ba->setOn(defb); 334 ba->setOn(defb);
335 ia->setOn(defi); 335 ia->setOn(defi);
336 336
337 font->insertSeparator(); 337 font->insertSeparator();
338#endif 338#endif
339 339
340 QAction *wa = new QAction( tr("Wrap lines"), QString::null, 0, this, 0 ); 340 QAction *wa = new QAction( tr("Wrap lines"), QString::null, 0, this, 0 );
341 connect( wa, SIGNAL( toggled(bool) ), this, SLOT( setWordWrap(bool) ) ); 341 connect( wa, SIGNAL( toggled(bool) ), this, SLOT( setWordWrap(bool) ) );
342 wa->setToggleAction(TRUE); 342 wa->setToggleAction(TRUE);
343 wa->addTo( font ); 343 wa->addTo( font );
344 344
345 font->insertSeparator(); 345 font->insertSeparator();
346 font->insertItem(tr("Font"), this, SLOT(changeFont()) ); 346 font->insertItem(tr("Font"), this, SLOT(changeFont()) );
347 347
348 font->insertSeparator(); 348 font->insertSeparator();
349 nStart = new QAction( tr("Start with new file"), QString::null, 0, this, 0 ); 349 nStart = new QAction( tr("Start with new file"), QString::null, 0, this, 0 );
350 connect( nStart, SIGNAL( toggled(bool) ), this, SLOT( changeStartConfig(bool) ) ); 350 connect( nStart, SIGNAL( toggled(bool) ), this, SLOT( changeStartConfig(bool) ) );
351 nStart->setToggleAction(TRUE); 351 nStart->setToggleAction(TRUE);
352 nStart->addTo( font ); 352 nStart->addTo( font );
353 353
354 mb->insertItem( tr( "File" ), file ); 354 mb->insertItem( tr( "File" ), file );
355 mb->insertItem( tr( "Edit" ), edit ); 355 mb->insertItem( tr( "Edit" ), edit );
356 mb->insertItem( tr( "View" ), font ); 356 mb->insertItem( tr( "View" ), font );
357 357
358 searchBar = new QPEToolBar(this); 358 searchBar = new QPEToolBar(this);
359 addToolBar( searchBar, "Search", QMainWindow::Top, TRUE ); 359 addToolBar( searchBar, "Search", QMainWindow::Top, TRUE );
360 360
361 searchBar->setHorizontalStretchable( TRUE ); 361 searchBar->setHorizontalStretchable( TRUE );
362 362
363 searchEdit = new QLineEdit( searchBar, "searchEdit" ); 363 searchEdit = new QLineEdit( searchBar, "searchEdit" );
364 searchBar->setStretchableWidget( searchEdit ); 364 searchBar->setStretchableWidget( searchEdit );
365 connect( searchEdit, SIGNAL( textChanged( const QString & ) ), 365 connect( searchEdit, SIGNAL( textChanged( const QString & ) ),
366 this, SLOT( search() ) ); 366 this, SLOT( search() ) );
367 367
368 a = new QAction( tr( "Find Next" ), Resource::loadPixmap( "next" ), QString::null, 0, this, 0 ); 368 a = new QAction( tr( "Find Next" ), Resource::loadPixmap( "next" ), QString::null, 0, this, 0 );
369 connect( a, SIGNAL( activated() ), this, SLOT( findNext() ) ); 369 connect( a, SIGNAL( activated() ), this, SLOT( findNext() ) );
370 a->addTo( searchBar ); 370 a->addTo( searchBar );
371 a->addTo( edit ); 371 a->addTo( edit );
372 372
373 a = new QAction( tr( "Close Find" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 ); 373 a = new QAction( tr( "Close Find" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 );
374 connect( a, SIGNAL( activated() ), this, SLOT( findClose() ) ); 374 connect( a, SIGNAL( activated() ), this, SLOT( findClose() ) );
375 a->addTo( searchBar ); 375 a->addTo( searchBar );
376 376
377 edit->insertSeparator(); 377 edit->insertSeparator();
378 a = new QAction( tr( "Delete" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 ); 378 a = new QAction( tr( "Delete" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 );
379 connect( a, SIGNAL( activated() ), this, SLOT( editDelete() ) ); 379 connect( a, SIGNAL( activated() ), this, SLOT( editDelete() ) );
380 a->addTo( edit ); 380 a->addTo( edit );
381 381
382 searchBar->hide(); 382 searchBar->hide();
383 383
384 editor = new QpeEditor( this ); 384 editor = new QpeEditor( this );
385 setCentralWidget( editor ); 385 setCentralWidget( editor );
386 editor->setFrameStyle( QFrame::Panel | QFrame::Sunken ); 386 editor->setFrameStyle( QFrame::Panel | QFrame::Sunken );
387 connect( editor, SIGNAL( textChanged() ), this, SLOT( editorChanged() ) ); 387 connect( editor, SIGNAL( textChanged() ), this, SLOT( editorChanged() ) );
388 388
389// resize( 200, 300 ); 389// resize( 200, 300 );
390 390
391// setFontSize(defsize,TRUE); 391// setFontSize(defsize,TRUE);
392 FontDatabase fdb; 392 FontDatabase fdb;
393 QFont defaultFont=editor->font(); 393 QFont defaultFont=editor->font();
394 QFontInfo fontInfo(defaultFont); 394 QFontInfo fontInfo(defaultFont);
395 395
396 cfg.setGroup("Font"); 396 cfg.setGroup("Font");
397 QString family = cfg.readEntry("Family", fontInfo.family()); 397 QString family = cfg.readEntry("Family", fontInfo.family());
398 QString style = cfg.readEntry("Style", fdb.styleString(defaultFont)); 398 QString style = cfg.readEntry("Style", fdb.styleString(defaultFont));
399 int i_size = cfg.readNumEntry("Size", fontInfo.pointSize()/10); 399 int i_size = cfg.readNumEntry("Size", fontInfo.pointSize()/10);
400 QString charSet = cfg.readEntry("CharSet", QFont::encodingName( fontInfo.charSet()) ); 400 QString charSet = cfg.readEntry("CharSet", QFont::encodingName( fontInfo.charSet()) );
401 401
402 defaultFont = fdb.font(family,style,i_size,charSet); 402 defaultFont = fdb.font(family,style,i_size,charSet);
403 editor->setFont( defaultFont); 403 editor->setFont( defaultFont);
404 404
405 wa->setOn(wrap); 405 wa->setOn(wrap);
406 updateCaption(); 406 updateCaption();
407 407
408 cfg.setGroup("View"); 408 cfg.setGroup("View");
409 if(cfg.readEntry("startNew","TRUE") == "TRUE") { 409 if(cfg.readEntry("startNew","TRUE") == "TRUE") {
410 nStart->setOn(TRUE); 410 nStart->setOn(TRUE);
411 fileNew(); 411 fileNew();
412 } else { 412 } else {
413 fileOpen(); 413 fileOpen();
414 } 414 }
415 viewSelection = cfg.readNumEntry( "FileView", 0 ); 415 viewSelection = cfg.readNumEntry( "FileView", 0 );
416} 416}
417 417
418void TextEdit::cleanUp() 418void TextEdit::cleanUp()
419{ 419{
420// save(); 420// save();
421 Config cfg("TextEdit"); 421 Config cfg("TextEdit");
422 cfg.setGroup("View"); 422 cfg.setGroup("View");
423 QFont f = editor->font(); 423 QFont f = editor->font();
424 cfg.writeEntry("FontSize",f.pointSize()); 424 cfg.writeEntry("FontSize",f.pointSize());
425 cfg.writeEntry("Bold",f.bold()); 425 cfg.writeEntry("Bold",f.bold());
426 cfg.writeEntry("Italic",f.italic()); 426 cfg.writeEntry("Italic",f.italic());
427 cfg.writeEntry("Wrap",editor->wordWrap() == QMultiLineEdit::WidgetWidth); 427 cfg.writeEntry("Wrap",editor->wordWrap() == QMultiLineEdit::WidgetWidth);
428 cfg.writeEntry( "FileView", viewSelection ); 428 cfg.writeEntry( "FileView", viewSelection );
429 429
430} 430}
431 431
432TextEdit::~TextEdit() 432TextEdit::~TextEdit()
433{ 433{
434} 434}
435 435
436void TextEdit::zoomIn() 436void TextEdit::zoomIn()
437{ 437{
438 setFontSize(editor->font().pointSize()+1,FALSE); 438 setFontSize(editor->font().pointSize()+1,FALSE);
439} 439}
440 440
441void TextEdit::zoomOut() 441void TextEdit::zoomOut()
442{ 442{
443 setFontSize(editor->font().pointSize()-1,TRUE); 443 setFontSize(editor->font().pointSize()-1,TRUE);
444} 444}
445 445
446 446
447void TextEdit::setFontSize(int sz, bool round_down_not_up) 447void TextEdit::setFontSize(int sz, bool round_down_not_up)
448{ 448{
449 int s=10; 449 int s=10;
450 for (int i=0; i<nfontsizes; i++) { 450 for (int i=0; i<nfontsizes; i++) {
451 if ( fontsize[i] == sz ) { 451 if ( fontsize[i] == sz ) {
452 s = sz; 452 s = sz;
453 break; 453 break;
454 } else if ( round_down_not_up ) { 454 } else if ( round_down_not_up ) {
455 if ( fontsize[i] < sz ) 455 if ( fontsize[i] < sz )
456 s = fontsize[i]; 456 s = fontsize[i];
457 } else { 457 } else {
458 if ( fontsize[i] > sz ) { 458 if ( fontsize[i] > sz ) {
459 s = fontsize[i]; 459 s = fontsize[i];
460 break; 460 break;
461 } 461 }
462 } 462 }
463 } 463 }
464 464
465 QFont f = editor->font(); 465 QFont f = editor->font();
466 f.setPointSize(s); 466 f.setPointSize(s);
467 editor->setFont(f); 467 editor->setFont(f);
468 468
469 zin->setEnabled(s != fontsize[nfontsizes-1]); 469 zin->setEnabled(s != fontsize[nfontsizes-1]);
470 zout->setEnabled(s != fontsize[0]); 470 zout->setEnabled(s != fontsize[0]);
471} 471}
472 472
473void TextEdit::setBold(bool y) 473void TextEdit::setBold(bool y)
474{ 474{
475 QFont f = editor->font(); 475 QFont f = editor->font();
476 f.setBold(y); 476 f.setBold(y);
477 editor->setFont(f); 477 editor->setFont(f);
478} 478}
479 479
480void TextEdit::setItalic(bool y) 480void TextEdit::setItalic(bool y)
481{ 481{
482 QFont f = editor->font(); 482 QFont f = editor->font();
483 f.setItalic(y); 483 f.setItalic(y);
484 editor->setFont(f); 484 editor->setFont(f);
485} 485}
486 486
487void TextEdit::setWordWrap(bool y) 487void TextEdit::setWordWrap(bool y)
488{ 488{
489 bool state = editor->edited(); 489 bool state = editor->edited();
490 editor->setWordWrap(y ? QMultiLineEdit::WidgetWidth : QMultiLineEdit::NoWrap ); 490 editor->setWordWrap(y ? QMultiLineEdit::WidgetWidth : QMultiLineEdit::NoWrap );
491 editor->setEdited( state ); 491 editor->setEdited( state );
492} 492}
493 493
494void TextEdit::fileNew() 494void TextEdit::fileNew()
495{ 495{
496// if( !bFromDocView ) { 496// if( !bFromDocView ) {
497// saveAs(); 497// saveAs();
498// } 498// }
499 newFile(DocLnk()); 499 newFile(DocLnk());
500} 500}
501 501
502void TextEdit::fileOpen() 502void TextEdit::fileOpen()
503{ 503{
504 // OFileSelector *fileSelector;
505 // fileSelector = new OFileSelector( this, 1,1,"/","", "text/*");
506 //fileSelector->showMaximized();
507 QString str = OFileDialog::getOpenFileName(1,"/","", QStringList() , this ); 504 QString str = OFileDialog::getOpenFileName(1,"/","", QStringList() , this );
508 if(!str.isEmpty() ) 505 if(!str.isEmpty() )
509 openFile( str ); 506 openFile( str );
510// browseForFiles = new fileBrowser(this,tr("Open File"),TRUE,0, "text/*"); // 507// browseForFiles = new fileBrowser(this,tr("Open File"),TRUE,0, "text/*"); //
511// browseForFiles->setFileView( viewSelection ); 508// browseForFiles->setFileView( viewSelection );
512// browseForFiles->showMaximized(); 509// browseForFiles->showMaximized();
513// // if( result != -1 ) 510// // if( result != -1 )
514 511
515// if( browseForFiles->exec() != -1 ) { 512// if( browseForFiles->exec() != -1 ) {
516// QString selFile = browseForFiles->selectedFileName; 513// QString selFile = browseForFiles->selectedFileName;
517// QStringList fileList = browseForFiles->fileList; 514// QStringList fileList = browseForFiles->fileList;
518// qDebug(selFile); 515// qDebug(selFile);
519// QStringList::ConstIterator f; 516// QStringList::ConstIterator f;
520// QString fileTemp; 517// QString fileTemp;
521// for ( f = fileList.begin(); f != fileList.end(); f++ ) { 518// for ( f = fileList.begin(); f != fileList.end(); f++ ) {
522// fileTemp = *f; 519// fileTemp = *f;
523// fileTemp.right( fileTemp.length()-5); 520// fileTemp.right( fileTemp.length()-5);
524// QString fileName = fileTemp; 521// QString fileName = fileTemp;
525// if( fileName != "Unnamed" || fileName != "Empty Text" ) { 522// if( fileName != "Unnamed" || fileName != "Empty Text" ) {
526// currentFileName = fileName; 523// currentFileName = fileName;
527// qDebug("please open "+currentFileName); 524// qDebug("please open "+currentFileName);
528// openFile(str ); 525// openFile(str );
529// } 526// }
530// } 527// }
531// viewSelection = browseForFiles->SelectionCombo->currentItem(); 528// viewSelection = browseForFiles->SelectionCombo->currentItem();
532// } 529// }
533// delete browseForFiles; 530// delete browseForFiles;
534// editor->setEdited( FALSE); 531// editor->setEdited( FALSE);
535// edited1=FALSE; 532// edited1=FALSE;
536// edited=FALSE; 533// edited=FALSE;
537// if(caption().left(1)=="*") 534// if(caption().left(1)=="*")
538// setCaption(caption().right(caption().length()-1)); 535// setCaption(caption().right(caption().length()-1));
539// doSearchBar(); 536// doSearchBar();
540} 537}
541 538
542void TextEdit::doSearchBar() 539void TextEdit::doSearchBar()
543{ 540{
544 Config cfg("TextEdit"); 541 Config cfg("TextEdit");
545 cfg.setGroup("View"); 542 cfg.setGroup("View");
546 if(cfg.readEntry("SearchBar","Closed") != "Opened") 543 if(cfg.readEntry("SearchBar","Closed") != "Opened")
547 searchBar->hide(); 544 searchBar->hide();
548} 545}
549 546
550#if 0 547#if 0
551void TextEdit::slotFind() 548void TextEdit::slotFind()
552{ 549{
553 FindDialog frmFind( tr("Text Editor"), this ); 550 FindDialog frmFind( tr("Text Editor"), this );
554 connect( &frmFind, SIGNAL(signalFindClicked(const QString &, bool, bool, int)), 551 connect( &frmFind, SIGNAL(signalFindClicked(const QString &, bool, bool, int)),
555 editor, SLOT(slotDoFind( const QString&,bool,bool))); 552 editor, SLOT(slotDoFind( const QString&,bool,bool)));
556 553
557 //case sensitive, backwards, [category] 554 //case sensitive, backwards, [category]
558 555
559 connect( editor, SIGNAL(notFound()), 556 connect( editor, SIGNAL(notFound()),
560 &frmFind, SLOT(slotNotFound()) ); 557 &frmFind, SLOT(slotNotFound()) );
561 connect( editor, SIGNAL(searchWrapped()), 558 connect( editor, SIGNAL(searchWrapped()),
562 &frmFind, SLOT(slotWrapAround()) ); 559 &frmFind, SLOT(slotWrapAround()) );
563 560
564 frmFind.exec(); 561 frmFind.exec();
565 562
566 563
567} 564}
568#endif 565#endif
569 566
570void TextEdit::fileRevert() 567void TextEdit::fileRevert()
571{ 568{
572 clear(); 569 clear();
573 fileOpen(); 570 fileOpen();
574} 571}
575 572
576void TextEdit::editCut() 573void TextEdit::editCut()
577{ 574{
578#ifndef QT_NO_CLIPBOARD 575#ifndef QT_NO_CLIPBOARD
579 editor->cut(); 576 editor->cut();
580#endif 577#endif
581} 578}
582 579
583void TextEdit::editCopy() 580void TextEdit::editCopy()
584{ 581{
585#ifndef QT_NO_CLIPBOARD 582#ifndef QT_NO_CLIPBOARD
586 editor->copy(); 583 editor->copy();
587#endif 584#endif
588} 585}
589 586
590void TextEdit::editPaste() 587void TextEdit::editPaste()
591{ 588{
592#ifndef QT_NO_CLIPBOARD 589#ifndef QT_NO_CLIPBOARD
593 editor->paste(); 590 editor->paste();
594#endif 591#endif
595} 592}
596 593
597void TextEdit::editFind() 594void TextEdit::editFind()
598{ 595{
599 searchBar->show(); 596 searchBar->show();
600 searchVisible = TRUE; 597 searchVisible = TRUE;
601 searchEdit->setFocus(); 598 searchEdit->setFocus();
602 Config cfg("TextEdit"); 599 Config cfg("TextEdit");
603 cfg.setGroup("View"); 600 cfg.setGroup("View");
604 cfg.writeEntry("SearchBar","Opened"); 601 cfg.writeEntry("SearchBar","Opened");
605 602
606} 603}
607 604
608void TextEdit::findNext() 605void TextEdit::findNext()
609{ 606{
610 editor->find( searchEdit->text(), FALSE, FALSE ); 607 editor->find( searchEdit->text(), FALSE, FALSE );
611 608
612} 609}
613 610
614void TextEdit::findClose() 611void TextEdit::findClose()
615{ 612{
616 searchVisible = FALSE; 613 searchVisible = FALSE;
617 searchBar->hide(); 614 searchBar->hide();
618 Config cfg("TextEdit"); 615 Config cfg("TextEdit");
619 cfg.setGroup("View"); 616 cfg.setGroup("View");
620 cfg.writeEntry("SearchBar","Closed"); 617 cfg.writeEntry("SearchBar","Closed");
621 cfg.write(); 618 cfg.write();
622} 619}
623 620
624void TextEdit::search() 621void TextEdit::search()
625{ 622{
626 editor->find( searchEdit->text(), FALSE, FALSE ); 623 editor->find( searchEdit->text(), FALSE, FALSE );
627} 624}
628 625
629void TextEdit::newFile( const DocLnk &f ) 626void TextEdit::newFile( const DocLnk &f )
630{ 627{
631 DocLnk nf = f; 628 DocLnk nf = f;
632 nf.setType("text/plain"); 629 nf.setType("text/plain");
633 clear(); 630 clear();
634 setWState (WState_Reserved1 ); 631 setWState (WState_Reserved1 );
635 editor->setFocus(); 632 editor->setFocus();
636 doc = new DocLnk(nf); 633 doc = new DocLnk(nf);
637 currentFileName = "Unnamed"; 634 currentFileName = "Unnamed";
638 qDebug("newFile "+currentFileName); 635 qDebug("newFile "+currentFileName);
639 updateCaption( currentFileName); 636 updateCaption( currentFileName);
640// editor->setEdited( FALSE); 637// editor->setEdited( FALSE);
641} 638}
642 639
643void TextEdit::openFile( const QString &f ) 640void TextEdit::openFile( const QString &f )
644{ 641{
645 qDebug("filename is "+ f); 642 qDebug("filename is "+ f);
646 QString filer; 643 QString filer;
647// bFromDocView = TRUE; 644// bFromDocView = TRUE;
648 if(f.find(".desktop",0,TRUE)) { 645 if(f.find(".desktop",0,TRUE) != -1) {
649 switch ( QMessageBox::warning(this,tr("Text Editor"), 646 switch ( QMessageBox::warning(this,tr("Text Editor"),
650 tr("Text Editor has detected\n you selected a .desktop file.\nOpen .desktop file or linked file?"), 647 tr("Text Editor has detected\n you selected a .desktop file.\nOpen .desktop file or linked file?"),
651 tr(".desktop File"),tr("Link"),0,0,1) ) { 648 tr(".desktop File"),tr("Linked Document"),0,1,1) ) {
652 case 0: 649 case 0:
653 filer = f; 650 filer = f;
654 break; 651 break;
655 case 1: 652 case 1:
656 DocLnk sf(f); 653 DocLnk sf(f);
657 filer = sf.file(); 654 filer = sf.file();
658 break; 655 break;
659 } 656 }
660 } 657 } else
658 filer = f;
659
661 DocLnk nf; 660 DocLnk nf;
662 nf.setType("text/plain"); 661 nf.setType("text/plain");
663 nf.setFile(filer); 662 nf.setFile(filer);
664 currentFileName=filer; 663 currentFileName=filer;
665 QFileInfo fi( currentFileName); 664 QFileInfo fi( currentFileName);
666 nf.setName(fi.baseName()); 665 nf.setName(fi.baseName());
667 qDebug("openFile string "+currentFileName); 666 qDebug("openFile string "+currentFileName);
668 667
669 openFile(nf); 668 openFile(nf);
670 showEditTools(); 669 showEditTools();
671 // Show filename in caption 670 // Show filename in caption
672 QString name = filer; 671 QString name = filer;
673 int sep = name.findRev( '/' ); 672 int sep = name.findRev( '/' );
674 if ( sep > 0 ) 673 if ( sep > 0 )
675 name = name.mid( sep+1 ); 674 name = name.mid( sep+1 );
676 updateCaption( name ); 675 updateCaption( name );
677} 676}
678 677
679void TextEdit::openFile( const DocLnk &f ) 678void TextEdit::openFile( const DocLnk &f )
680{ 679{
681// clear(); 680// clear();
682// bFromDocView = TRUE; 681// bFromDocView = TRUE;
683 FileManager fm; 682 FileManager fm;
684 QString txt; 683 QString txt;
685 currentFileName=f.name(); 684 currentFileName=f.file();
686 qDebug("openFile doclnk " + currentFileName); 685 qDebug("openFile doclnk " + currentFileName);
687 if ( !fm.loadFile( f, txt ) ) { 686 if ( !fm.loadFile( f, txt ) ) {
688 // ####### could be a new file 687 // ####### could be a new file
689 qDebug( "Cannot open file" ); 688 qDebug( "Cannot open file" );
690 } 689 }
691// fileNew(); 690// fileNew();
692 if ( doc ) 691 if ( doc )
693 delete doc; 692 delete doc;
694 doc = new DocLnk(f); 693 doc = new DocLnk(f);
695 editor->setText(txt); 694 editor->setText(txt);
696 editor->setEdited( FALSE); 695 editor->setEdited( FALSE);
697 edited1=FALSE; 696 edited1=FALSE;
698 edited=FALSE; 697 edited=FALSE;
699 698
700 doc->setName(currentFileName); 699 doc->setName(currentFileName);
701 updateCaption(); 700 updateCaption();
702} 701}
703 702
704void TextEdit::showEditTools() 703void TextEdit::showEditTools()
705{ 704{
706// if ( !doc ) 705// if ( !doc )
707// close(); 706// close();
708// clear(); 707// clear();
709 menu->show(); 708 menu->show();
710 editBar->show(); 709 editBar->show();
711 if ( searchVisible ) 710 if ( searchVisible )
712 searchBar->show(); 711 searchBar->show();
713// updateCaption(); 712// updateCaption();
714 setWState (WState_Reserved1 ); 713 setWState (WState_Reserved1 );
715} 714}
716 715
717/*! 716/*!
718 unprompted save */ 717 unprompted save */
719bool TextEdit::save() 718bool TextEdit::save()
720{ 719{
721 QString file = doc->file(); 720 QString file = doc->file();
722 qDebug("saver file "+file); 721 qDebug("saver file "+file);
723 QString name= doc->name(); 722 QString name= doc->name();
724 qDebug("File named "+name); 723 qDebug("File named "+name);
725 QString rt = editor->text(); 724 QString rt = editor->text();
726 if( !rt.isEmpty() ) { 725 if( !rt.isEmpty() ) {
727 if(name.isEmpty()) { 726 if(name.isEmpty()) {
728 saveAs(); 727 saveAs();
729 } else { 728 } else {
730 currentFileName= name ; 729 currentFileName= name ;
731 qDebug("saveFile "+currentFileName); 730 qDebug("saveFile "+currentFileName);
732 731
733 struct stat buf; 732 struct stat buf;
734 mode_t mode; 733 mode_t mode;
735 stat(file.latin1(), &buf); 734 stat(file.latin1(), &buf);
736 mode = buf.st_mode; 735 mode = buf.st_mode;
737 736
738 doc->setName( name); 737 doc->setName( name);
739 FileManager fm; 738 FileManager fm;
740 if ( !fm.saveFile( *doc, rt ) ) { 739 if ( !fm.saveFile( *doc, rt ) ) {
741 return false; 740 return false;
742 } 741 }
743 editor->setEdited( FALSE); 742 editor->setEdited( FALSE);
744 edited1=FALSE; 743 edited1=FALSE;
745 edited=FALSE; 744 edited=FALSE;
746 if(caption().left(1)=="*") 745 if(caption().left(1)=="*")
747 setCaption(caption().right(caption().length()-1)); 746 setCaption(caption().right(caption().length()-1));
748 747
749 748
750 chmod( file.latin1(), mode); 749 chmod( file.latin1(), mode);
751 } 750 }
752 return true; 751 return true;
753 } 752 }
754 return false; 753 return false;
755} 754}
756 755
757/*! 756/*!
758 prompted save */ 757 prompted save */
759bool TextEdit::saveAs() 758bool TextEdit::saveAs()
760{ 759{
761// qDebug("saveAsFile "+currentFileName); 760// qDebug("saveAsFile "+currentFileName);
762 // case of nothing to save... 761 // case of nothing to save...
763 if ( !doc )//|| !bFromDocView) 762 if ( !doc )//|| !bFromDocView)
764 { 763 {
765 qDebug("no doc"); 764 qDebug("no doc");
766 return true; 765 return true;
767 } 766 }
768 if ( !editor->edited() ) { 767 if ( !editor->edited() ) {
769 delete doc; 768 delete doc;
770 doc = 0; 769 doc = 0;
771 return true; 770 return true;
772 } 771 }
773 772
774 QString rt = editor->text(); 773 QString rt = editor->text();
775 qDebug(currentFileName); 774 qDebug(currentFileName);
776 775
777 if( currentFileName.isEmpty() || currentFileName == tr("Unnamed") || currentFileName == tr("Text Editor")) { 776 if( currentFileName.isEmpty() || currentFileName == tr("Unnamed") || currentFileName == tr("Text Editor")) {
778 qDebug("do silly TT filename thing"); 777 qDebug("do silly TT filename thing");
779 if ( doc->name().isEmpty() ) { 778 if ( doc->name().isEmpty() ) {
780 QString pt = rt.simplifyWhiteSpace(); 779 QString pt = rt.simplifyWhiteSpace();
781 int i = pt.find( ' ' ); 780 int i = pt.find( ' ' );
782 QString docname = pt; 781 QString docname = pt;
783 if ( i > 0 ) 782 if ( i > 0 )
784 docname = pt.left( i ); 783 docname = pt.left( i );
785 // remove "." at the beginning 784 // remove "." at the beginning
786 while( docname.startsWith( "." ) ) 785 while( docname.startsWith( "." ) )
787 docname = docname.mid( 1 ); 786 docname = docname.mid( 1 );
788 docname.replace( QRegExp("/"), "_" ); 787 docname.replace( QRegExp("/"), "_" );
789 // cut the length. filenames longer than that don't make sense and something goes wrong when they get too long. 788 // cut the length. filenames longer than that don't make sense and something goes wrong when they get too long.
790 if ( docname.length() > 40 ) 789 if ( docname.length() > 40 )
791 docname = docname.left(40); 790 docname = docname.left(40);
792 if ( docname.isEmpty() ) 791 if ( docname.isEmpty() )
793 docname = tr("Unnamed"); 792 docname = tr("Unnamed");
794 doc->setName(docname); 793 doc->setName(docname);
795 currentFileName=docname; 794 currentFileName=docname;
796 } 795 }
797 } 796 }
798 797
799 798
800 fileSaveDlg=new fileSaver(this,tr("Save File As?"),TRUE, 0, currentFileName); 799 fileSaveDlg=new fileSaver(this,tr("Save File As?"),TRUE, 0, currentFileName);
801 qDebug("wanna save filename "+currentFileName); 800 qDebug("wanna save filename "+currentFileName);
802 fileSaveDlg->exec(); 801 fileSaveDlg->exec();
803 if( fileSaveDlg->result() == 1 ) { 802 if( fileSaveDlg->result() == 1 ) {
804 QString fileNm=fileSaveDlg->selectedFileName; 803 QString fileNm=fileSaveDlg->selectedFileName;
805 qDebug("saving filename "+fileNm); 804 qDebug("saving filename "+fileNm);
806 QFileInfo fi(fileNm); 805 QFileInfo fi(fileNm);
807 currentFileName=fi.fileName(); 806 currentFileName=fi.fileName();
808 if(doc) { 807 if(doc) {
809// QString file = doc->file(); 808// QString file = doc->file();
810// doc->removeFiles(); 809// doc->removeFiles();
811 delete doc; 810 delete doc;
812 DocLnk nf; 811 DocLnk nf;
813 nf.setType("text/plain"); 812 nf.setType("text/plain");
814 nf.setFile( fileNm); 813 nf.setFile( fileNm);
815 doc = new DocLnk(nf); 814 doc = new DocLnk(nf);
816// editor->setText(rt); 815// editor->setText(rt);
817// qDebug("openFile doclnk "+currentFileName); 816// qDebug("openFile doclnk "+currentFileName);
818 doc->setName( currentFileName); 817 doc->setName( currentFileName);
819 updateCaption( currentFileName); 818 updateCaption( currentFileName);
820 819
821 FileManager fm; 820 FileManager fm;
822 if ( !fm.saveFile( *doc, rt ) ) { 821 if ( !fm.saveFile( *doc, rt ) ) {
823 return false; 822 return false;
824 } 823 }
825 if( fileSaveDlg->filePermCheck->isChecked() ) { 824 if( fileSaveDlg->filePermCheck->isChecked() ) {
826 filePermissions *filePerm; 825 filePermissions *filePerm;
827 filePerm = new filePermissions(this, tr("Permissions"),true,0,(const QString &)fileNm); 826 filePerm = new filePermissions(this, tr("Permissions"),true,0,(const QString &)fileNm);
828 filePerm->exec(); 827 filePerm->exec();
829 828
830 if( filePerm) 829 if( filePerm)
831 delete filePerm; 830 delete filePerm;
832 } 831 }
833 } 832 }
834 } 833 }
835 editor->setEdited(TRUE); 834 editor->setEdited(TRUE);
836 edited1=FALSE; 835 edited1=FALSE;
837 edited=TRUE; 836 edited=TRUE;
838 if(caption().left(1)=="*") 837 if(caption().left(1)=="*")
839 setCaption(caption().right(caption().length()-1)); 838 setCaption(caption().right(caption().length()-1));
840 839
841 if(fileSaveDlg) 840 if(fileSaveDlg)
842 delete fileSaveDlg; 841 delete fileSaveDlg;
843 return true; 842 return true;
844} //end saveAs 843} //end saveAs
845 844
846void TextEdit::clear() 845void TextEdit::clear()
847{ 846{
848 delete doc; 847 delete doc;
849 doc = 0; 848 doc = 0;
850 editor->clear(); 849 editor->clear();
851} 850}
852 851
853void TextEdit::updateCaption( const QString &name ) 852void TextEdit::updateCaption( const QString &name )
854{ 853{
855 if ( !doc ) 854 if ( !doc )
856 setCaption( tr("Text Editor") ); 855 setCaption( tr("Text Editor") );
857 else { 856 else {
858 QString s = name; 857 QString s = name;
859 if ( s.isNull() ) 858 if ( s.isNull() )
860 s = doc->name(); 859 s = doc->name();
861 if ( s.isEmpty() ) { 860 if ( s.isEmpty() ) {
862 s = tr( "Unnamed" ); 861 s = tr( "Unnamed" );
863 currentFileName=s; 862 currentFileName=s;
864 } 863 }
865 if(s.left(1) == "/") 864 if(s.left(1) == "/")
866 s = s.right(s.length()-1); 865 s = s.right(s.length()-1);
867 setCaption( s + " - " + tr("Text Editor") ); 866 setCaption( s + " - " + tr("Text Editor") );
868 } 867 }
869} 868}
870 869
871void TextEdit::setDocument(const QString& fileref) 870void TextEdit::setDocument(const QString& fileref)
872{ 871{
873 bFromDocView = TRUE; 872 bFromDocView = TRUE;
874 openFile(fileref); 873 openFile(fileref);
875 editor->setEdited(TRUE); 874 editor->setEdited(TRUE);
876 edited1=FALSE; 875 edited1=FALSE;
877 edited=TRUE; 876 edited=TRUE;