no prompt to save when changing un modified memorybase

This commit is contained in:
jorenchik
2025-01-04 21:59:00 +02:00
parent 5377801159
commit 827ecc7f6d

View File

@@ -1154,27 +1154,40 @@ QMainWindow *initMdemListWindow() {
fileDialog->open(); fileDialog->open();
QObject::disconnect(fileDialog, 0, 0, 0); QObject::disconnect(fileDialog, 0, 0, 0);
fileDialog->connect( fileDialog->connect(
fileDialog, fileDialog,
&QFileDialog::fileSelected, &QFileDialog::fileSelected,
[](QString directory) { [](QString directory) {
auto answer = showPrompt(
"Atmiņas bāzes maiņa", // MARK
"Vai saglabāt atmiņas bāzi pirms to mainīt?", bool unsavedMdem = false;
"Saglabāt un mainīt", for (auto pair: buffers) {
"Mainīt bez saglabāšanas", if (pair.second->isModified) {
"Nemainīt atmiņas bāzi" unsavedMdem = true;
); break;
switch (answer) { }
case YES: { }
for (auto pair: buffers) { if (unsavedMdem) {
saveMdem(pair.second, pair.first); auto answer = showPrompt(
pair.second->isModified = false; "Atmiņas bāzes maiņa",
} "Vai saglabāt atmiņas bāzi pirms to mainīt?",
pickDirectory(directory); "Saglabāt un mainīt",
} break; "Mainīt bez saglabāšanas",
case NO: { "Nemainīt atmiņas bāzi"
pickDirectory(directory); );
} break; switch (answer) {
case YES: {
for (auto pair: buffers) {
saveMdem(pair.second, pair.first);
pair.second->isModified = false;
}
pickDirectory(directory);
} break;
case NO: {
pickDirectory(directory);
} break;
}
} else {
pickDirectory(directory);
} }
} }
); );