fixed backwards compatibility for toolbar/tab styles
This commit is contained in:
parent
54eda44f85
commit
a8d9f4fc45
1 changed files with 31 additions and 31 deletions
|
@ -29,14 +29,26 @@ IconbarTheme::IconbarTheme(int screen_num,
|
|||
const std::string &name,
|
||||
const std::string &altname):
|
||||
FbTk::Theme(screen_num),
|
||||
m_focused_texture(*this, name + ".focused", altname + ".Focused"),
|
||||
m_unfocused_texture(*this, name + ".unfocused", altname + ".Unfocused"),
|
||||
m_focused_texture(*this,
|
||||
name + (name == "window.label" ? ".focus" : ".focused"),
|
||||
altname + (name == "window.label" ? ".Focus" : ".Focused")),
|
||||
m_unfocused_texture(*this,
|
||||
name + (name == "window.label" ? ".unfocus" : ".unfocused"),
|
||||
altname + (name == "window.label" ? ".Unfocus" : ".Unfocused")),
|
||||
m_empty_texture(*this, name + ".empty", altname + ".Empty"),
|
||||
m_focused_border(*this, name + ".focused", altname + ".Focused"),
|
||||
m_unfocused_border(*this, name + ".unfocused", altname + ".Unfocused"),
|
||||
m_focused_border(*this,
|
||||
name + (name == "window.label" ? ".focus" : ".focused"),
|
||||
altname + (name == "window.label" ? ".Focus" : ".Focused")),
|
||||
m_unfocused_border(*this,
|
||||
name + (name == "window.label" ? ".unfocus" : ".unfocused"),
|
||||
altname + (name == "window.label" ? ".Unfocus" : ".Unfocused")),
|
||||
m_border(*this, name, altname),
|
||||
m_focused_text(*this, name + ".focused", altname + ".Focused"),
|
||||
m_unfocused_text(*this, name + ".unfocused", altname + ".Unfocused"),
|
||||
m_focused_text(*this,
|
||||
name + (name == "window.label" ? ".focus" : ".focused"),
|
||||
altname + (name == "window.label" ? ".Focus" : ".Focused")),
|
||||
m_unfocused_text(*this,
|
||||
name + (name == "window.label" ? ".unfocus" : ".unfocused"),
|
||||
altname + (name == "window.label" ? ".Unfocus" : ".Unfocused")),
|
||||
m_name(name), m_altname(altname) {
|
||||
|
||||
FbTk::ThemeManager::instance().loadTheme(*this);
|
||||
|
@ -56,51 +68,39 @@ void IconbarTheme::reconfigTheme() {
|
|||
bool IconbarTheme::fallback(FbTk::ThemeItem_base &item) {
|
||||
using namespace FbTk;
|
||||
ThemeManager &tm = ThemeManager::instance();
|
||||
std::string focus = (m_name == "window.label" ? ".focus" : ".focused");
|
||||
std::string un = (m_name == "window.label" ? ".unfocus" : ".unfocused");
|
||||
|
||||
// TODO: fix fallbacks for "focused" vs. "focus"
|
||||
if (&m_focused_texture == &item) {
|
||||
return (tm.loadItem(item, "window.label.focus", "Window.Label.Focus") ||
|
||||
tm.loadItem(item, "toolbar.windowLabel", "toolbar.windowLabel"));
|
||||
|
||||
} else if (&m_unfocused_texture == &item) {
|
||||
return (tm.loadItem(item, "window.label.unfocus",
|
||||
"Window.Label.Unfocus") ||
|
||||
tm.loadItem(item, "toolbar.windowLabel",
|
||||
"toolbar.windowLabel"));
|
||||
if (&m_focused_texture == &item || &m_unfocused_texture == &item) {
|
||||
return tm.loadItem(item, "toolbar.windowLabel", "toolbar.windowLabel");
|
||||
} else if (&m_empty_texture == &item) {
|
||||
return (tm.loadItem(item, m_focused_texture.name(),
|
||||
m_focused_texture.altName()) ||
|
||||
tm.loadItem(item, "toolbar.windowLabel", "toolbar.windowLabel")
|
||||
|| tm.loadItem(item, "toolbar", "toolbar"));
|
||||
} else if (item.name() == m_name + ".focused.borderWidth" ||
|
||||
item.name() == m_name + ".unfocused.borderWidth")
|
||||
} else if (item.name() == m_name + focus + ".borderWidth" ||
|
||||
item.name() == m_name + un + ".borderWidth")
|
||||
// don't fallback for base border, for theme backwards compatibility
|
||||
return (tm.loadItem(item, m_name + ".borderWidth",
|
||||
m_altname + ".BorderWidth") ||
|
||||
tm.loadItem(item, "window.borderWidth", "Window.BorderWidth") ||
|
||||
tm.loadItem(item, "borderWidth", "BorderWidth"));
|
||||
|
||||
else if (item.name() == m_name + ".focused.borderColor" ||
|
||||
item.name() == m_name + ".unfocused.borderColor")
|
||||
else if (item.name() == m_name + focus + ".borderColor" ||
|
||||
item.name() == m_name + un + ".borderColor")
|
||||
|
||||
return (tm.loadItem(item, m_name + ".borderColor",
|
||||
m_altname + ".BorderColor") ||
|
||||
tm.loadItem(item, "window.borderColor", "Window.BorderColor") ||
|
||||
tm.loadItem(item, "borderColor", "BorderColor"));
|
||||
|
||||
else if (item.name() == m_name + ".focused.font" ||
|
||||
item.name() == m_name + ".unfocused.font")
|
||||
else if (item.name() == m_name + focus + ".font" ||
|
||||
item.name() == m_name + un + ".font")
|
||||
|
||||
return tm.loadItem(item, "window.font", "Window.Font");
|
||||
|
||||
else if (item.name() == m_name + ".focused.textColor") {
|
||||
|
||||
return tm.loadItem(item, "window.label.focus.textColor", "Window.Label.Focus.TextColor");
|
||||
|
||||
} else if (item.name() == m_name + ".unfocused.textColor") {
|
||||
return tm.loadItem(item, "window.label.unfocus.textColor", "Window.Label.Unfocus.TextColor");
|
||||
} else if (item.name() == m_name + ".focused.justify" ||
|
||||
item.name() == m_name + ".unfocused.justify") {
|
||||
else if (item.name() == m_name + focus + ".justify" ||
|
||||
item.name() == m_name + un + ".justify") {
|
||||
return (tm.loadItem(item, m_name + ".justify", m_altname + ".Justify")
|
||||
|| tm.loadItem(item, "window.justify", "Window.Justify"));
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue