author | llornkcor <llornkcor> | 2003-03-16 21:13:17 (UTC) |
---|---|---|
committer | llornkcor <llornkcor> | 2003-03-16 21:13:17 (UTC) |
commit | a637dff6d55b28cba58b8116b457c5bf46daab57 (patch) (unidiff) | |
tree | 8698751b7d4c4817f83844898a697d5921d35ae5 | |
parent | 75ebe1838923e121cb093310f7f7c1b021abdcc1 (diff) | |
download | opie-a637dff6d55b28cba58b8116b457c5bf46daab57.zip opie-a637dff6d55b28cba58b8116b457c5bf46daab57.tar.gz opie-a637dff6d55b28cba58b8116b457c5bf46daab57.tar.bz2 |
fix open .desktop file
-rw-r--r-- | core/apps/textedit/textedit.cpp | 149 |
1 files changed, 78 insertions, 71 deletions
diff --git a/core/apps/textedit/textedit.cpp b/core/apps/textedit/textedit.cpp index 5edf102..59a605a 100644 --- a/core/apps/textedit/textedit.cpp +++ b/core/apps/textedit/textedit.cpp | |||
@@ -192,7 +192,7 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) | |||
192 | QPopupMenu *file = new QPopupMenu( this ); | 192 | QPopupMenu *file = new QPopupMenu( this ); |
193 | QPopupMenu *edit = new QPopupMenu( this ); | 193 | QPopupMenu *edit = new QPopupMenu( this ); |
194 | QPopupMenu *advancedMenu = new QPopupMenu(this); | 194 | QPopupMenu *advancedMenu = new QPopupMenu(this); |
195 | 195 | ||
196 | font = new QPopupMenu( this ); | 196 | font = new QPopupMenu( this ); |
197 | 197 | ||
198 | bar = new QPEToolBar( this ); | 198 | bar = new QPEToolBar( this ); |
@@ -247,7 +247,7 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) | |||
247 | connect( a, SIGNAL( activated() ), this, SLOT( editPasteTimeDate() ) ); | 247 | connect( a, SIGNAL( activated() ), this, SLOT( editPasteTimeDate() ) ); |
248 | a->addTo( edit ); | 248 | a->addTo( edit ); |
249 | #endif | 249 | #endif |
250 | 250 | ||
251 | a = new QAction( tr( "Goto Line..." ), Resource::loadPixmap( "find" ), | 251 | a = new QAction( tr( "Goto Line..." ), Resource::loadPixmap( "find" ), |
252 | QString::null, 0, this, 0 ); | 252 | QString::null, 0, this, 0 ); |
253 | connect( a, SIGNAL( activated() ), this, SLOT( gotoLine() ) ); | 253 | connect( a, SIGNAL( activated() ), this, SLOT( gotoLine() ) ); |
@@ -274,7 +274,7 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) | |||
274 | 274 | ||
275 | font->insertSeparator(); | 275 | font->insertSeparator(); |
276 | font->insertItem(tr("Advanced Features"), advancedMenu); | 276 | font->insertItem(tr("Advanced Features"), advancedMenu); |
277 | 277 | ||
278 | QAction *wa = new QAction( tr("Wrap lines"), | 278 | QAction *wa = new QAction( tr("Wrap lines"), |
279 | QString::null, 0, this, 0 ); | 279 | QString::null, 0, this, 0 ); |
280 | connect( wa, SIGNAL( toggled(bool) ), | 280 | connect( wa, SIGNAL( toggled(bool) ), |
@@ -324,7 +324,7 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) | |||
324 | this, SLOT( doTimer(bool) ) ); | 324 | this, SLOT( doTimer(bool) ) ); |
325 | nAutoSave->setToggleAction(true); | 325 | nAutoSave->setToggleAction(true); |
326 | nAutoSave->addTo( advancedMenu); | 326 | nAutoSave->addTo( advancedMenu); |
327 | 327 | ||
328 | 328 | ||
329 | font->insertSeparator(); | 329 | font->insertSeparator(); |
330 | 330 | ||
@@ -383,7 +383,6 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) | |||
383 | 383 | ||
384 | defaultFont = QFont ( family, size, weight, italic ); | 384 | defaultFont = QFont ( family, size, weight, italic ); |
385 | editor-> setFont ( defaultFont ); | 385 | editor-> setFont ( defaultFont ); |
386 | |||
387 | // updateCaption(); | 386 | // updateCaption(); |
388 | 387 | ||
389 | cfg.setGroup ( "View" ); | 388 | cfg.setGroup ( "View" ); |
@@ -394,7 +393,7 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) | |||
394 | useSearchBar = cfg.readBoolEntry ( "SearchBar", false ); | 393 | useSearchBar = cfg.readBoolEntry ( "SearchBar", false ); |
395 | startWithNew = cfg.readBoolEntry ( "startNew", true); | 394 | startWithNew = cfg.readBoolEntry ( "startNew", true); |
396 | featureAutoSave = cfg.readBoolEntry( "autosave", false); | 395 | featureAutoSave = cfg.readBoolEntry( "autosave", false); |
397 | 396 | ||
398 | if(useSearchBar) searchBarAction->setOn(true); | 397 | if(useSearchBar) searchBarAction->setOn(true); |
399 | if(promptExit) nAdvanced->setOn( true ); | 398 | if(promptExit) nAdvanced->setOn( true ); |
400 | if(openDesktop) desktopAction->setOn( true ); | 399 | if(openDesktop) desktopAction->setOn( true ); |
@@ -405,7 +404,7 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) | |||
405 | // { | 404 | // { |
406 | // doTimer(true); | 405 | // doTimer(true); |
407 | // } | 406 | // } |
408 | 407 | ||
409 | bool wrap = cfg. readBoolEntry ( "Wrap", true ); | 408 | bool wrap = cfg. readBoolEntry ( "Wrap", true ); |
410 | wa-> setOn ( wrap ); | 409 | wa-> setOn ( wrap ); |
411 | setWordWrap ( wrap ); | 410 | setWordWrap ( wrap ); |
@@ -413,7 +412,7 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) | |||
413 | ///////////////// | 412 | ///////////////// |
414 | if( qApp->argc() > 1) { | 413 | if( qApp->argc() > 1) { |
415 | currentFileName=qApp->argv()[1]; | 414 | currentFileName=qApp->argv()[1]; |
416 | 415 | ||
417 | QFileInfo fi(currentFileName); | 416 | QFileInfo fi(currentFileName); |
418 | 417 | ||
419 | if(fi.baseName().left(1) == "") { | 418 | if(fi.baseName().left(1) == "") { |
@@ -446,23 +445,23 @@ void TextEdit::closeEvent(QCloseEvent *) { | |||
446 | } | 445 | } |
447 | break; | 446 | break; |
448 | 447 | ||
449 | case 2: | 448 | case 2: |
450 | { | 449 | { |
451 | qApp->quit(); | 450 | qApp->quit(); |
452 | } | 451 | } |
453 | break; | 452 | break; |
454 | 453 | ||
455 | case -1: | 454 | case -1: |
456 | break; | 455 | break; |
457 | }; | 456 | }; |
458 | } | 457 | } |
459 | else | 458 | else |
460 | qApp->quit(); | 459 | qApp->quit(); |
461 | 460 | ||
462 | } | 461 | } |
463 | 462 | ||
464 | void TextEdit::cleanUp() { | 463 | void TextEdit::cleanUp() { |
465 | 464 | ||
466 | Config cfg ( "TextEdit" ); | 465 | Config cfg ( "TextEdit" ); |
467 | cfg. setGroup ( "Font" ); | 466 | cfg. setGroup ( "Font" ); |
468 | QFont f = editor->font(); | 467 | QFont f = editor->font(); |
@@ -470,7 +469,7 @@ void TextEdit::cleanUp() { | |||
470 | cfg.writeEntry ( "Size", f. pointSize ( )); | 469 | cfg.writeEntry ( "Size", f. pointSize ( )); |
471 | cfg.writeEntry ( "Weight", f. weight ( )); | 470 | cfg.writeEntry ( "Weight", f. weight ( )); |
472 | cfg.writeEntry ( "Italic", f. italic ( )); | 471 | cfg.writeEntry ( "Italic", f. italic ( )); |
473 | 472 | ||
474 | cfg.setGroup ( "View" ); | 473 | cfg.setGroup ( "View" ); |
475 | cfg.writeEntry ( "Wrap", editor->wordWrap() == QMultiLineEdit::WidgetWidth ); | 474 | cfg.writeEntry ( "Wrap", editor->wordWrap() == QMultiLineEdit::WidgetWidth ); |
476 | cfg.writeEntry ( "FileView", viewSelection ); | 475 | cfg.writeEntry ( "FileView", viewSelection ); |
@@ -559,7 +558,7 @@ void TextEdit::setSearchBar(bool b) { | |||
559 | searchBar->show(); | 558 | searchBar->show(); |
560 | else | 559 | else |
561 | searchBar->hide(); | 560 | searchBar->hide(); |
562 | editor->setFocus(); | 561 | editor->setFocus(); |
563 | } | 562 | } |
564 | 563 | ||
565 | void TextEdit::fileNew() { | 564 | void TextEdit::fileNew() { |
@@ -675,7 +674,7 @@ void TextEdit::newFile( const DocLnk &f ) { | |||
675 | void TextEdit::openDotFile( const QString &f ) { | 674 | void TextEdit::openDotFile( const QString &f ) { |
676 | if(!currentFileName.isEmpty()) { | 675 | if(!currentFileName.isEmpty()) { |
677 | currentFileName=f; | 676 | currentFileName=f; |
678 | 677 | ||
679 | qDebug("openFile dotfile " + currentFileName); | 678 | qDebug("openFile dotfile " + currentFileName); |
680 | QString txt; | 679 | QString txt; |
681 | QFile file(f); | 680 | QFile file(f); |
@@ -695,50 +694,58 @@ void TextEdit::openDotFile( const QString &f ) { | |||
695 | } | 694 | } |
696 | 695 | ||
697 | void TextEdit::openFile( const QString &f ) { | 696 | void TextEdit::openFile( const QString &f ) { |
698 | qDebug("filename is "+ f); | 697 | qDebug("filename is "+ f); |
699 | QString filer; | 698 | QString filer; |
700 | QFileInfo fi( f); | 699 | QFileInfo fi( f); |
701 | // bFromDocView = true; | 700 | // bFromDocView = true; |
702 | if(f.find(".desktop",0,true) != -1 && !openDesktop ) { | 701 | if(f.find(".desktop",0,true) != -1 && !openDesktop ) |
703 | switch ( QMessageBox::warning(this,tr("Text Editor"), | 702 | { |
704 | tr("Text Editor has detected<BR>you selected a <B>.desktop</B> | 703 | switch ( QMessageBox::warning(this,tr("Text Editor"), |
704 | tr("Text Editor has detected<BR>you selected a <B>.desktop</B> | ||
705 | file.<BR>Open <B>.desktop</B> file or <B>linked</B> file?"), | 705 | file.<BR>Open <B>.desktop</B> file or <B>linked</B> file?"), |
706 | tr(".desktop File"),tr("Linked Document"),0,1,1) ) { | 706 | tr(".desktop File"),tr("Linked Document"),0,1,1) ) |
707 | case 0: | 707 | { |
708 | filer = f; | 708 | case 0: //desktop |
709 | break; | 709 | filer = f; |
710 | case 1: | 710 | break; |
711 | DocLnk sf(f); | 711 | case 1: //linked |
712 | filer = sf.file(); | 712 | DocLnk sf(f); |
713 | break; | 713 | filer = sf.file(); |
714 | } | 714 | break; |
715 | } else if(fi.baseName().left(1) == "") { | 715 | }; |
716 | currentFileName=f; | 716 | } |
717 | openDotFile(currentFileName); | 717 | else if(fi.baseName().left(1) == "") |
718 | } else { | 718 | { |
719 | DocLnk sf(f); | 719 | qDebug("opening dotfile"); |
720 | filer = sf.file(); | 720 | currentFileName=f; |
721 | if(filer.right(1) == "/") | 721 | openDotFile(currentFileName); |
722 | filer = f; | 722 | return; |
723 | 723 | } | |
724 | DocLnk nf; | 724 | else |
725 | nf.setType("text/plain"); | 725 | { |
726 | nf.setFile(filer); | 726 | DocLnk sf(f); |
727 | currentFileName=filer; | 727 | filer = sf.file(); |
728 | if(filer.right(1) == "/") | ||
729 | filer = f; | ||
730 | } | ||
728 | 731 | ||
729 | nf.setName(fi.baseName()); | 732 | DocLnk nf; |
730 | openFile(nf); | 733 | nf.setType("text/plain"); |
734 | nf.setFile(filer); | ||
735 | currentFileName=filer; | ||
731 | 736 | ||
732 | qDebug("openFile string "+currentFileName); | 737 | nf.setName(fi.baseName()); |
738 | openFile(nf); | ||
733 | 739 | ||
734 | } | 740 | qDebug("openFile string "+currentFileName); |
735 | showEditTools(); | 741 | |
736 | // Show filename in caption | 742 | showEditTools(); |
737 | QString name = filer; | 743 | // Show filename in caption |
738 | int sep = name.findRev( '/' ); | 744 | QString name = filer; |
739 | if ( sep > 0 ) | 745 | int sep = name.findRev( '/' ); |
740 | name = name.mid( sep+1 ); | 746 | if ( sep > 0 ) |
741 | updateCaption( name ); | 747 | name = name.mid( sep+1 ); |
748 | updateCaption( name ); | ||
742 | } | 749 | } |
743 | 750 | ||
744 | void TextEdit::openFile( const DocLnk &f ) { | 751 | void TextEdit::openFile( const DocLnk &f ) { |
@@ -818,7 +825,7 @@ bool TextEdit::save() { | |||
818 | QMessageBox::message(tr("Text Edit"),tr("Write Failed")); | 825 | QMessageBox::message(tr("Text Edit"),tr("Write Failed")); |
819 | return false; | 826 | return false; |
820 | } | 827 | } |
821 | 828 | ||
822 | } | 829 | } |
823 | editor->setEdited( false); | 830 | editor->setEdited( false); |
824 | edited1=false; | 831 | edited1=false; |
@@ -841,7 +848,7 @@ bool TextEdit::saveAs() { | |||
841 | if(caption() == tr("Text Editor")) | 848 | if(caption() == tr("Text Editor")) |
842 | return false; | 849 | return false; |
843 | qDebug("saveAsFile " + currentFileName); | 850 | qDebug("saveAsFile " + currentFileName); |
844 | // case of nothing to save... | 851 | // case of nothing to save... |
845 | // if ( !doc && !currentFileName.isEmpty()) { | 852 | // if ( !doc && !currentFileName.isEmpty()) { |
846 | // //|| !bFromDocView) | 853 | // //|| !bFromDocView) |
847 | // qDebug("no doc"); | 854 | // qDebug("no doc"); |
@@ -855,7 +862,7 @@ bool TextEdit::saveAs() { | |||
855 | 862 | ||
856 | QString rt = editor->text(); | 863 | QString rt = editor->text(); |
857 | qDebug(currentFileName); | 864 | qDebug(currentFileName); |
858 | 865 | ||
859 | if( currentFileName.isEmpty() | 866 | if( currentFileName.isEmpty() |
860 | || currentFileName == tr("Unnamed") | 867 | || currentFileName == tr("Unnamed") |
861 | || currentFileName == tr("Text Editor")) { | 868 | || currentFileName == tr("Text Editor")) { |
@@ -912,7 +919,7 @@ bool TextEdit::saveAs() { | |||
912 | qDebug("saving filename "+fileNm); | 919 | qDebug("saving filename "+fileNm); |
913 | QFileInfo fi(fileNm); | 920 | QFileInfo fi(fileNm); |
914 | currentFileName=fi.fileName(); | 921 | currentFileName=fi.fileName(); |
915 | if(doc) | 922 | if(doc) |
916 | // QString file = doc->file(); | 923 | // QString file = doc->file(); |
917 | // doc->removeFiles(); | 924 | // doc->removeFiles(); |
918 | delete doc; | 925 | delete doc; |
@@ -947,7 +954,7 @@ bool TextEdit::saveAs() { | |||
947 | edited = false; | 954 | edited = false; |
948 | if(caption().left(1)=="*") | 955 | if(caption().left(1)=="*") |
949 | setCaption(caption().right(caption().length()-1)); | 956 | setCaption(caption().right(caption().length()-1)); |
950 | 957 | ||
951 | return true; | 958 | return true; |
952 | } | 959 | } |
953 | qDebug("returning false"); | 960 | qDebug("returning false"); |
@@ -961,7 +968,7 @@ void TextEdit::clear() { | |||
961 | } | 968 | } |
962 | 969 | ||
963 | void TextEdit::updateCaption( const QString &name ) { | 970 | void TextEdit::updateCaption( const QString &name ) { |
964 | 971 | ||
965 | if ( name.isEmpty() ) | 972 | if ( name.isEmpty() ) |
966 | setCaption( tr("Text Editor") ); | 973 | setCaption( tr("Text Editor") ); |
967 | else { | 974 | else { |
@@ -1029,7 +1036,7 @@ void TextEdit::editDelete() { | |||
1029 | setCaption( tr("Text Editor") ); | 1036 | setCaption( tr("Text Editor") ); |
1030 | } | 1037 | } |
1031 | break; | 1038 | break; |
1032 | case 1: | 1039 | case 1: |
1033 | // exit | 1040 | // exit |
1034 | break; | 1041 | break; |
1035 | }; | 1042 | }; |
@@ -1056,7 +1063,7 @@ void TextEdit::receive(const QCString&msg, const QByteArray &) { | |||
1056 | qDebug("QCop "+msg); | 1063 | qDebug("QCop "+msg); |
1057 | if ( msg == "setDocument(QString)" ) { | 1064 | if ( msg == "setDocument(QString)" ) { |
1058 | qDebug("bugger all"); | 1065 | qDebug("bugger all"); |
1059 | 1066 | ||
1060 | } | 1067 | } |
1061 | 1068 | ||
1062 | } | 1069 | } |
@@ -1072,21 +1079,21 @@ void TextEdit::doPrompt(bool b) { | |||
1072 | promptExit=b; | 1079 | promptExit=b; |
1073 | Config cfg("TextEdit"); | 1080 | Config cfg("TextEdit"); |
1074 | cfg.setGroup ( "View" ); | 1081 | cfg.setGroup ( "View" ); |
1075 | cfg.writeEntry ( "PromptExit", b); | 1082 | cfg.writeEntry ( "PromptExit", b); |
1076 | } | 1083 | } |
1077 | 1084 | ||
1078 | void TextEdit::doDesktop(bool b) { | 1085 | void TextEdit::doDesktop(bool b) { |
1079 | openDesktop=b; | 1086 | openDesktop=b; |
1080 | Config cfg("TextEdit"); | 1087 | Config cfg("TextEdit"); |
1081 | cfg.setGroup ( "View" ); | 1088 | cfg.setGroup ( "View" ); |
1082 | cfg.writeEntry ( "OpenDesktop", b); | 1089 | cfg.writeEntry ( "OpenDesktop", b); |
1083 | } | 1090 | } |
1084 | 1091 | ||
1085 | void TextEdit::doFilePerms(bool b) { | 1092 | void TextEdit::doFilePerms(bool b) { |
1086 | filePerms=b; | 1093 | filePerms=b; |
1087 | Config cfg("TextEdit"); | 1094 | Config cfg("TextEdit"); |
1088 | cfg.setGroup ( "View" ); | 1095 | cfg.setGroup ( "View" ); |
1089 | cfg.writeEntry ( "FilePermissions", b); | 1096 | cfg.writeEntry ( "FilePermissions", b); |
1090 | } | 1097 | } |
1091 | 1098 | ||
1092 | void TextEdit::editPasteTimeDate() { | 1099 | void TextEdit::editPasteTimeDate() { |
@@ -1112,7 +1119,7 @@ int TextEdit::savePrompt() | |||
1112 | } | 1119 | } |
1113 | break; | 1120 | break; |
1114 | 1121 | ||
1115 | case 1: | 1122 | case 1: |
1116 | { | 1123 | { |
1117 | return 2; | 1124 | return 2; |
1118 | } | 1125 | } |
@@ -1150,13 +1157,13 @@ void TextEdit::doTimer(bool b) | |||
1150 | { | 1157 | { |
1151 | Config cfg("TextEdit"); | 1158 | Config cfg("TextEdit"); |
1152 | cfg.setGroup ( "View" ); | 1159 | cfg.setGroup ( "View" ); |
1153 | cfg.writeEntry ( "autosave", b); | 1160 | cfg.writeEntry ( "autosave", b); |
1154 | featureAutoSave = b; | 1161 | featureAutoSave = b; |
1155 | nAutoSave->setOn(b); | 1162 | nAutoSave->setOn(b); |
1156 | if(b) | 1163 | if(b) |
1157 | { | 1164 | { |
1158 | // qDebug("doTimer true"); | 1165 | // qDebug("doTimer true"); |
1159 | setTimer(); | 1166 | setTimer(); |
1160 | } | 1167 | } |
1161 | // else | 1168 | // else |
1162 | // qDebug("doTimer false"); | 1169 | // qDebug("doTimer false"); |
@@ -1178,7 +1185,7 @@ void TextEdit::gotoLine() { | |||
1178 | return; | 1185 | return; |
1179 | QWidget *d = QApplication::desktop(); | 1186 | QWidget *d = QApplication::desktop(); |
1180 | gotoEdit = new QLineEdit( 0, "Goto line"); | 1187 | gotoEdit = new QLineEdit( 0, "Goto line"); |
1181 | 1188 | ||
1182 | gotoEdit->move( (d->width()/2) - ( gotoEdit->width()/2) , (d->height()/2) - (gotoEdit->height()/2)); | 1189 | gotoEdit->move( (d->width()/2) - ( gotoEdit->width()/2) , (d->height()/2) - (gotoEdit->height()/2)); |
1183 | gotoEdit->setFrame(true); | 1190 | gotoEdit->setFrame(true); |
1184 | gotoEdit->show(); | 1191 | gotoEdit->show(); |
@@ -1193,7 +1200,7 @@ void TextEdit::doGoto() { | |||
1193 | delete gotoEdit; | 1200 | delete gotoEdit; |
1194 | gotoEdit = 0; | 1201 | gotoEdit = 0; |
1195 | } | 1202 | } |
1196 | 1203 | ||
1197 | bool ok; | 1204 | bool ok; |
1198 | int lineNumber = number.toInt(&ok, 10); | 1205 | int lineNumber = number.toInt(&ok, 10); |
1199 | if( editor->numLines() < lineNumber) | 1206 | if( editor->numLines() < lineNumber) |