diff --git a/src/app/commands/cmd_save_palette.cpp b/src/app/commands/cmd_save_palette.cpp index 1d05b0f4d..82f5d2ba0 100644 --- a/src/app/commands/cmd_save_palette.cpp +++ b/src/app/commands/cmd_save_palette.cpp @@ -8,10 +8,12 @@ #include "config.h" #endif +#include "app/app.h" #include "app/commands/cmd_set_palette.h" #include "app/commands/commands.h" #include "app/commands/params.h" #include "app/context.h" +#include "app/extensions.h" #include "app/file/palette_file.h" #include "app/file_selector.h" #include "app/i18n/strings.h" @@ -77,6 +79,9 @@ void SavePaletteCommand::onExecute(Context* context) if (!context->activeDocument()) set_current_palette(palette, false); } + if (m_save_as_preset) { + App::instance()->extensions().PalettesChange(); + } } Command* CommandFactory::createSavePaletteCommand() diff --git a/src/app/extensions.cpp b/src/app/extensions.cpp index cde81cd99..2a247d82e 100644 --- a/src/app/extensions.cpp +++ b/src/app/extensions.cpp @@ -1132,7 +1132,7 @@ void Extensions::generateExtensionSignals(Extension* extension) { if (extension->hasLanguages()) LanguagesChange(extension); if (extension->hasThemes()) ThemesChange(extension); - if (extension->hasPalettes()) PalettesChange(extension); + if (extension->hasPalettes()) PalettesChange(); if (extension->hasDitheringMatrices()) DitheringMatricesChange(extension); #ifdef ENABLE_SCRIPTING if (extension->hasScripts()) ScriptsChange(extension); diff --git a/src/app/extensions.h b/src/app/extensions.h index ab2e7492b..898ab6ae7 100644 --- a/src/app/extensions.h +++ b/src/app/extensions.h @@ -182,7 +182,7 @@ namespace app { obs::signal NewExtension; obs::signal LanguagesChange; obs::signal ThemesChange; - obs::signal PalettesChange; + obs::signal PalettesChange; obs::signal DitheringMatricesChange; obs::signal ScriptsChange; diff --git a/src/app/ui/palette_popup.cpp b/src/app/ui/palette_popup.cpp index 31e6bb032..716ff6ad5 100644 --- a/src/app/ui/palette_popup.cpp +++ b/src/app/ui/palette_popup.cpp @@ -42,6 +42,7 @@ PalettePopup::PalettePopup() addChild(m_popup); m_paletteListBox.DoubleClickItem.connect(base::Bind(&PalettePopup::onLoadPal, this)); + m_paletteListBox.Change.connect(base::Bind(&PalettePopup::onSearchChange, this)); m_popup->search()->Change.connect(base::Bind(&PalettePopup::onSearchChange, this)); m_popup->loadPal()->Click.connect(base::Bind(&PalettePopup::onLoadPal, this)); m_popup->openFolder()->Click.connect(base::Bind(&PalettePopup::onOpenFolder, this)); diff --git a/src/app/ui/resources_listbox.cpp b/src/app/ui/resources_listbox.cpp index 2c8e23d46..b7cbe9f25 100644 --- a/src/app/ui/resources_listbox.cpp +++ b/src/app/ui/resources_listbox.cpp @@ -210,6 +210,7 @@ void ResourcesListBox::onTick() resource.release(); listItem.release(); } + Change(); if (m_resourcesLoader->isDone()) stop();