-rw-r--r-- | core/apps/textedit/textedit.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/core/apps/textedit/textedit.cpp b/core/apps/textedit/textedit.cpp index 0af18da..9e6ba8d 100644 --- a/core/apps/textedit/textedit.cpp +++ b/core/apps/textedit/textedit.cpp | |||
@@ -643,342 +643,342 @@ void TextEdit::openFile( const QString &f ) | |||
643 | DocLnk sf(f); | 643 | DocLnk sf(f); |
644 | filer = sf.file(); | 644 | filer = sf.file(); |
645 | break; | 645 | break; |
646 | } | 646 | } |
647 | } else { | 647 | } else { |
648 | filer = f; | 648 | filer = f; |
649 | fileIs = TRUE; | 649 | fileIs = TRUE; |
650 | } | 650 | } |
651 | 651 | ||
652 | DocLnk nf; | 652 | DocLnk nf; |
653 | nf.setType("text/plain"); | 653 | nf.setType("text/plain"); |
654 | nf.setFile(filer); | 654 | nf.setFile(filer); |
655 | currentFileName=filer; | 655 | currentFileName=filer; |
656 | QFileInfo fi( currentFileName); | 656 | QFileInfo fi( currentFileName); |
657 | nf.setName(fi.baseName()); | 657 | nf.setName(fi.baseName()); |
658 | qDebug("openFile string "+currentFileName); | 658 | qDebug("openFile string "+currentFileName); |
659 | 659 | ||
660 | openFile(nf); | 660 | openFile(nf); |
661 | showEditTools(); | 661 | showEditTools(); |
662 | // Show filename in caption | 662 | // Show filename in caption |
663 | QString name = filer; | 663 | QString name = filer; |
664 | int sep = name.findRev( '/' ); | 664 | int sep = name.findRev( '/' ); |
665 | if ( sep > 0 ) | 665 | if ( sep > 0 ) |
666 | name = name.mid( sep+1 ); | 666 | name = name.mid( sep+1 ); |
667 | updateCaption( name ); | 667 | updateCaption( name ); |
668 | } | 668 | } |
669 | 669 | ||
670 | void TextEdit::openFile( const DocLnk &f ) | 670 | void TextEdit::openFile( const DocLnk &f ) |
671 | { | 671 | { |
672 | // clear(); | 672 | // clear(); |
673 | // bFromDocView = TRUE; | 673 | // bFromDocView = TRUE; |
674 | FileManager fm; | 674 | FileManager fm; |
675 | QString txt; | 675 | QString txt; |
676 | currentFileName=f.file(); | 676 | currentFileName=f.file(); |
677 | qDebug("openFile doclnk " + currentFileName); | 677 | qDebug("openFile doclnk " + currentFileName); |
678 | if ( !fm.loadFile( f, txt ) ) { | 678 | if ( !fm.loadFile( f, txt ) ) { |
679 | // ####### could be a new file | 679 | // ####### could be a new file |
680 | qDebug( "Cannot open file" ); | 680 | qDebug( "Cannot open file" ); |
681 | } | 681 | } |
682 | // fileNew(); | 682 | // fileNew(); |
683 | if ( doc ) | 683 | if ( doc ) |
684 | delete doc; | 684 | delete doc; |
685 | doc = new DocLnk(f); | 685 | doc = new DocLnk(f); |
686 | editor->setText(txt); | 686 | editor->setText(txt); |
687 | editor->setEdited( FALSE); | 687 | editor->setEdited( FALSE); |
688 | edited1=FALSE; | 688 | edited1=FALSE; |
689 | edited=FALSE; | 689 | edited=FALSE; |
690 | 690 | ||
691 | doc->setName(currentFileName); | 691 | doc->setName(currentFileName); |
692 | updateCaption(); | 692 | updateCaption(); |
693 | } | 693 | } |
694 | 694 | ||
695 | void TextEdit::showEditTools() | 695 | void TextEdit::showEditTools() |
696 | { | 696 | { |
697 | // if ( !doc ) | 697 | // if ( !doc ) |
698 | // close(); | 698 | // close(); |
699 | // clear(); | 699 | // clear(); |
700 | menu->show(); | 700 | menu->show(); |
701 | editBar->show(); | 701 | editBar->show(); |
702 | if ( searchVisible ) | 702 | if ( searchVisible ) |
703 | searchBar->show(); | 703 | searchBar->show(); |
704 | // updateCaption(); | 704 | // updateCaption(); |
705 | setWState (WState_Reserved1 ); | 705 | setWState (WState_Reserved1 ); |
706 | } | 706 | } |
707 | 707 | ||
708 | /*! | 708 | /*! |
709 | unprompted save */ | 709 | unprompted save */ |
710 | bool TextEdit::save() | 710 | bool TextEdit::save() |
711 | { | 711 | { |
712 | QString file = doc->file(); | 712 | QString file = doc->file(); |
713 | qDebug("saver file "+file); | 713 | qDebug("saver file "+file); |
714 | QString name= doc->name(); | 714 | QString name= doc->name(); |
715 | qDebug("File named "+name); | 715 | qDebug("File named "+name); |
716 | QString rt = editor->text(); | 716 | QString rt = editor->text(); |
717 | if( !rt.isEmpty() ) { | 717 | if( !rt.isEmpty() ) { |
718 | if(name.isEmpty()) { | 718 | if(name.isEmpty()) { |
719 | saveAs(); | 719 | saveAs(); |
720 | } else { | 720 | } else { |
721 | currentFileName= name ; | 721 | currentFileName= name ; |
722 | qDebug("saveFile "+currentFileName); | 722 | qDebug("saveFile "+currentFileName); |
723 | 723 | ||
724 | struct stat buf; | 724 | struct stat buf; |
725 | mode_t mode; | 725 | mode_t mode; |
726 | stat(file.latin1(), &buf); | 726 | stat(file.latin1(), &buf); |
727 | mode = buf.st_mode; | 727 | mode = buf.st_mode; |
728 | 728 | ||
729 | if(!fileIs) { | 729 | if(!fileIs) { |
730 | doc->setName( name); | 730 | doc->setName( name); |
731 | FileManager fm; | 731 | FileManager fm; |
732 | if ( !fm.saveFile( *doc, rt ) ) { | 732 | if ( !fm.saveFile( *doc, rt ) ) { |
733 | return false; | 733 | return false; |
734 | } | 734 | } |
735 | } else { | 735 | } else { |
736 | qDebug("regular save file"); | 736 | qDebug("regular save file"); |
737 | QFile f(file); | 737 | QFile f(file); |
738 | if( f.open(IO_WriteOnly)) { | 738 | if( f.open(IO_WriteOnly)) { |
739 | QCString crt = rt.utf8(); | 739 | QCString crt = rt.utf8(); |
740 | f.writeBlock(crt,crt.length()); | 740 | f.writeBlock(crt,crt.length()); |
741 | } else { | 741 | } else { |
742 | QMessageBox::message("Text Edit","Write Failed"); | 742 | QMessageBox::message("Text Edit","Write Failed"); |
743 | return false; | 743 | return false; |
744 | } | 744 | } |
745 | 745 | ||
746 | } | 746 | } |
747 | editor->setEdited( FALSE); | 747 | editor->setEdited( FALSE); |
748 | edited1=FALSE; | 748 | edited1=FALSE; |
749 | edited=FALSE; | 749 | edited=FALSE; |
750 | if(caption().left(1)=="*") | 750 | if(caption().left(1)=="*") |
751 | setCaption(caption().right(caption().length()-1)); | 751 | setCaption(caption().right(caption().length()-1)); |
752 | 752 | ||
753 | 753 | ||
754 | chmod( file.latin1(), mode); | 754 | chmod( file.latin1(), mode); |
755 | } | 755 | } |
756 | return true; | 756 | return true; |
757 | } | 757 | } |
758 | return false; | 758 | return false; |
759 | } | 759 | } |
760 | 760 | ||
761 | /*! | 761 | /*! |
762 | prompted save */ | 762 | prompted save */ |
763 | bool TextEdit::saveAs() | 763 | bool TextEdit::saveAs() |
764 | { | 764 | { |
765 | // qDebug("saveAsFile "+currentFileName); | 765 | // qDebug("saveAsFile "+currentFileName); |
766 | // case of nothing to save... | 766 | // case of nothing to save... |
767 | if ( !doc )//|| !bFromDocView) | 767 | if ( !doc )//|| !bFromDocView) |
768 | { | 768 | { |
769 | qDebug("no doc"); | 769 | qDebug("no doc"); |
770 | return true; | 770 | return true; |
771 | } | 771 | } |
772 | if ( !editor->edited() ) { | 772 | if ( !editor->edited() ) { |
773 | delete doc; | 773 | delete doc; |
774 | doc = 0; | 774 | doc = 0; |
775 | return true; | 775 | return true; |
776 | } | 776 | } |
777 | 777 | ||
778 | QString rt = editor->text(); | 778 | QString rt = editor->text(); |
779 | qDebug(currentFileName); | 779 | qDebug(currentFileName); |
780 | 780 | ||
781 | if( currentFileName.isEmpty() || currentFileName == tr("Unnamed") || currentFileName == tr("Text Editor")) { | 781 | if( currentFileName.isEmpty() || currentFileName == tr("Unnamed") || currentFileName == tr("Text Editor")) { |
782 | qDebug("do silly TT filename thing"); | 782 | qDebug("do silly TT filename thing"); |
783 | if ( doc->name().isEmpty() ) { | 783 | if ( doc->name().isEmpty() ) { |
784 | QString pt = rt.simplifyWhiteSpace(); | 784 | QString pt = rt.simplifyWhiteSpace(); |
785 | int i = pt.find( ' ' ); | 785 | int i = pt.find( ' ' ); |
786 | QString docname = pt; | 786 | QString docname = pt; |
787 | if ( i > 0 ) | 787 | if ( i > 0 ) |
788 | docname = pt.left( i ); | 788 | docname = pt.left( i ); |
789 | // remove "." at the beginning | 789 | // remove "." at the beginning |
790 | while( docname.startsWith( "." ) ) | 790 | while( docname.startsWith( "." ) ) |
791 | docname = docname.mid( 1 ); | 791 | docname = docname.mid( 1 ); |
792 | docname.replace( QRegExp("/"), "_" ); | 792 | docname.replace( QRegExp("/"), "_" ); |
793 | // cut the length. filenames longer than that don't make sense and something goes wrong when they get too long. | 793 | // cut the length. filenames longer than that don't make sense and something goes wrong when they get too long. |
794 | if ( docname.length() > 40 ) | 794 | if ( docname.length() > 40 ) |
795 | docname = docname.left(40); | 795 | docname = docname.left(40); |
796 | if ( docname.isEmpty() ) | 796 | if ( docname.isEmpty() ) |
797 | docname = tr("Unnamed"); | 797 | docname = tr("Unnamed"); |
798 | doc->setName(docname); | 798 | doc->setName(docname); |
799 | currentFileName=docname; | 799 | currentFileName=docname; |
800 | } | 800 | } |
801 | } | 801 | } |
802 | 802 | ||
803 | QMap<QString, QStringList> map; | 803 | QMap<QString, QStringList> map; |
804 | map.insert(tr("All"), QStringList() ); | 804 | map.insert(tr("All"), QStringList() ); |
805 | QStringList text; | 805 | QStringList text; |
806 | text << "text/*"; | 806 | text << "text/*"; |
807 | map.insert(tr("Text"), text ); | 807 | map.insert(tr("Text"), text ); |
808 | text << "*"; | 808 | text << "*"; |
809 | map.insert(tr("All"), text ); | 809 | map.insert(tr("All"), text ); |
810 | QString str = OFileDialog::getSaveFileName( 2,"/", QString::null, map); | 810 | QString str = OFileDialog::getSaveFileName( 2,"/", QString::null, map); |
811 | if(!str.isEmpty() ) { | 811 | if(!str.isEmpty() ) { |
812 | QString fileNm=str; | 812 | QString fileNm=str; |
813 | 813 | ||
814 | qDebug("saving filename "+fileNm); | 814 | qDebug("saving filename "+fileNm); |
815 | QFileInfo fi(fileNm); | 815 | QFileInfo fi(fileNm); |
816 | currentFileName=fi.fileName(); | 816 | currentFileName=fi.fileName(); |
817 | if(doc) { | 817 | if(doc) { |
818 | // QString file = doc->file(); | 818 | // QString file = doc->file(); |
819 | // doc->removeFiles(); | 819 | // doc->removeFiles(); |
820 | delete doc; | 820 | delete doc; |
821 | DocLnk nf; | 821 | DocLnk nf; |
822 | nf.setType("text/plain"); | 822 | nf.setType("text/plain"); |
823 | nf.setFile( fileNm); | 823 | nf.setFile( fileNm); |
824 | doc = new DocLnk(nf); | 824 | doc = new DocLnk(nf); |
825 | // editor->setText(rt); | 825 | // editor->setText(rt); |
826 | // qDebug("openFile doclnk "+currentFileName); | 826 | // qDebug("openFile doclnk "+currentFileName); |
827 | doc->setName( currentFileName); | 827 | doc->setName( currentFileName); |
828 | updateCaption( currentFileName); | 828 | updateCaption( currentFileName); |
829 | 829 | ||
830 | FileManager fm; | 830 | FileManager fm; |
831 | if ( !fm.saveFile( *doc, rt ) ) { | 831 | if ( !fm.saveFile( *doc, rt ) ) { |
832 | return false; | 832 | return false; |
833 | } | 833 | } |
834 | 834 | ||
835 | if( useAdvancedFfeatures ) { | 835 | if( useAdvancedFeatures ) { |
836 | filePermissions *filePerm; | 836 | filePermissions *filePerm; |
837 | filePerm = new filePermissions(this, tr("Permissions"),true,0,(const QString &)fileNm); | 837 | filePerm = new filePermissions(this, tr("Permissions"),true,0,(const QString &)fileNm); |
838 | filePerm->exec(); | 838 | filePerm->exec(); |
839 | 839 | ||
840 | if( filePerm) | 840 | if( filePerm) |
841 | delete filePerm; | 841 | delete filePerm; |
842 | } | 842 | } |
843 | } | 843 | } |
844 | } | 844 | } |
845 | editor->setEdited(TRUE); | 845 | editor->setEdited(TRUE); |
846 | edited1=FALSE; | 846 | edited1=FALSE; |
847 | edited=TRUE; | 847 | edited=TRUE; |
848 | if(caption().left(1)=="*") | 848 | if(caption().left(1)=="*") |
849 | setCaption(caption().right(caption().length()-1)); | 849 | setCaption(caption().right(caption().length()-1)); |
850 | 850 | ||
851 | return true; | 851 | return true; |
852 | } //end saveAs | 852 | } //end saveAs |
853 | 853 | ||
854 | void TextEdit::clear() | 854 | void TextEdit::clear() |
855 | { | 855 | { |
856 | delete doc; | 856 | delete doc; |
857 | doc = 0; | 857 | doc = 0; |
858 | editor->clear(); | 858 | editor->clear(); |
859 | } | 859 | } |
860 | 860 | ||
861 | void TextEdit::updateCaption( const QString &name ) | 861 | void TextEdit::updateCaption( const QString &name ) |
862 | { | 862 | { |
863 | if ( !doc ) | 863 | if ( !doc ) |
864 | setCaption( tr("Text Editor") ); | 864 | setCaption( tr("Text Editor") ); |
865 | else { | 865 | else { |
866 | QString s = name; | 866 | QString s = name; |
867 | if ( s.isNull() ) | 867 | if ( s.isNull() ) |
868 | s = doc->name(); | 868 | s = doc->name(); |
869 | if ( s.isEmpty() ) { | 869 | if ( s.isEmpty() ) { |
870 | s = tr( "Unnamed" ); | 870 | s = tr( "Unnamed" ); |
871 | currentFileName=s; | 871 | currentFileName=s; |
872 | } | 872 | } |
873 | if(s.left(1) == "/") | 873 | if(s.left(1) == "/") |
874 | s = s.right(s.length()-1); | 874 | s = s.right(s.length()-1); |
875 | setCaption( s + " - " + tr("Text Editor") ); | 875 | setCaption( s + " - " + tr("Text Editor") ); |
876 | } | 876 | } |
877 | } | 877 | } |
878 | 878 | ||
879 | void TextEdit::setDocument(const QString& fileref) | 879 | void TextEdit::setDocument(const QString& fileref) |
880 | { | 880 | { |
881 | bFromDocView = TRUE; | 881 | bFromDocView = TRUE; |
882 | openFile(fileref); | 882 | openFile(fileref); |
883 | editor->setEdited(TRUE); | 883 | editor->setEdited(TRUE); |
884 | edited1=FALSE; | 884 | edited1=FALSE; |
885 | edited=TRUE; | 885 | edited=TRUE; |
886 | doSearchBar(); | 886 | doSearchBar(); |
887 | } | 887 | } |
888 | 888 | ||
889 | void TextEdit::closeEvent( QCloseEvent *e ) | 889 | void TextEdit::closeEvent( QCloseEvent *e ) |
890 | { | 890 | { |
891 | bFromDocView = FALSE; | 891 | bFromDocView = FALSE; |
892 | e->accept(); | 892 | e->accept(); |
893 | } | 893 | } |
894 | 894 | ||
895 | void TextEdit::accept() | 895 | void TextEdit::accept() |
896 | { | 896 | { |
897 | //if(caption() !="Unnamed") | 897 | //if(caption() !="Unnamed") |
898 | if(edited1) | 898 | if(edited1) |
899 | saveAs(); | 899 | saveAs(); |
900 | exit(0); | 900 | exit(0); |
901 | 901 | ||
902 | } | 902 | } |
903 | 903 | ||
904 | void TextEdit::changeFont() { | 904 | void TextEdit::changeFont() { |
905 | FontDatabase fdb; | 905 | FontDatabase fdb; |
906 | QFont defaultFont=editor->font(); | 906 | QFont defaultFont=editor->font(); |
907 | QFontInfo fontInfo(defaultFont); | 907 | QFontInfo fontInfo(defaultFont); |
908 | Config cfg("TextEdit"); | 908 | Config cfg("TextEdit"); |
909 | cfg.setGroup("Font"); | 909 | cfg.setGroup("Font"); |
910 | QString family = cfg.readEntry("Family", fontInfo.family()); | 910 | QString family = cfg.readEntry("Family", fontInfo.family()); |
911 | QString style = cfg.readEntry("Style", fdb.styleString(defaultFont)); | 911 | QString style = cfg.readEntry("Style", fdb.styleString(defaultFont)); |
912 | int i_size = cfg.readNumEntry("Size", fontInfo.pointSize()/10); | 912 | int i_size = cfg.readNumEntry("Size", fontInfo.pointSize()/10); |
913 | QString charSet = cfg.readEntry("CharSet", QFont::encodingName( fontInfo.charSet()) ); | 913 | QString charSet = cfg.readEntry("CharSet", QFont::encodingName( fontInfo.charSet()) ); |
914 | 914 | ||
915 | defaultFont = fdb.font(family,style,i_size,charSet); | 915 | defaultFont = fdb.font(family,style,i_size,charSet); |
916 | 916 | ||
917 | FontDialog *fontDlg; | 917 | FontDialog *fontDlg; |
918 | fontDlg=new FontDialog(this,tr("FontDialog"),TRUE); | 918 | fontDlg=new FontDialog(this,tr("FontDialog"),TRUE); |
919 | 919 | ||
920 | fontDlg->exec(); | 920 | fontDlg->exec(); |
921 | 921 | ||
922 | QFont myFont=fontDlg->selectedFont; | 922 | QFont myFont=fontDlg->selectedFont; |
923 | editor->setFont( myFont); | 923 | editor->setFont( myFont); |
924 | delete fontDlg; | 924 | delete fontDlg; |
925 | 925 | ||
926 | } | 926 | } |
927 | 927 | ||
928 | void TextEdit::editDelete() | 928 | void TextEdit::editDelete() |
929 | { | 929 | { |
930 | switch ( QMessageBox::warning(this,tr("Text Editor"),tr("Do you really want\nto delete the current file\nfrom the disk?\nThis is irreversable!!"),tr("Yes"),tr("No"),0,0,1) ) { | 930 | switch ( QMessageBox::warning(this,tr("Text Editor"),tr("Do you really want\nto delete the current file\nfrom the disk?\nThis is irreversable!!"),tr("Yes"),tr("No"),0,0,1) ) { |
931 | case 0: | 931 | case 0: |
932 | if(doc) { | 932 | if(doc) { |
933 | doc->removeFiles(); | 933 | doc->removeFiles(); |
934 | clear(); | 934 | clear(); |
935 | setCaption( tr("Text Editor") ); | 935 | setCaption( tr("Text Editor") ); |
936 | } | 936 | } |
937 | break; | 937 | break; |
938 | case 1: | 938 | case 1: |
939 | // exit | 939 | // exit |
940 | break; | 940 | break; |
941 | }; | 941 | }; |
942 | } | 942 | } |
943 | 943 | ||
944 | void TextEdit::changeStartConfig( bool b ) { | 944 | void TextEdit::changeStartConfig( bool b ) { |
945 | 945 | ||
946 | Config cfg("TextEdit"); | 946 | Config cfg("TextEdit"); |
947 | cfg.setGroup("View"); | 947 | cfg.setGroup("View"); |
948 | if(b) { | 948 | if(b) { |
949 | qDebug("bool"); | 949 | qDebug("bool"); |
950 | cfg.writeEntry("startNew","TRUE"); | 950 | cfg.writeEntry("startNew","TRUE"); |
951 | } else { | 951 | } else { |
952 | cfg.writeEntry("startNew","FALSE"); | 952 | cfg.writeEntry("startNew","FALSE"); |
953 | } | 953 | } |
954 | update(); | 954 | update(); |
955 | } | 955 | } |
956 | 956 | ||
957 | void TextEdit::editorChanged() { | 957 | void TextEdit::editorChanged() { |
958 | if(editor->edited() && edited && !edited1) { | 958 | if(editor->edited() && edited && !edited1) { |
959 | setCaption( "*"+caption()); | 959 | setCaption( "*"+caption()); |
960 | edited1=TRUE; | 960 | edited1=TRUE; |
961 | } | 961 | } |
962 | edited=TRUE; | 962 | edited=TRUE; |
963 | } | 963 | } |
964 | 964 | ||
965 | void TextEdit::receive(const QCString&msg, const QByteArray&) { | 965 | void TextEdit::receive(const QCString&msg, const QByteArray&) { |
966 | qDebug("QCop "+msg); | 966 | qDebug("QCop "+msg); |
967 | if ( msg == "setDocument(QString)" ) { | 967 | if ( msg == "setDocument(QString)" ) { |
968 | qDebug("bugger all"); | 968 | qDebug("bugger all"); |
969 | } | 969 | } |
970 | 970 | ||
971 | } | 971 | } |
972 | void TextEdit::doAbout() { | 972 | void TextEdit::doAbout() { |
973 | QMessageBox::about(0,"Text Edit","Text Edit is copyright\n" | 973 | QMessageBox::about(0,"Text Edit","Text Edit is copyright\n" |
974 | "2000 Trolltech AS, and\n" | 974 | "2000 Trolltech AS, and\n" |
975 | "2002 by L.J.Potter \nljp@llornkcor.com\n" | 975 | "2002 by L.J.Potter \nljp@llornkcor.com\n" |
976 | "and is licensed under the GPL"); | 976 | "and is licensed under the GPL"); |
977 | } | 977 | } |
978 | 978 | ||
979 | void TextEdit::doAdvanced(bool b) { | 979 | void TextEdit::doAdvanced(bool b) { |
980 | useAdvancedFeatures=b; | 980 | useAdvancedFeatures=b; |
981 | Config cfg("TextEdit"); | 981 | Config cfg("TextEdit"); |
982 | cfg.setGroup("View"); | 982 | cfg.setGroup("View"); |
983 | cfg.writeEntry("AdvancedFeatures",b); | 983 | cfg.writeEntry("AdvancedFeatures",b); |
984 | } | 984 | } |