diff --git a/src/HistoryView.cc b/src/HistoryView.cc
index 3692c493..ce2e2f6c 100644
--- a/src/HistoryView.cc
+++ b/src/HistoryView.cc
@@ -15,8 +15,6 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include <random>
-
#include <QDebug>
#include <QScrollBar>
#include <QtWidgets/QLabel>
@@ -24,31 +22,7 @@
#include "HistoryView.h"
#include "HistoryViewItem.h"
-
-const QList<QString> HistoryView::COLORS({"#FFF46E",
- "#A58BFF",
- "#50C9BA",
- "#9EE6CF",
- "#FFDD67",
- "#2980B9",
- "#FC993C",
- "#2772DB",
- "#CB8589",
- "#DDE8B9",
- "#55A44E",
- "#A9EEE6",
- "#53B759",
- "#9E3997",
- "#5D89D5",
- "#BB86B7",
- "#50a0cf",
- "#3C989F",
- "#5A4592",
- "#235e5b",
- "#d58247",
- "#e0a729",
- "#a2b636",
- "#4BBE2E"});
+#include "HistoryViewManager.h"
HistoryView::HistoryView(const QList<Event> &events, QWidget *parent)
: QWidget(parent)
@@ -65,8 +39,6 @@ HistoryView::HistoryView(QWidget *parent)
void HistoryView::clear()
{
- nick_colors_.clear();
-
for (const auto msg : scroll_layout_->children())
msg->deleteLater();
}
@@ -77,15 +49,6 @@ void HistoryView::sliderRangeChanged(int min, int max)
scroll_area_->verticalScrollBar()->setValue(max);
}
-QString HistoryView::chooseRandomColor()
-{
- std::random_device random_device;
- std::mt19937 engine{random_device()};
- std::uniform_int_distribution<int> dist(0, HistoryView::COLORS.size() - 1);
-
- return HistoryView::COLORS[dist(engine)];
-}
-
void HistoryView::addEvents(const QList<Event> &events)
{
for (const auto &event : events) {
@@ -94,11 +57,11 @@ void HistoryView::addEvents(const QList<Event> &events)
if (msg_type == "m.text" || msg_type == "m.notice") {
auto with_sender = last_sender_ != event.sender();
- auto color = nick_colors_.value(event.sender());
+ auto color = HistoryViewManager::NICK_COLORS.value(event.sender());
if (color.isEmpty()) {
- color = chooseRandomColor();
- nick_colors_.insert(event.sender(), color);
+ color = HistoryViewManager::chooseRandomColor();
+ HistoryViewManager::NICK_COLORS.insert(event.sender(), color);
}
addHistoryItem(event, color, with_sender);
|