diff options
-rw-r--r-- | data/graphics/gui/jewelry/theme.xml | 2 | ||||
-rw-r--r-- | src/gui/widgets/tab.cpp | 15 |
2 files changed, 13 insertions, 4 deletions
diff --git a/data/graphics/gui/jewelry/theme.xml b/data/graphics/gui/jewelry/theme.xml index 5253c24f..31c0deda 100644 --- a/data/graphics/gui/jewelry/theme.xml +++ b/data/graphics/gui/jewelry/theme.xml @@ -16,7 +16,7 @@ <color id="BACKGROUND_GRAY" color="#404040" /> <color id="DROPDOWN_SHADOW" color="#c0c0c0" /> <color id="HIGHLIGHT" color="#ebc873" /> - <color id="TAB_FLASH" color="#fec4ff" effect="pulse" /> + <color id="TAB_FLASH" color="#a7ff2a" outlineColor="#142200" effect="pulse" /> <color id="TAB_PLAYER_FLASH" color="#00ff00" effect="pulse" /> <color id="PARTY_TAB" color="#efd7a7" outlineColor="#473005" /> <color id="GUILD_TAB" color="#efd7a7" outlineColor="#473005" /> diff --git a/src/gui/widgets/tab.cpp b/src/gui/widgets/tab.cpp index b2779c4f..0f6ca4e5 100644 --- a/src/gui/widgets/tab.cpp +++ b/src/gui/widgets/tab.cpp @@ -73,18 +73,27 @@ void Tab::draw(gcn::Graphics *graphics) if (mTabbedArea && mTabbedArea->isTabSelected(this)) flags |= STATE_SELECTED; - auto &skin = gui->getTheme()->getSkin(SkinType::Tab); + auto theme = gui->getTheme(); + auto &palette = theme->getPalette(0); + auto &skin = theme->getSkin(SkinType::Tab); + if (auto state = skin.getState(flags)) { gcn::Color foregroundColor = state->textFormat.color; + auto outlineColor = state->textFormat.outlineColor; if (mFlash) - foregroundColor = Theme::getThemeColor(Theme::TAB_FLASH); + { + foregroundColor = palette.getColor(Theme::TAB_FLASH); + outlineColor = palette.getOutlineColor(Theme::TAB_FLASH); + } else if (mTabColor) + { foregroundColor = *mTabColor; + } auto label = static_cast<Label*>(mLabel); label->setForegroundColor(foregroundColor); - label->setOutlineColor(state->textFormat.outlineColor); + label->setOutlineColor(outlineColor); label->setShadowColor(state->textFormat.shadowColor); } |