Fix Save As Default palette to use default level type

This commit is contained in:
manongjohn 2022-01-28 23:02:24 -05:00
parent 9a59ad9f58
commit 8768237bd2
2 changed files with 17 additions and 14 deletions

View file

@ -3158,23 +3158,20 @@ public:
return;
}
int levelType = UNKNOWN_XSHLEVEL;
int levelType = palette->getDefaultPaletteType();
QString levelTypeStr, displayStr;
if (palette->isDefaultPalette()) {
levelType = palette->getDefaultPaletteType();
} else {
if (levelType == UNKNOWN_XSHLEVEL) {
TXshLevel *level = TApp::instance()->getCurrentLevel()->getLevel();
if (!level) {
DVGui::warning("No current level.");
return;
}
TXshSimpleLevel *sl = level->getSimpleLevel();
if (!sl) {
DVGui::warning("Current level is not a drawing level.");
return;
}
levelType = sl->getType();
if (level) {
TXshSimpleLevel *sl = level->getSimpleLevel();
if (!sl) {
DVGui::warning("Current level is not a drawing level.");
return;
}
levelType = sl->getType();
} else
levelType = Preferences::instance()->getDefLevelType();
}
switch (levelType) {

View file

@ -649,6 +649,8 @@ void PaletteViewer::updateSavePaletteToolBar() {
: getPalette()
? getPalette()->getDefaultPaletteType()
: UNKNOWN_XSHLEVEL;
if (levelType == UNKNOWN_XSHLEVEL)
levelType = Preferences::instance()->getDefLevelType();
setSaveDefaultText(act, levelType);
}
act->setEnabled(enable);
@ -685,6 +687,8 @@ void PaletteViewer::updatePaletteMenu() {
: getPalette()
? getPalette()->getDefaultPaletteType()
: UNKNOWN_XSHLEVEL;
if (levelType == UNKNOWN_XSHLEVEL)
levelType = Preferences::instance()->getDefLevelType();
setSaveDefaultText(act, levelType);
}
act->setEnabled(enable);
@ -779,6 +783,8 @@ void PaletteViewer::contextMenuEvent(QContextMenuEvent *event) {
? m_levelHandle->getLevel()->getType()
: getPalette() ? getPalette()->getDefaultPaletteType()
: UNKNOWN_XSHLEVEL;
if (levelType == UNKNOWN_XSHLEVEL)
levelType = Preferences::instance()->getDefLevelType();
setSaveDefaultText(action, levelType);
}
}