summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/apps/textedit/textedit.cpp37
1 files changed, 17 insertions, 20 deletions
diff --git a/core/apps/textedit/textedit.cpp b/core/apps/textedit/textedit.cpp
index 1e8ce7f..f571511 100644
--- a/core/apps/textedit/textedit.cpp
+++ b/core/apps/textedit/textedit.cpp
@@ -896,194 +896,194 @@ bool TextEdit::save() {
896 if ( !fm.saveFile( *doc, rt ) ) { 896 if ( !fm.saveFile( *doc, rt ) ) {
897 return false; 897 return false;
898 } 898 }
899 } else { 899 } else {
900 qDebug("regular save file"); 900 qDebug("regular save file");
901 QFile f(file); 901 QFile f(file);
902 if( f.open(IO_WriteOnly)) { 902 if( f.open(IO_WriteOnly)) {
903 QCString crt = rt.utf8(); 903 QCString crt = rt.utf8();
904 f.writeBlock(crt,crt.length()); 904 f.writeBlock(crt,crt.length());
905 } else { 905 } else {
906 QMessageBox::message(tr("Text Edit"),tr("Write Failed")); 906 QMessageBox::message(tr("Text Edit"),tr("Write Failed"));
907 return false; 907 return false;
908 } 908 }
909 909
910 } 910 }
911 editor->setEdited( false); 911 editor->setEdited( false);
912 edited1=false; 912 edited1=false;
913 edited=false; 913 edited=false;
914 if(caption().left(1)=="*") 914 if(caption().left(1)=="*")
915 setCaption(caption().right(caption().length()-1)); 915 setCaption(caption().right(caption().length()-1));
916 916
917 917
918 chmod( file.latin1(), mode); 918 chmod( file.latin1(), mode);
919 } 919 }
920 return true; 920 return true;
921 } 921 }
922 return false; 922 return false;
923} 923}
924 924
925/*! 925/*!
926 prompted save */ 926 prompted save */
927bool TextEdit::saveAs() { 927bool TextEdit::saveAs() {
928 928
929 if(caption() == tr("Text Editor")) 929 if(caption() == tr("Text Editor"))
930 return false; 930 return false;
931 qDebug("saveAsFile " + currentFileName); 931 qDebug("saveAsFile " + currentFileName);
932 // case of nothing to save... 932 // case of nothing to save...
933// if ( !doc && !currentFileName.isEmpty()) { 933// if ( !doc && !currentFileName.isEmpty()) {
934// //|| !bFromDocView) 934// //|| !bFromDocView)
935// qDebug("no doc"); 935// qDebug("no doc");
936// return true; 936// return true;
937// } 937// }
938// if ( !editor->edited() ) { 938// if ( !editor->edited() ) {
939// delete doc; 939// delete doc;
940// doc = 0; 940// doc = 0;
941// return true; 941// return true;
942// } 942// }
943 943
944 QString rt = editor->text(); 944 QString rt = editor->text();
945 qDebug(currentFileName); 945 qDebug(currentFileName);
946 946
947 if( currentFileName.isEmpty() 947 if( currentFileName.isEmpty()
948 || currentFileName == tr("Unnamed") 948 || currentFileName == tr("Unnamed")
949 || currentFileName == tr("Text Editor")) { 949 || currentFileName == tr("Text Editor")) {
950 qDebug("do silly TT filename thing"); 950 qDebug("do silly TT filename thing");
951// if ( doc && doc->name().isEmpty() ) { 951// if ( doc && doc->name().isEmpty() ) {
952 QString pt = rt.simplifyWhiteSpace(); 952 QString pt = rt.simplifyWhiteSpace();
953 int i = pt.find( ' ' ); 953 int i = pt.find( ' ' );
954 QString docname = pt; 954 QString docname = pt;
955 if ( i > 0 ) 955 if ( i > 0 )
956 docname = pt.left( i ); 956 docname = pt.left( i );
957 // remove "." at the beginning 957 // remove "." at the beginning
958 while( docname.startsWith( "." ) ) 958 while( docname.startsWith( "." ) )
959 docname = docname.mid( 1 ); 959 docname = docname.mid( 1 );
960 docname.replace( QRegExp("/"), "_" ); 960 docname.replace( QRegExp("/"), "_" );
961 // cut the length. filenames longer than that 961 // cut the length. filenames longer than that
962 //don't make sense and something goes wrong when they get too long. 962 //don't make sense and something goes wrong when they get too long.
963 if ( docname.length() > 40 ) 963 if ( docname.length() > 40 )
964 docname = docname.left(40); 964 docname = docname.left(40);
965 if ( docname.isEmpty() ) 965 if ( docname.isEmpty() )
966 docname = tr("Unnamed"); 966 docname = tr("Unnamed");
967 if(doc) doc->setName(docname); 967 if(doc) doc->setName(docname);
968 currentFileName=docname; 968 currentFileName=docname;
969// } 969// }
970// else 970// else
971// qDebug("hmmmmmm"); 971// qDebug("hmmmmmm");
972 } 972 }
973 973
974 974
975 QMap<QString, QStringList> map; 975 QMap<QString, QStringList> map;
976 map.insert(tr("All"), QStringList() ); 976 map.insert(tr("All"), QStringList() );
977 QStringList text; 977 QStringList text;
978 text << "text/*"; 978 text << "text/*";
979 map.insert(tr("Text"), text ); 979 map.insert(tr("Text"), text );
980 text << "*"; 980 text << "*";
981 map.insert(tr("All"), text ); 981 map.insert(tr("All"), text );
982 982
983 QFileInfo cuFi( currentFileName); 983 QFileInfo cuFi( currentFileName);
984 QString filee = cuFi.fileName(); 984 QString filee = cuFi.fileName();
985 QString dire = cuFi.dirPath(); 985 QString dire = cuFi.dirPath();
986 if(dire==".") 986 if(dire==".")
987 dire = QPEApplication::documentDir(); 987 dire = QPEApplication::documentDir();
988 QString str; 988 QString str;
989 if( !featureAutoSave) 989 if( !featureAutoSave)
990 { 990 {
991 str = OFileDialog::getSaveFileName( 2, 991 str = OFileDialog::getSaveFileName( 2,
992 dire, 992 dire,
993 filee, map); 993 filee, map);
994 } 994 }
995 else 995 else
996 str=currentFileName; 996 str=currentFileName;
997 if(!str.isEmpty()) { 997 if(!str.isEmpty()) {
998 QString fileNm=str; 998 QString fileNm=str;
999 999
1000 qDebug("saving filename "+fileNm); 1000 qDebug("saving filename "+fileNm);
1001 QFileInfo fi(fileNm); 1001 QFileInfo fi(fileNm);
1002 currentFileName=fi.fileName(); 1002 currentFileName=fi.fileName();
1003 if(doc) 1003 if(doc)
1004// QString file = doc->file(); 1004// QString file = doc->file();
1005// doc->removeFiles(); 1005// doc->removeFiles();
1006 delete doc; 1006 delete doc;
1007 DocLnk nf; 1007 DocLnk nf;
1008 nf.setType("text/plain"); 1008 nf.setType("text/plain");
1009 nf.setFile( fileNm); 1009 nf.setFile( fileNm);
1010 doc = new DocLnk(nf); 1010 doc = new DocLnk(nf);
1011// editor->setText(rt); 1011// editor->setText(rt);
1012 qDebug("Saving file as "+currentFileName); 1012 qDebug("Saving file as "+currentFileName);
1013 doc->setName( currentFileName); 1013 doc->setName( currentFileName);
1014 updateCaption( currentFileName); 1014 updateCaption( currentFileName);
1015 1015
1016 FileManager fm; 1016 FileManager fm;
1017 if ( !fm.saveFile( *doc, rt ) ) { 1017 if ( !fm.saveFile( *doc, rt ) ) {
1018 return false; 1018 return false;
1019 } 1019 }
1020 1020
1021 if( filePerms ) { 1021 if( filePerms ) {
1022 filePermissions *filePerm; 1022 filePermissions *filePerm;
1023 filePerm = new filePermissions(this, 1023 filePerm = new filePermissions(this,
1024 tr("Permissions"),true, 1024 tr("Permissions"),true,
1025 0,(const QString &)fileNm); 1025 0,(const QString &)fileNm);
1026 filePerm->showMaximized(); 1026 filePerm->showMaximized();
1027 filePerm->exec(); 1027 filePerm->exec();
1028 1028
1029 if( filePerm) 1029 if( filePerm)
1030 delete filePerm; 1030 delete filePerm;
1031 } 1031 }
1032// } 1032// }
1033 editor->setEdited( false); 1033 editor->setEdited( false);
1034 edited1 = false; 1034 edited1 = false;
1035 edited = false; 1035 edited = false;
1036 if(caption().left(1)=="*") 1036 if(caption().left(1)=="*")
1037 setCaption(caption().right(caption().length()-1)); 1037 setCaption(caption().right(caption().length()-1));
1038 1038
1039 return true; 1039 return true;
1040 } 1040 }
1041 qDebug("returning false"); 1041 qDebug("returning false");
1042 return false; 1042 return false;
1043} //end saveAs 1043} //end saveAs
1044 1044
1045void TextEdit::clear() { 1045void TextEdit::clear() {
1046 delete doc; 1046 delete doc;
1047 doc = 0; 1047 doc = 0;
1048 editor->clear(); 1048 editor->clear();
1049} 1049}
1050 1050
1051void TextEdit::updateCaption( const QString &name ) { 1051void TextEdit::updateCaption( const QString &name ) {
1052 1052
1053 if ( name.isEmpty() ) 1053 if ( name.isEmpty() )
1054 setCaption( tr("Text Editor") ); 1054 setCaption( tr("Text Editor") );
1055 else { 1055 else {
1056 QString s = name; 1056 QString s = name;
1057 if ( s.isNull() ) 1057 if ( s.isNull() )
1058 s = doc->name(); 1058 s = doc->name();
1059 if ( s.isEmpty() ) { 1059 if ( s.isEmpty() ) {
1060 s = tr( "Unnamed" ); 1060 s = tr( "Unnamed" );
1061 currentFileName=s; 1061 currentFileName=s;
1062 } 1062 }
1063// if(s.left(1) == "/") 1063// if(s.left(1) == "/")
1064// s = s.right(s.length()-1); 1064// s = s.right(s.length()-1);
1065 setCaption( s + " - " + tr("Text Editor") ); 1065 setCaption( s + " - " + tr("Text Editor") );
1066 } 1066 }
1067} 1067}
1068 1068
1069void TextEdit::setDocument(const QString& fileref) { 1069void TextEdit::setDocument(const QString& fileref) {
1070 if(fileref != "Unnamed") { 1070 if(fileref != "Unnamed") {
1071 currentFileName=fileref; 1071 currentFileName=fileref;
1072 qDebug("setDocument"); 1072 qDebug("setDocument");
1073 QFileInfo fi(currentFileName); 1073 QFileInfo fi(currentFileName);
1074 qDebug("basename:"+fi.baseName()+": current filenmame "+currentFileName); 1074 qDebug("basename:"+fi.baseName()+": current filenmame "+currentFileName);
1075 if( (fi.baseName().left(1)).isEmpty() ) { 1075 if( (fi.baseName().left(1)).isEmpty() ) {
1076 openDotFile(currentFileName); 1076 openDotFile(currentFileName);
1077 1077
1078 } else { 1078 } else {
1079 qDebug("setDoc open"); 1079 qDebug("setDoc open");
1080 bFromDocView = true; 1080 bFromDocView = true;
1081 openFile(fileref); 1081 openFile(fileref);
1082 editor->setEdited(true); 1082 editor->setEdited(true);
1083 edited1=false; 1083 edited1=false;
1084 edited=true; 1084 edited=true;
1085 // fromSetDocument=false; 1085 // fromSetDocument=false;
1086 // doSearchBar(); 1086 // doSearchBar();
1087 } 1087 }
1088 } 1088 }
1089 updateCaption( currentFileName); 1089 updateCaption( currentFileName);
@@ -1125,141 +1125,138 @@ void TextEdit::editDelete() {
1125 1125
1126void TextEdit::changeStartConfig( bool b ) { 1126void TextEdit::changeStartConfig( bool b ) {
1127 startWithNew=b; 1127 startWithNew=b;
1128 Config cfg("TextEdit"); 1128 Config cfg("TextEdit");
1129 cfg.setGroup("View"); 1129 cfg.setGroup("View");
1130 cfg.writeEntry("startNew",b); 1130 cfg.writeEntry("startNew",b);
1131 update(); 1131 update();
1132} 1132}
1133 1133
1134void TextEdit::editorChanged() { 1134void TextEdit::editorChanged() {
1135// qDebug("editor changed"); 1135// qDebug("editor changed");
1136 if( /*editor->edited() &&*/ /*edited && */!edited1) { 1136 if( /*editor->edited() &&*/ /*edited && */!edited1) {
1137 setCaption( "*"+caption()); 1137 setCaption( "*"+caption());
1138 edited1=true; 1138 edited1=true;
1139 } 1139 }
1140 edited=true; 1140 edited=true;
1141} 1141}
1142 1142
1143void TextEdit::receive(const QCString&msg, const QByteArray &) { 1143void TextEdit::receive(const QCString&msg, const QByteArray &) {
1144 qDebug("QCop "+msg); 1144 qDebug("QCop "+msg);
1145 if ( msg == "setDocument(QString)" ) { 1145 if ( msg == "setDocument(QString)" ) {
1146 qDebug("bugger all"); 1146 qDebug("bugger all");
1147 1147
1148 } 1148 }
1149 1149
1150} 1150}
1151 1151
1152void TextEdit::doAbout() { 1152void TextEdit::doAbout() {
1153 QMessageBox::about(0,tr("Text Edit"),tr("Text Edit is copyright<BR>" 1153 QMessageBox::about(0,tr("Text Edit"),tr("Text Edit is copyright<BR>"
1154 "2000 Trolltech AS, and<BR>" 1154 "2000 Trolltech AS, and<BR>"
1155 "2002 by <B>L. J. Potter <BR>llornkcor@handhelds.org</B><BR>" 1155 "2002 by <B>L. J. Potter <BR>llornkcor@handhelds.org</B><BR>"
1156 "and is licensed under the GPL")); 1156 "and is licensed under the GPL"));
1157} 1157}
1158 1158
1159void TextEdit::doPrompt(bool b) { 1159void TextEdit::doPrompt(bool b) {
1160 promptExit=b; 1160 promptExit=b;
1161 Config cfg("TextEdit"); 1161 Config cfg("TextEdit");
1162 cfg.setGroup ( "View" ); 1162 cfg.setGroup ( "View" );
1163 cfg.writeEntry ( "PromptExit", b); 1163 cfg.writeEntry ( "PromptExit", b);
1164} 1164}
1165 1165
1166void TextEdit::doDesktop(bool b) { 1166void TextEdit::doDesktop(bool b) {
1167 openDesktop=b; 1167 openDesktop=b;
1168 Config cfg("TextEdit"); 1168 Config cfg("TextEdit");
1169 cfg.setGroup ( "View" ); 1169 cfg.setGroup ( "View" );
1170 cfg.writeEntry ( "OpenDesktop", b); 1170 cfg.writeEntry ( "OpenDesktop", b);
1171} 1171}
1172 1172
1173void TextEdit::doFilePerms(bool b) { 1173void TextEdit::doFilePerms(bool b) {
1174 filePerms=b; 1174 filePerms=b;
1175 Config cfg("TextEdit"); 1175 Config cfg("TextEdit");
1176 cfg.setGroup ( "View" ); 1176 cfg.setGroup ( "View" );
1177 cfg.writeEntry ( "FilePermissions", b); 1177 cfg.writeEntry ( "FilePermissions", b);
1178} 1178}
1179 1179
1180void TextEdit::editPasteTimeDate() { 1180void TextEdit::editPasteTimeDate() {
1181#ifndef QT_NO_CLIPBOARD 1181#ifndef QT_NO_CLIPBOARD
1182 QClipboard *cb = QApplication::clipboard(); 1182 QClipboard *cb = QApplication::clipboard();
1183 QDateTime dt = QDateTime::currentDateTime(); 1183 QDateTime dt = QDateTime::currentDateTime();
1184 cb->setText( dt.toString()); 1184 cb->setText( dt.toString());
1185 editor->paste(); 1185 editor->paste();
1186#endif 1186#endif
1187} 1187}
1188 1188
1189int TextEdit::savePrompt() 1189int TextEdit::savePrompt()
1190{ 1190{
1191 switch( QMessageBox::information( 0, (tr("Textedit")), 1191 switch( QMessageBox::information( 0, (tr("Textedit")),
1192 (tr("Textedit detected\n" 1192 (tr("Textedit detected\n"
1193 "you have unsaved changes\n" 1193 "you have unsaved changes\n"
1194 "Go ahead and save?\n")), 1194 "Go ahead and save?\n")),
1195 (tr("Save")), (tr("Don't Save")), (tr("&Cancel")), 2, 2 ) ) 1195 (tr("Save")), (tr("Don't Save")), (tr("&Cancel")), 2, 2 ) )
1196 { 1196 {
1197 case 0: 1197 case 0:
1198 { 1198 {
1199 return 1; 1199 return 1;
1200 } 1200 }
1201 break; 1201 break;
1202 1202
1203 case 1: 1203 case 1:
1204 { 1204 {
1205 return 2; 1205 return 2;
1206 } 1206 }
1207 break; 1207 break;
1208 1208
1209 case 2: 1209 case 2:
1210 { 1210 {
1211 return -1; 1211 return -1;
1212 } 1212 }
1213 break; 1213 break;
1214 }; 1214 };
1215 1215
1216 return 0; 1216 return 0;
1217} 1217}
1218 1218
1219void TextEdit::timerCrank() 1219void TextEdit::timerCrank()
1220{ 1220{
1221 if(featureAutoSave) 1221 if(featureAutoSave && edited1)
1222 { 1222 {
1223 if( edited1 ) 1223 if(currentFileName.isEmpty())
1224 { 1224 {
1225 if(currentFileName.isEmpty()) 1225 currentFileName = QDir::homeDirPath()+"/textedit.tmp";
1226 { 1226 saveAs();
1227 currentFileName = QDir::homeDirPath()+"/textedit.tmp";
1228 saveAs();
1229 }
1230 else
1231 {
1232 qDebug("autosave");
1233 save();
1234 }
1235 setTimer();
1236 } 1227 }
1228 else
1229 {
1230// qDebug("autosave");
1231 save();
1232 }
1233 setTimer();
1237 } 1234 }
1238} 1235}
1239 1236
1240void TextEdit::doTimer(bool b) 1237void TextEdit::doTimer(bool b)
1241{ 1238{
1242 Config cfg("TextEdit"); 1239 Config cfg("TextEdit");
1243 cfg.setGroup ( "View" ); 1240 cfg.setGroup ( "View" );
1244 cfg.writeEntry ( "autosave", b); 1241 cfg.writeEntry ( "autosave", b);
1245 featureAutoSave = b; 1242 featureAutoSave = b;
1246 nAutoSave->setOn(b); 1243 nAutoSave->setOn(b);
1247 if(b) 1244 if(b)
1248 { 1245 {
1249 qDebug("doTimer true"); 1246// qDebug("doTimer true");
1250 setTimer(); 1247 setTimer();
1251 } 1248 }
1252 else 1249// else
1253 qDebug("doTimer false"); 1250// qDebug("doTimer false");
1254} 1251}
1255 1252
1256void TextEdit::setTimer() 1253void TextEdit::setTimer()
1257{ 1254{
1258if(featureAutoSave) 1255if(featureAutoSave)
1259 { 1256 {
1260 qDebug("setting autosave"); 1257// qDebug("setting autosave");
1261 QTimer *timer = new QTimer(this ); 1258 QTimer *timer = new QTimer(this );
1262 connect( timer, SIGNAL(timeout()), this, SLOT(timerCrank()) ); 1259 connect( timer, SIGNAL(timeout()), this, SLOT(timerCrank()) );
1263 timer->start( 30000/*0*/, true); //5 minutes 1260 timer->start( 300000, true); //5 minutes
1264 } 1261 }
1265} 1262}