author | llornkcor <llornkcor> | 2005-02-06 03:49:06 (UTC) |
---|---|---|
committer | llornkcor <llornkcor> | 2005-02-06 03:49:06 (UTC) |
commit | b09f9ce74d40f47bc336b4647c6c091a4f3bd5b6 (patch) (side-by-side diff) | |
tree | 212816ea85f372b28c22c85b3dbf1e6d4dcfa887 | |
parent | d0af8c31f8c74d8aa90477ad672dd876b661eba1 (diff) | |
download | opie-b09f9ce74d40f47bc336b4647c6c091a4f3bd5b6.zip opie-b09f9ce74d40f47bc336b4647c6c091a4f3bd5b6.tar.gz opie-b09f9ce74d40f47bc336b4647c6c091a4f3bd5b6.tar.bz2 |
fix #1472 - no prompt on esc exit
-rw-r--r-- | core/apps/textedit/textedit.cpp | 49 |
1 files changed, 26 insertions, 23 deletions
diff --git a/core/apps/textedit/textedit.cpp b/core/apps/textedit/textedit.cpp index c7273c5..26b907b 100644 --- a/core/apps/textedit/textedit.cpp +++ b/core/apps/textedit/textedit.cpp @@ -355,157 +355,160 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) editor->setFrameStyle( QFrame::Panel | QFrame::Sunken ); connect( editor, SIGNAL( textChanged() ), this, SLOT( editorChanged() ) ); QPEApplication::setStylusOperation( editor, QPEApplication::RightOnHold); Config cfg("TextEdit"); cfg. setGroup ( "Font" ); QFont defaultFont = editor-> font ( ); QString family = cfg. readEntry ( "Family", defaultFont. family ( )); int size = cfg. readNumEntry ( "Size", defaultFont. pointSize ( )); int weight = cfg. readNumEntry ( "Weight", defaultFont. weight ( )); bool italic = cfg. readBoolEntry ( "Italic", defaultFont. italic ( )); defaultFont = QFont ( family, size, weight, italic ); editor-> setFont ( defaultFont ); // updateCaption(); cfg.setGroup ( "View" ); promptExit = cfg.readBoolEntry ( "PromptExit", false ); openDesktop = cfg.readBoolEntry ( "OpenDesktop", true ); filePerms = cfg.readBoolEntry ( "FilePermissions", false ); useSearchBar = cfg.readBoolEntry ( "SearchBar", false ); startWithNew = cfg.readBoolEntry ( "startNew", true); featureAutoSave = cfg.readBoolEntry( "autosave", false); if(useSearchBar) searchBarAction->setOn(true); if(promptExit) nAdvanced->setOn( true ); if(openDesktop) desktopAction->setOn( true ); if(filePerms) filePermAction->setOn( true ); if(startWithNew) nStart->setOn( true ); if(featureAutoSave) nAutoSave->setOn(true); // { // doTimer(true); // } bool wrap = cfg. readBoolEntry ( "Wrap", true ); wa-> setOn ( wrap ); setWordWrap ( wrap ); ///////////////// if( qApp->argc() > 1) { currentFileName=qApp->argv()[1]; QFileInfo fi(currentFileName); if(fi.baseName().left(1) == "") { openDotFile(currentFileName); } else { openFile(currentFileName); } } else { edited1=false; openDotFile(""); } viewSelection = cfg.readNumEntry( "FileView", 0 ); } TextEdit::~TextEdit() { - owarn << "textedit d'tor" << oendl; + if( edited1 && !promptExit) { + switch( savePrompt() ) { + case 1: { + saveAs(); + } + break; + }; + } + delete editor; } void TextEdit::closeEvent(QCloseEvent *) { - if( edited1 && promptExit) - { - switch( savePrompt() ) - { - case 1: - { - saveAs(); - qApp->quit(); - } - break; - - case 2: - { - qApp->quit(); - } - break; - - case -1: - break; - }; - } + if( promptExit) { + switch( savePrompt() ) { + case 1: { + saveAs(); + qApp->quit(); + } + break; + + case 2: { + qApp->quit(); + } + break; + + case -1: + break; + }; + } else qApp->quit(); - } void TextEdit::cleanUp() { Config cfg ( "TextEdit" ); cfg. setGroup ( "Font" ); QFont f = editor->font(); cfg.writeEntry ( "Family", f. family ( )); cfg.writeEntry ( "Size", f. pointSize ( )); cfg.writeEntry ( "Weight", f. weight ( )); cfg.writeEntry ( "Italic", f. italic ( )); cfg.setGroup ( "View" ); cfg.writeEntry ( "Wrap", editor->wordWrap() == QMultiLineEdit::WidgetWidth ); cfg.writeEntry ( "FileView", viewSelection ); cfg.writeEntry ( "PromptExit", promptExit ); cfg.writeEntry ( "OpenDesktop", openDesktop ); cfg.writeEntry ( "FilePermissions", filePerms ); cfg.writeEntry ( "SearchBar", useSearchBar ); cfg.writeEntry ( "startNew", startWithNew ); } void TextEdit::accept() { if( edited1) saveAs(); qApp->quit(); } void TextEdit::zoomIn() { setFontSize(editor->font().pointSize()+1,false); } void TextEdit::zoomOut() { setFontSize(editor->font().pointSize()-1,true); } void TextEdit::setFontSize(int sz, bool round_down_not_up) { int s=10; for (int i=0; i<nfontsizes; i++) { if ( fontsize[i] == sz ) { s = sz; break; } else if ( round_down_not_up ) { if ( fontsize[i] < sz ) s = fontsize[i]; } else { if ( fontsize[i] > sz ) { s = fontsize[i]; break; } } } QFont f = editor->font(); f.setPointSize(s); editor->setFont(f); zin->setEnabled(s != fontsize[nfontsizes-1]); zout->setEnabled(s != fontsize[0]); } |