From 7edf28c0c33593da90d88bfd8e3132495ce157ca Mon Sep 17 00:00:00 2001 From: TrickyLeifa Date: Mon, 11 Apr 2022 01:58:58 +0200 Subject: [PATCH] Added switch between image or placeholder text for AOImage --- src/aobutton.cpp | 15 +++++++++++---- src/aobutton.h | 2 ++ src/lobby.cpp | 3 +-- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/aobutton.cpp b/src/aobutton.cpp index fb1b443dd..137775918 100644 --- a/src/aobutton.cpp +++ b/src/aobutton.cpp @@ -34,10 +34,17 @@ void AOButton::set_image(QString p_image) l_hover_image = m_image; } - this->setStyleSheet("QPushButton {border-image:url(\"" + m_image + - "\");}" - "QPushButton:hover {border-image:url(\"" + - l_hover_image + "\");}"); + setStyleSheet("QPushButton {border-image:url(\"" + m_image + + "\");}" + "QPushButton:hover {border-image:url(\"" + + l_hover_image + "\");}"); + setText(m_image.isEmpty() ? m_text : nullptr); +} + +void AOButton::set_image_and_text(QString p_image, QString p_text) +{ + m_text = p_text; + set_image(p_image); } void AOButton::refresh_image() diff --git a/src/aobutton.h b/src/aobutton.h index ba4565c4d..6b6443512 100644 --- a/src/aobutton.h +++ b/src/aobutton.h @@ -15,12 +15,14 @@ class AOButton : public QPushButton QString get_image(); bool has_image(); void set_image(QString p_image); + void set_image_and_text(QString p_image, QString p_text); void refresh_image(); private: AOApplication *ao_app = nullptr; QString m_image; QString m_image_stem; + QString m_text; }; #endif // AOBUTTON_H diff --git a/src/lobby.cpp b/src/lobby.cpp index 5a4d0b795..c011568d0 100644 --- a/src/lobby.cpp +++ b/src/lobby.cpp @@ -156,8 +156,7 @@ void Lobby::update_widgets() ui_version->setText("Version: " + get_version_string()); set_size_and_pos(ui_config_panel, "config_panel", LOBBY_DESIGN_INI, ao_app); - ui_config_panel->set_image("lobby_config_panel.png"); - ui_config_panel->setText("Config"); + ui_config_panel->set_image_and_text("lobby_config_panel.png", "Config"); if (ui_config_panel->isHidden() || ui_config_panel->size().isEmpty()) { ui_config_panel->resize(64, 64);