-rw-r--r-- | core/apps/textedit/textedit.cpp | 37 |
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 */ |
927 | bool TextEdit::saveAs() { | 927 | bool 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 | ||
1045 | void TextEdit::clear() { | 1045 | void TextEdit::clear() { |
1046 | delete doc; | 1046 | delete doc; |
1047 | doc = 0; | 1047 | doc = 0; |
1048 | editor->clear(); | 1048 | editor->clear(); |
1049 | } | 1049 | } |
1050 | 1050 | ||
1051 | void TextEdit::updateCaption( const QString &name ) { | 1051 | void 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 | ||
1069 | void TextEdit::setDocument(const QString& fileref) { | 1069 | void 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 | ||
1126 | void TextEdit::changeStartConfig( bool b ) { | 1126 | void 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 | ||
1134 | void TextEdit::editorChanged() { | 1134 | void 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 | ||
1143 | void TextEdit::receive(const QCString&msg, const QByteArray &) { | 1143 | void 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 | ||
1152 | void TextEdit::doAbout() { | 1152 | void 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 | ||
1159 | void TextEdit::doPrompt(bool b) { | 1159 | void 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 | ||
1166 | void TextEdit::doDesktop(bool b) { | 1166 | void 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 | ||
1173 | void TextEdit::doFilePerms(bool b) { | 1173 | void 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 | ||
1180 | void TextEdit::editPasteTimeDate() { | 1180 | void 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 | ||
1189 | int TextEdit::savePrompt() | 1189 | int 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 | ||
1219 | void TextEdit::timerCrank() | 1219 | void 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 | ||
1240 | void TextEdit::doTimer(bool b) | 1237 | void 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 | ||
1256 | void TextEdit::setTimer() | 1253 | void TextEdit::setTimer() |
1257 | { | 1254 | { |
1258 | if(featureAutoSave) | 1255 | if(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 | } |