author | llornkcor <llornkcor> | 2002-04-24 01:00:52 (UTC) |
---|---|---|
committer | llornkcor <llornkcor> | 2002-04-24 01:00:52 (UTC) |
commit | 29e4dd18cbbe6d5967561b428a9632629cff3fde (patch) (unidiff) | |
tree | 4e3f6daaabd72937b2d1222f22d5797bb4c80b96 /core/apps/textedit/textedit.cpp | |
parent | 23f73a3a483a4daf3a26d0e83fd947d4f4118013 (diff) | |
download | opie-29e4dd18cbbe6d5967561b428a9632629cff3fde.zip opie-29e4dd18cbbe6d5967561b428a9632629cff3fde.tar.gz opie-29e4dd18cbbe6d5967561b428a9632629cff3fde.tar.bz2 |
changed way of saving files, so a file opened through the file dialog, which is not a DocLnk, gets saved without a DocLnk. I got tired of hearing, 'I edited /etc/so-and-so and it saved it to Documents.' Will make this an option later. :)
Diffstat (limited to 'core/apps/textedit/textedit.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | core/apps/textedit/textedit.cpp | 40 |
1 files changed, 31 insertions, 9 deletions
diff --git a/core/apps/textedit/textedit.cpp b/core/apps/textedit/textedit.cpp index 84888c1..19449cb 100644 --- a/core/apps/textedit/textedit.cpp +++ b/core/apps/textedit/textedit.cpp | |||
@@ -347,12 +347,14 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) | |||
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 | font->insertSeparator(); | ||
354 | font->insertItem(tr("About"), this, SLOT( doAbout()) ); | ||
353 | 355 | ||
354 | mb->insertItem( tr( "File" ), file ); | 356 | mb->insertItem( tr( "File" ), file ); |
355 | mb->insertItem( tr( "Edit" ), edit ); | 357 | mb->insertItem( tr( "Edit" ), edit ); |
356 | mb->insertItem( tr( "View" ), font ); | 358 | mb->insertItem( tr( "View" ), font ); |
357 | 359 | ||
358 | searchBar = new QPEToolBar(this); | 360 | searchBar = new QPEToolBar(this); |
@@ -409,12 +411,13 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) | |||
409 | if(cfg.readEntry("startNew","TRUE") == "TRUE") { | 411 | if(cfg.readEntry("startNew","TRUE") == "TRUE") { |
410 | nStart->setOn(TRUE); | 412 | nStart->setOn(TRUE); |
411 | fileNew(); | 413 | fileNew(); |
412 | } else { | 414 | } else { |
413 | fileOpen(); | 415 | fileOpen(); |
414 | } | 416 | } |
417 | |||
415 | viewSelection = cfg.readNumEntry( "FileView", 0 ); | 418 | viewSelection = cfg.readNumEntry( "FileView", 0 ); |
416 | } | 419 | } |
417 | 420 | ||
418 | void TextEdit::cleanUp() | 421 | void TextEdit::cleanUp() |
419 | { | 422 | { |
420 | // save(); | 423 | // save(); |
@@ -501,13 +504,13 @@ void TextEdit::fileNew() | |||
501 | 504 | ||
502 | void TextEdit::fileOpen() | 505 | void TextEdit::fileOpen() |
503 | { | 506 | { |
504 | Config cfg("TextEdit"); | 507 | Config cfg("TextEdit"); |
505 | cfg.setGroup("View"); | 508 | cfg.setGroup("View"); |
506 | bool b=FALSE; | 509 | bool b=FALSE; |
507 | if(cfg.readEntry("useOldFileDialog") == "TRUE") | 510 | if(cfg.readEntry("useOldFileDialog") == "TRUE") |
508 | b=TRUE; | 511 | b=TRUE; |
509 | if(!b) { | 512 | if(!b) { |
510 | QString str = OFileDialog::getOpenFileName( 1,"/","", "text/plain", this ); | 513 | QString str = OFileDialog::getOpenFileName( 1,"/","", "text/plain", this ); |
511 | if(!str.isEmpty() ) | 514 | if(!str.isEmpty() ) |
512 | openFile( str ); | 515 | openFile( str ); |
513 | } else { | 516 | } else { |
@@ -527,17 +530,17 @@ void TextEdit::fileOpen() | |||
527 | fileTemp = *f; | 530 | fileTemp = *f; |
528 | fileTemp.right( fileTemp.length()-5); | 531 | fileTemp.right( fileTemp.length()-5); |
529 | QString fileName = fileTemp; | 532 | QString fileName = fileTemp; |
530 | if( fileName != "Unnamed" || fileName != "Empty Text" ) { | 533 | if( fileName != "Unnamed" || fileName != "Empty Text" ) { |
531 | currentFileName = fileName; | 534 | currentFileName = fileName; |
532 | qDebug("please open "+currentFileName); | 535 | qDebug("please open "+currentFileName); |
533 | openFile(str ); | 536 | openFile(currentFileName ); |
534 | } | 537 | } |
535 | } | 538 | } |
536 | viewSelection = browseForFiles->SelectionCombo->currentItem(); | 539 | viewSelection = browseForFiles->SelectionCombo->currentItem(); |
537 | } | 540 | } |
538 | delete browseForFiles; | 541 | delete browseForFiles; |
539 | editor->setEdited( FALSE); | 542 | editor->setEdited( FALSE); |
540 | edited1=FALSE; | 543 | edited1=FALSE; |
541 | edited=FALSE; | 544 | edited=FALSE; |
542 | if(caption().left(1)=="*") | 545 | if(caption().left(1)=="*") |
543 | setCaption(caption().right(caption().length()-1)); | 546 | setCaption(caption().right(caption().length()-1)); |
@@ -660,14 +663,16 @@ void TextEdit::openFile( const QString &f ) | |||
660 | break; | 663 | break; |
661 | case 1: | 664 | case 1: |
662 | DocLnk sf(f); | 665 | DocLnk sf(f); |
663 | filer = sf.file(); | 666 | filer = sf.file(); |
664 | break; | 667 | break; |
665 | } | 668 | } |
666 | } else | 669 | } else { |
667 | filer = f; | 670 | filer = f; |
671 | fileIs = TRUE; | ||
672 | } | ||
668 | 673 | ||
669 | DocLnk nf; | 674 | DocLnk nf; |
670 | nf.setType("text/plain"); | 675 | nf.setType("text/plain"); |
671 | nf.setFile(filer); | 676 | nf.setFile(filer); |
672 | currentFileName=filer; | 677 | currentFileName=filer; |
673 | QFileInfo fi( currentFileName); | 678 | QFileInfo fi( currentFileName); |
@@ -739,17 +744,28 @@ bool TextEdit::save() | |||
739 | qDebug("saveFile "+currentFileName); | 744 | qDebug("saveFile "+currentFileName); |
740 | 745 | ||
741 | struct stat buf; | 746 | struct stat buf; |
742 | mode_t mode; | 747 | mode_t mode; |
743 | stat(file.latin1(), &buf); | 748 | stat(file.latin1(), &buf); |
744 | mode = buf.st_mode; | 749 | mode = buf.st_mode; |
745 | 750 | if(!fileIs) { | |
746 | doc->setName( name); | 751 | doc->setName( name); |
747 | FileManager fm; | 752 | FileManager fm; |
748 | if ( !fm.saveFile( *doc, rt ) ) { | 753 | if ( !fm.saveFile( *doc, rt ) ) { |
749 | return false; | 754 | return false; |
755 | } | ||
756 | } else { | ||
757 | qDebug("regular save file"); | ||
758 | QFile f(file); | ||
759 | if( f.open(IO_WriteOnly)) { | ||
760 | f.writeBlock(rt,rt.length()); | ||
761 | } else { | ||
762 | QMessageBox::message("Text Edit","Write Failed"); | ||
763 | return false; | ||
764 | } | ||
765 | |||
750 | } | 766 | } |
751 | editor->setEdited( FALSE); | 767 | editor->setEdited( FALSE); |
752 | edited1=FALSE; | 768 | edited1=FALSE; |
753 | edited=FALSE; | 769 | edited=FALSE; |
754 | if(caption().left(1)=="*") | 770 | if(caption().left(1)=="*") |
755 | setCaption(caption().right(caption().length()-1)); | 771 | setCaption(caption().right(caption().length()-1)); |
@@ -966,6 +982,12 @@ void TextEdit::receive(const QCString&msg, const QByteArray&) { | |||
966 | qDebug("QCop "+msg); | 982 | qDebug("QCop "+msg); |
967 | if ( msg == "setDocument(QString)" ) { | 983 | if ( msg == "setDocument(QString)" ) { |
968 | qDebug("bugger all"); | 984 | qDebug("bugger all"); |
969 | } | 985 | } |
970 | 986 | ||
971 | } | 987 | } |
988 | void TextEdit::doAbout() { | ||
989 | QMessageBox::about(0,"Text Edit","Text Edit is copyright\n" | ||
990 | "2000 Trolltech AS, and\n" | ||
991 | "2002 by L.J.Potter \nljp@llornkcor.com\n" | ||
992 | "and is licensed under the GPL"); | ||
993 | } | ||