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();
QObject::disconnect(fileDialog, 0, 0, 0);
fileDialog->connect(
fileDialog,
fileDialog,
&QFileDialog::fileSelected,
[](QString directory) {
auto answer = showPrompt(
"Atmiņas bāzes maiņa",
"Vai saglabāt atmiņas bāzi pirms to mainīt?",
"Saglabāt un mainīt",
"Mainīt bez saglabāšanas",
"Nemainīt atmiņas bāzi"
);
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;
// MARK
bool unsavedMdem = false;
for (auto pair: buffers) {
if (pair.second->isModified) {
unsavedMdem = true;
break;
}
}
if (unsavedMdem) {
auto answer = showPrompt(
"Atmiņas bāzes maiņa",
"Vai saglabāt atmiņas bāzi pirms to mainīt?",
"Saglabāt un mainīt",
"Mainīt bez saglabāšanas",
"Nemainīt atmiņas bāzi"
);
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);
}
}
);