better handling of 'Close All'/'Close All Others'

This commit is contained in:
nemu 2009-05-19 05:01:00 +00:00
parent cca490c3a5
commit bdc1eec594

View File

@ -643,11 +643,17 @@ void PTextEdit::fileCloseAll()
if ( !currentEditor() ) if ( !currentEditor() )
return; return;
// check if there are any unsaved tabs
for (int i=0; i<fTabWidget->count(); i++) {
if (fTabWidget->label(i).find("*") > 0) {
int result = QMessageBox::warning(this, "**WARNING**", int result = QMessageBox::warning(this, "**WARNING**",
"Do you really want to close all files.\nChanges of unsaved files will be lost", "Do you really want to close all files.\nChanges of unsaved files will be lost",
"Close", "Cancel"); "Close", "Cancel");
if (result == 1) // Cancel if (result == 1) // Cancel
return; return;
break;
}
}
// close all editor tabs // close all editor tabs
do { do {
@ -667,11 +673,17 @@ void PTextEdit::fileCloseAllOthers()
if ( !currentEditor() ) if ( !currentEditor() )
return; return;
// check if there are any unsaved tabs
for (int i=0; i<fTabWidget->count(); i++) {
if (fTabWidget->label(i).find("*") > 0) {
int result = QMessageBox::warning(this, "**WARNING**", int result = QMessageBox::warning(this, "**WARNING**",
"Do you really want to close all files.\nChanges of unsaved files will be lost", "Do you really want to close all files.\nChanges of unsaved files will be lost",
"Close", "Cancel"); "Close", "Cancel");
if (result == 1) // Cancel if (result == 1) // Cancel
return; return;
break;
}
}
// keep label of the current editor // keep label of the current editor
QString label = fTabWidget->label(fTabWidget->currentPageIndex()); QString label = fTabWidget->label(fTabWidget->currentPageIndex());