summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThorbjørn Lindeijer <bjorn@lindeijer.nl>2025-05-19 09:49:52 +0200
committerThorbjørn Lindeijer <bjorn@lindeijer.nl>2025-07-15 09:11:43 +0200
commit32bcf41f01d4ed4a3a08030095611e75d6186d60 (patch)
treeff80e68d7d26853e8a103cc295804e0635f856e2
parent52a17bd4034797214c8abefe90a798a40bb8e365 (diff)
downloadmana-32bcf41f01d4ed4a3a08030095611e75d6186d60.tar.gz
mana-32bcf41f01d4ed4a3a08030095611e75d6186d60.tar.bz2
mana-32bcf41f01d4ed4a3a08030095611e75d6186d60.tar.xz
mana-32bcf41f01d4ed4a3a08030095611e75d6186d60.zip
Theme: Introduced HIGHLIGHT_TEXT color
For customizing the text color used with HIGHLIGHT color as background.
-rw-r--r--data/graphics/gui/jewelry/theme.xml6
-rw-r--r--data/graphics/gui/theme.xml1
-rw-r--r--src/gui/questswindow.cpp12
-rw-r--r--src/gui/serverdialog.cpp5
-rw-r--r--src/gui/skilldialog.cpp6
-rw-r--r--src/gui/widgets/avatarlistbox.cpp6
-rw-r--r--src/gui/widgets/listbox.cpp6
-rw-r--r--src/gui/widgets/shoplistbox.cpp3
-rw-r--r--src/resources/theme.cpp1
-rw-r--r--src/resources/theme.h1
10 files changed, 36 insertions, 11 deletions
diff --git a/data/graphics/gui/jewelry/theme.xml b/data/graphics/gui/jewelry/theme.xml
index 07b94b0f..2b4911de 100644
--- a/data/graphics/gui/jewelry/theme.xml
+++ b/data/graphics/gui/jewelry/theme.xml
@@ -10,12 +10,12 @@
<color id="BORDER" color="#000000" />
<color id="DROPDOWN" color="#000000" />
<color id="LISTBOX" color="#000000" />
- <color id="LISTBOX_SELECTED" color="#000000" />
<color id="CHANNEL_CHAT_TAB" color="#efd7a7" outlineColor="#473005" />
<color id="BACKGROUND" color="#ffffff" />
<color id="BACKGROUND_GRAY" color="#404040" />
<color id="DROPDOWN_SHADOW" color="#c0c0c0" />
<color id="HIGHLIGHT" color="#ebc873" />
+ <color id="HIGHLIGHT_TEXT" color="#000000" />
<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" />
@@ -92,7 +92,6 @@
<color id="BORDER" color="#000000" />
<color id="DROPDOWN" color="#000000" />
<color id="LISTBOX" color="#000000" />
- <color id="LISTBOX_SELECTED" color="#000000" />
<color id="CHANNEL_CHAT_TAB" color="#efd7a7" outlineColor="#473005" />
<color id="TAB_FLASH" color="#a7ff2a" outlineColor="#142200" />
<color id="TAB_PLAYER_FLASH" color="#ff96f6" />
@@ -100,6 +99,7 @@
<color id="BACKGROUND_GRAY" color="#404040" />
<color id="DROPDOWN_SHADOW" color="#c0c0c0" />
<color id="HIGHLIGHT" color="#ebc873" />
+ <color id="HIGHLIGHT_TEXT" color="#000000" />
<color id="SHOP_WARNING" color="#e07a7a" />
<color id="ITEM_EQUIPPED" color="#000091" />
<color id="BUBBLE_NAME" color="#cccccc" />
@@ -169,12 +169,12 @@
<color id="BORDER" color="#000000" />
<color id="DROPDOWN" color="#000000" />
<color id="LISTBOX" color="#000000" />
- <color id="LISTBOX_SELECTED" color="#000000" />
<color id="CHANNEL_CHAT_TAB" color="#efd7a7" outlineColor="#000000" />
<color id="BACKGROUND" color="#ffffff" />
<color id="BACKGROUND_GRAY" color="#404040" />
<color id="DROPDOWN_SHADOW" color="#c0c0c0" />
<color id="HIGHLIGHT" color="#ebc873" />
+ <color id="HIGHLIGHT_TEXT" color="#000000" />
<color id="TAB_FLASH" color="#fec4ff" effect="pulse" />
<color id="TAB_PLAYER_FLASH" color="#00ff00" effect="pulse" />
<color id="SHOP_WARNING" color="#e07a7a" />
diff --git a/data/graphics/gui/theme.xml b/data/graphics/gui/theme.xml
index c1a76875..fc1de9e3 100644
--- a/data/graphics/gui/theme.xml
+++ b/data/graphics/gui/theme.xml
@@ -17,6 +17,7 @@
<color id="WHISPER_TAB" color="#3b58a9" />
<color id="BACKGROUND" color="#ffffff" />
<color id="HIGHLIGHT" color="#c0c0c0" />
+ <color id="HIGHLIGHT_TEXT" color="#000000" />
<color id="TAB_FLASH" color="#ff0000" effect="pulse" />
<color id="SHOP_WARNING" color="#910000" />
<color id="ITEM_EQUIPPED" color="#000091" />
diff --git a/src/gui/questswindow.cpp b/src/gui/questswindow.cpp
index c05df1de..6769815e 100644
--- a/src/gui/questswindow.cpp
+++ b/src/gui/questswindow.cpp
@@ -113,9 +113,16 @@ void QuestsListBox::draw(gcn::Graphics *gcnGraphics)
graphics->setColor(Theme::getThemeColor(Theme::TEXT));
const int fontHeight = getFont()->getHeight();
- int y = 0;
- for (auto &quest : model->getQuests())
+
+ for (int i = 0, y = 0; i < model->getNumberOfElements();
+ ++i, y += rowHeight)
{
+ if (mSelected == i)
+ graphics->setColor(Theme::getThemeColor(Theme::HIGHLIGHT_TEXT));
+ else
+ graphics->setColor(Theme::getThemeColor(Theme::TEXT));
+
+ auto &quest = model->getQuests()[i];
int x = 1;
if (const Image *icon = quest.completed ? completeIcon : incompleteIcon)
@@ -125,7 +132,6 @@ void QuestsListBox::draw(gcn::Graphics *gcnGraphics)
}
graphics->drawText(quest.name(), x, y + (rowHeight - fontHeight) / 2);
- y += rowHeight;
}
}
diff --git a/src/gui/serverdialog.cpp b/src/gui/serverdialog.cpp
index 872ecb28..e41c0bbe 100644
--- a/src/gui/serverdialog.cpp
+++ b/src/gui/serverdialog.cpp
@@ -115,7 +115,10 @@ public:
{
const ServerInfo &info = model->getServer(i);
- graphics->setColor(Theme::getThemeColor(Theme::TEXT));
+ if (mSelected == i)
+ graphics->setColor(Theme::getThemeColor(Theme::HIGHLIGHT_TEXT));
+ else
+ graphics->setColor(Theme::getThemeColor(Theme::TEXT));
if (!info.name.empty())
{
diff --git a/src/gui/skilldialog.cpp b/src/gui/skilldialog.cpp
index 3112446a..49552421 100644
--- a/src/gui/skilldialog.cpp
+++ b/src/gui/skilldialog.cpp
@@ -147,11 +147,15 @@ public:
}
// Draw the list elements
- graphics->setColor(Theme::getThemeColor(Theme::TEXT));
for (int i = 0, y = 1;
i < model->getNumberOfElements();
++i, y += getRowHeight())
{
+ if (mSelected == i)
+ graphics->setColor(Theme::getThemeColor(Theme::HIGHLIGHT_TEXT));
+ else
+ graphics->setColor(Theme::getThemeColor(Theme::TEXT));
+
if (SkillInfo *e = model->getSkillAt(i))
e->draw(graphics, y, getWidth());
}
diff --git a/src/gui/widgets/avatarlistbox.cpp b/src/gui/widgets/avatarlistbox.cpp
index 4a806d04..a5109267 100644
--- a/src/gui/widgets/avatarlistbox.cpp
+++ b/src/gui/widgets/avatarlistbox.cpp
@@ -76,11 +76,15 @@ void AvatarListBox::draw(gcn::Graphics *gcnGraphics)
auto offlineIcon = theme->getIcon("offline");
// Draw the list elements
- graphics->setColor(Theme::getThemeColor(Theme::TEXT));
for (int i = 0, y = 0;
i < model->getNumberOfElements();
++i, y += rowHeight)
{
+ if (mSelected == i)
+ graphics->setColor(Theme::getThemeColor(Theme::HIGHLIGHT_TEXT));
+ else
+ graphics->setColor(Theme::getThemeColor(Theme::TEXT));
+
Avatar *a = model->getAvatarAt(i);
int x = 1;
diff --git a/src/gui/widgets/listbox.cpp b/src/gui/widgets/listbox.cpp
index 112de232..612e785f 100644
--- a/src/gui/widgets/listbox.cpp
+++ b/src/gui/widgets/listbox.cpp
@@ -56,10 +56,14 @@ void ListBox::draw(gcn::Graphics *graphics)
}
// Draw the list elements
- graphics->setColor(Theme::getThemeColor(Theme::TEXT));
for (int i = 0, y = 0; i < mListModel->getNumberOfElements();
++i, y += height)
{
+ if (mSelected == i)
+ graphics->setColor(Theme::getThemeColor(Theme::HIGHLIGHT_TEXT));
+ else
+ graphics->setColor(Theme::getThemeColor(Theme::TEXT));
+
graphics->drawText(mListModel->getElementAt(i), 1, y);
}
}
diff --git a/src/gui/widgets/shoplistbox.cpp b/src/gui/widgets/shoplistbox.cpp
index e2313c85..d745d74d 100644
--- a/src/gui/widgets/shoplistbox.cpp
+++ b/src/gui/widgets/shoplistbox.cpp
@@ -75,6 +75,7 @@ void ShopListBox::draw(gcn::Graphics *gcnGraphics)
auto backgroundColor = Theme::getThemeColor(Theme::BACKGROUND);
auto warningColor = Theme::getThemeColor(Theme::SHOP_WARNING);
auto textColor = Theme::getThemeColor(Theme::TEXT);
+ auto highlightTextColor = Theme::getThemeColor(Theme::HIGHLIGHT_TEXT);
highlightColor.a = alpha;
backgroundColor.a = alpha;
warningColor.a = alpha;
@@ -136,7 +137,7 @@ void ShopListBox::draw(gcn::Graphics *gcnGraphics)
}
}
- graphics->setColor(textColor);
+ graphics->setColor(i == mSelected ? highlightTextColor : textColor);
graphics->drawText(mListModel->getElementAt(i),
ITEM_ICON_SIZE + 5,
y + (ITEM_ICON_SIZE - fontHeight) / 2);
diff --git a/src/resources/theme.cpp b/src/resources/theme.cpp
index fa5f1a7d..4dcbb9a4 100644
--- a/src/resources/theme.cpp
+++ b/src/resources/theme.cpp
@@ -794,6 +794,7 @@ static int readColorId(const std::string &id)
"WHISPER_TAB",
"BACKGROUND",
"HIGHLIGHT",
+ "HIGHLIGHT_TEXT",
"TAB_FLASH",
"SHOP_WARNING",
"ITEM_EQUIPPED",
diff --git a/src/resources/theme.h b/src/resources/theme.h
index 85a720a2..fbcb263b 100644
--- a/src/resources/theme.h
+++ b/src/resources/theme.h
@@ -228,6 +228,7 @@ class Theme : public EventListener
WHISPER_TAB,
BACKGROUND,
HIGHLIGHT,
+ HIGHLIGHT_TEXT,
TAB_FLASH,
SHOP_WARNING,
ITEM_EQUIPPED,