diff --git a/src/librssguard/gui/reusable/colortoolbutton.cpp b/src/librssguard/gui/reusable/colortoolbutton.cpp index 070746685..5cc301195 100644 --- a/src/librssguard/gui/reusable/colortoolbutton.cpp +++ b/src/librssguard/gui/reusable/colortoolbutton.cpp @@ -37,11 +37,11 @@ void ColorToolButton::setColor(const QColor& color) { } void ColorToolButton::setRandomColor() { - auto rnd_color = QRandomGenerator::global()->bounded(0xFFFFFF); - auto rnd_color_name = QSL("#%1").arg(QString::number(rnd_color, 16)); + int hue = QRandomGenerator::global()->generate() % 360; + auto clr = QColor::fromHsv(hue, 200, 240); - setColor(rnd_color_name); - emit colorChanged(rnd_color_name); + setColor(clr); + emit colorChanged(clr); } void ColorToolButton::paintEvent(QPaintEvent* e) { diff --git a/src/librssguard/miscellaneous/textfactory.cpp b/src/librssguard/miscellaneous/textfactory.cpp index d7c1ec5ac..a38bd4e02 100644 --- a/src/librssguard/miscellaneous/textfactory.cpp +++ b/src/librssguard/miscellaneous/textfactory.cpp @@ -37,10 +37,10 @@ QColor TextFactory::generateColorFromText(const QString& text) { color += chr.unicode(); } - color = QRandomGenerator(color).bounded(double(0xFFFFFF)) - 1; - auto color_name = QSL("#%1").arg(color, 6, 16); + // NOTE: https://martin.ankerl.com/2009/12/09/how-to-create-random-colors-programmatically + int hue = color % 360; - return QColor(color_name); + return QColor::fromHsv(hue, 200, 240); } int TextFactory::stringHeight(const QString& string, const QFontMetrics& metrics) { diff --git a/src/librssguard/services/abstract/serviceroot.cpp b/src/librssguard/services/abstract/serviceroot.cpp index 37e27df21..1c349af0c 100644 --- a/src/librssguard/services/abstract/serviceroot.cpp +++ b/src/librssguard/services/abstract/serviceroot.cpp @@ -214,7 +214,8 @@ void ServiceRoot::cleanAllItemsFromModel(bool clean_labels_too) { for (RootItem* top_level_item : qAsConst(chi)) { if (top_level_item->kind() != RootItem::Kind::Bin && top_level_item->kind() != RootItem::Kind::Important && - top_level_item->kind() != RootItem::Kind::Unread && top_level_item->kind() != RootItem::Kind::Labels) { + top_level_item->kind() != RootItem::Kind::Unread && top_level_item->kind() != RootItem::Kind::Probes && + top_level_item->kind() != RootItem::Kind::Labels) { requestItemRemoval(top_level_item); } }