fix update styleeditor (#2558)

This commit is contained in:
shun-iwasawa 2019-04-01 17:18:10 +09:00 committed by masafumi-inoue
parent 24c6ea01a7
commit fcbc0a6582
3 changed files with 11 additions and 4 deletions

View file

@ -46,7 +46,7 @@ public:
void setPalette(TPalette *palette, int styleIndex = 1);
void setStyleIndex(int index);
void setStyleIndex(int index, bool forceEmit = false);
void setStyleParamIndex(int index);

View file

@ -142,9 +142,11 @@ void TPaletteHandle::setPalette(TPalette *palette, int styleIndex) {
}
//-----------------------------------------------------------------------------
// forceEmit flag is used in PageViewer.
// See the function PageViewer::setCurrentStyleIndex() in paletteviewergui.cpp
void TPaletteHandle::setStyleIndex(int index) {
if (m_styleIndex != index || m_styleParamIndex != 0) {
void TPaletteHandle::setStyleIndex(int index, bool forceEmit) {
if (m_styleIndex != index || m_styleParamIndex != 0 || forceEmit) {
m_styleIndex = index;
m_styleParamIndex = 0;
emit broadcastColorStyleSwitched();

View file

@ -212,7 +212,12 @@ TFrameHandle *PageViewer::getFrameHandle() const { return m_frameHandle; }
//-----------------------------------------------------------------------------
void PageViewer::setCurrentStyleIndex(int index) {
getPaletteHandle()->setStyleIndex(index);
// When clicking and switching between studio palette and level palette, the
// signal broadcastColorStyleSwitched is not emitted if the clicked style is
// previously selected one.
// Therefore here I introduced the "forceEmit" flag here in order to emit the
// signal whenever the style is clicked.
getPaletteHandle()->setStyleIndex(index, true);
}
//-----------------------------------------------------------------------------