summaryrefslogtreecommitdiff
authorzecke <zecke>2003-12-06 11:48:47 (UTC)
committer zecke <zecke>2003-12-06 11:48:47 (UTC)
commit72336536db05459e3802b3be5032e55607985d0c (patch) (unidiff)
tree6920e4d51efa0b5dd6977e536575c45c1bf785b4
parentfaaeb2cd28b47d79e9644e770622d141d315c195 (diff)
downloadopie-72336536db05459e3802b3be5032e55607985d0c.zip
opie-72336536db05459e3802b3be5032e55607985d0c.tar.gz
opie-72336536db05459e3802b3be5032e55607985d0c.tar.bz2
quirk for opening renamed desktop files...
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/apps/textedit/textedit.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/core/apps/textedit/textedit.cpp b/core/apps/textedit/textedit.cpp
index 1c95a97..b875228 100644
--- a/core/apps/textedit/textedit.cpp
+++ b/core/apps/textedit/textedit.cpp
@@ -669,103 +669,110 @@ void TextEdit::newFile( const DocLnk &f ) {
669 669
670void TextEdit::openDotFile( const QString &f ) { 670void TextEdit::openDotFile( const QString &f ) {
671 if(!currentFileName.isEmpty()) { 671 if(!currentFileName.isEmpty()) {
672 currentFileName=f; 672 currentFileName=f;
673 673
674 qDebug("openFile dotfile " + currentFileName); 674 qDebug("openFile dotfile " + currentFileName);
675 QString txt; 675 QString txt;
676 QFile file(f); 676 QFile file(f);
677 file.open(IO_ReadWrite); 677 file.open(IO_ReadWrite);
678 QTextStream t(&file); 678 QTextStream t(&file);
679 while ( !t.atEnd()) { 679 while ( !t.atEnd()) {
680 txt+=t.readLine()+"\n"; 680 txt+=t.readLine()+"\n";
681 } 681 }
682 editor->setText(txt); 682 editor->setText(txt);
683 editor->setEdited( false); 683 editor->setEdited( false);
684 edited1=false; 684 edited1=false;
685 edited=false; 685 edited=false;
686 686
687 687
688 } 688 }
689 updateCaption( currentFileName); 689 updateCaption( currentFileName);
690} 690}
691 691
692void TextEdit::openFile( const QString &f ) { 692void TextEdit::openFile( const QString &f ) {
693 qDebug("filename is "+ f); 693 qDebug("filename is "+ f);
694 QString filer; 694 QString filer;
695 QFileInfo fi( f); 695 QFileInfo fi( f);
696// bFromDocView = true; 696// bFromDocView = true;
697 if(f.find(".desktop",0,true) != -1 && !openDesktop ) 697 if(f.find(".desktop",0,true) != -1 && !openDesktop )
698 { 698 {
699 switch ( QMessageBox::warning(this,tr("Text Editor"),tr("Text Editor has detected<BR>you selected a <B>.desktop</B>file.<BR>Open<B>.desktop</B> file or <B>linked</B> file?"),tr(".desktop File"),tr("Linked Document"),0,1,1) ) 699 switch ( QMessageBox::warning(this,tr("Text Editor"),tr("Text Editor has detected<BR>you selected a <B>.desktop</B>file.<BR>Open<B>.desktop</B> file or <B>linked</B> file?"),tr(".desktop File"),tr("Linked Document"),0,1,1) )
700 { 700 {
701 case 0: //desktop 701 case 0: //desktop
702 filer = f; 702 filer = f;
703 break; 703 break;
704 case 1: //linked 704 case 1: //linked
705 DocLnk sf(f); 705 DocLnk sf(f);
706 filer = sf.file(); 706 filer = sf.file();
707 break; 707 break;
708 }; 708 };
709 } 709 }
710 else if(fi.baseName().left(1) == "") 710 else if(fi.baseName().left(1) == "")
711 { 711 {
712 qDebug("opening dotfile"); 712 qDebug("opening dotfile");
713 currentFileName=f; 713 currentFileName=f;
714 openDotFile(currentFileName); 714 openDotFile(currentFileName);
715 return; 715 return;
716 } 716 }
717 else 717 /*
718 * The problem is a file where Config(f).isValid() and it does not
719 * end with .desktop will be treated as desktop file
720 */
721 else if (f.find(".desktop",0,true) != -1 )
718 { 722 {
719 DocLnk sf(f); 723 DocLnk sf(f);
720 filer = sf.file(); 724 filer = sf.file();
721 if(filer.right(1) == "/") 725 if(filer.right(1) == "/")
722 filer = f; 726 filer = f;
727
723 } 728 }
729 else
730 filer = f;
724 731
725 DocLnk nf; 732 DocLnk nf;
726 nf.setType("text/plain"); 733 nf.setType("text/plain");
727 nf.setFile(filer); 734 nf.setFile(filer);
728 currentFileName=filer; 735 currentFileName=filer;
729 736
730 nf.setName(fi.baseName()); 737 nf.setName(fi.baseName());
731 openFile(nf); 738 openFile(nf);
732 739
733 qDebug("openFile string "+currentFileName); 740 qDebug("openFile string "+currentFileName);
734 741
735 showEditTools(); 742 showEditTools();
736 // Show filename in caption 743 // Show filename in caption
737 QString name = filer; 744 QString name = filer;
738 int sep = name.findRev( '/' ); 745 int sep = name.findRev( '/' );
739 if ( sep > 0 ) 746 if ( sep > 0 )
740 name = name.mid( sep+1 ); 747 name = name.mid( sep+1 );
741 updateCaption( name ); 748 updateCaption( name );
742} 749}
743 750
744void TextEdit::openFile( const DocLnk &f ) { 751void TextEdit::openFile( const DocLnk &f ) {
745// clear(); 752// clear();
746// bFromDocView = true; 753// bFromDocView = true;
747 FileManager fm; 754 FileManager fm;
748 QString txt; 755 QString txt;
749 currentFileName=f.file(); 756 currentFileName=f.file();
750 qDebug("openFile doclnk " + currentFileName); 757 qDebug("openFile doclnk " + currentFileName);
751 if ( !fm.loadFile( f, txt ) ) { 758 if ( !fm.loadFile( f, txt ) ) {
752 // ####### could be a new file 759 // ####### could be a new file
753 qDebug( "Cannot open file" ); 760 qDebug( "Cannot open file" );
754 } 761 }
755// fileNew(); 762// fileNew();
756 if ( doc ) 763 if ( doc )
757 delete doc; 764 delete doc;
758 doc = new DocLnk(f); 765 doc = new DocLnk(f);
759 editor->setText(txt); 766 editor->setText(txt);
760 editor->setEdited( false); 767 editor->setEdited( false);
761 edited1=false; 768 edited1=false;
762 edited=false; 769 edited=false;
763 770
764 doc->setName(currentFileName); 771 doc->setName(currentFileName);
765 updateCaption(); 772 updateCaption();
766 setTimer(); 773 setTimer();
767} 774}
768 775
769void TextEdit::showEditTools() { 776void TextEdit::showEditTools() {
770 menu->show(); 777 menu->show();
771 editBar->show(); 778 editBar->show();