diff --git a/capture/button.cpp b/capture/button.cpp index af0648c0..0ad68c10 100644 --- a/capture/button.cpp +++ b/capture/button.cpp @@ -51,8 +51,11 @@ Button::Button(Type t, QWidget *parent) : QPushButton(parent) { } -QIcon Button::getIcon(const Type t) { - QString iconColor = "White"; // or "Black" +QIcon Button::getIcon(const Type t, bool isWhite) { + QString iconColor = "Black"; // or "Black" + if (isWhite) { + iconColor = "White"; + } QString path = ":/img/buttonIcons" + iconColor + "/"; if (t == Type::mouseVisibility) { @@ -115,6 +118,12 @@ QIcon Button::getIcon(const Type t) { return QIcon(path); } +QIcon Button::getIcon(const Type t) { + // assign th isWhite based on the settings + bool isWhite = true; + return getIcon(t, isWhite); +} + void Button::enterEvent(QEvent *e) { Q_EMIT hovered(); QWidget::enterEvent(e); diff --git a/capture/button.h b/capture/button.h index 680c8026..3e0ec16b 100644 --- a/capture/button.h +++ b/capture/button.h @@ -53,6 +53,7 @@ public: explicit Button(Type, QWidget *parent = 0); static QIcon getIcon(const Type); + static QIcon getIcon(const Type, bool isWhite); static size_t getButtonBaseSize(); static Button::Type getTypeByName(QString); static QString getTypeName(Button::Type); diff --git a/configwindow.cpp b/configwindow.cpp index 477f33af..8ee68ee7 100644 --- a/configwindow.cpp +++ b/configwindow.cpp @@ -50,7 +50,7 @@ ConfigWindow::ConfigWindow(QWidget *parent) : QWidget(parent){ baseLayout->addWidget(m_buttonListView); show(); } - +#include void ConfigWindow::initButtonList() { for (int i = 0; i != static_cast(Button::Type::last); ++i) { auto t = static_cast(i); @@ -60,7 +60,15 @@ void ConfigWindow::initButtonList() { continue; } QListWidgetItem *buttonItem = new QListWidgetItem(m_buttonListView); - buttonItem->setIcon(Button::getIcon(t)); + + bool iconsAreWhite = false; + QString bgColor = this->palette().color(QWidget::backgroundRole()).name(); + // when the background is lighter than gray, it uses the white icons + if (bgColor < QColor(Qt::gray).name()) { + iconsAreWhite = true; + } + buttonItem->setIcon(Button::getIcon(t, iconsAreWhite)); + buttonItem->setText(Button::getTypeName(t)); buttonItem->setToolTip(Button::getTypeTooltip(t)); if (m_listButtons.contains(i)) { diff --git a/configwindow.h b/configwindow.h index c5803bcb..2d21c436 100644 --- a/configwindow.h +++ b/configwindow.h @@ -26,19 +26,18 @@ class QListWidget; class ConfigWindow : public QWidget { Q_OBJECT public: - explicit ConfigWindow(QWidget *parent = 0); +signals: + +private slots: + void updateActiveButtons(QListWidgetItem *); + private: void initButtonList(); QList m_listButtons; QListWidget *m_buttonListView; - -signals: - -private slots: - void updateActiveButtons(QListWidgetItem *); }; #endif // CONFIGURATION_H diff --git a/infowindow.cpp b/infowindow.cpp index 4cb52c86..1b5e7198 100644 --- a/infowindow.cpp +++ b/infowindow.cpp @@ -36,10 +36,6 @@ InfoWindow::InfoWindow(QWidget *parent) : QWidget(parent) { initInfoTable(); layout->addWidget(new QLabel("License", this)); layout->addWidget(new QLabel("GPLv3+", this)); - layout->addWidget(new QLabel("License", this)); - layout->addWidget(new QLabel("GPLv3+", this)); - layout->addWidget(new QLabel("License", this)); - layout->addWidget(new QLabel("GPLv3+", this)); // inform about full screen capture when no selection