changeset 94:2f373d48f889

*: etc changes to graph stuff
author Paper <mrpapersonic@gmail.com>
date Wed, 01 Nov 2023 14:30:26 -0400
parents d5efb81540b3
children 8043152ef9d4
files include/gui/widgets/graph.h src/gui/pages/statistics.cc
diffstat 2 files changed, 9 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/include/gui/widgets/graph.h	Wed Nov 01 13:52:34 2023 -0400
+++ b/include/gui/widgets/graph.h	Wed Nov 01 14:30:26 2023 -0400
@@ -1,5 +1,6 @@
 #ifndef __gui__widgets__graph_h
 #define __gui__widgets__graph_h
+
 #include <QWidget>
 #include <QSize>
 #include <QPaintEvent>
@@ -9,7 +10,7 @@
 #include <QPainterPath>
 #include <QPen>
 
-template <typename T> /* does this even work?? */
+template <typename T>
 class Graph final : public QWidget {
 public:
 	Graph(QWidget* parent = nullptr) : QWidget(parent) {};
@@ -36,7 +37,7 @@
 
 		int i = 0;
 		for (const auto& item : map) {
-			painter.drawText(QRect(0, i*ITEM_HEIGHT, TEXT_WIDTH, ITEM_HEIGHT), Qt::AlignRight | Qt::AlignVCenter, QString::number(item.first));
+			painter.drawText(QRect(rect.x(), rect.y() + i * ITEM_HEIGHT, TEXT_WIDTH, ITEM_HEIGHT), Qt::AlignRight | Qt::AlignVCenter, QString::number(item.first));
 
 			if (size) {
 				painter.save();
@@ -45,7 +46,7 @@
 				painter.setPen(pen);
 
 				QPainterPath path;
-				path.addRect(rect.x()+35, rect.y()+(i*ITEM_HEIGHT), (static_cast<double>(item.second)/size)*(rect.width()-35), ITEM_HEIGHT);
+				path.addRect(rect.x()+35, rect.y() + i * ITEM_HEIGHT, (static_cast<double>(item.second)/size)*(rect.width()-35), ITEM_HEIGHT);
 				painter.fillPath(path, Qt::blue);
 				painter.drawPath(path);
 
--- a/src/gui/pages/statistics.cc	Wed Nov 01 13:52:34 2023 -0400
+++ b/src/gui/pages/statistics.cc	Wed Nov 01 14:30:26 2023 -0400
@@ -28,13 +28,16 @@
 	    tr("Anime count:\nEpisode count:\nTime spent watching:\nTime to complete:\nAverage score:\nScore deviation:"),
 	    "", this));
 
-	/* spaghetti incoming */
 	QWidget* score_dist_widget = new QWidget(this);
 	QVBoxLayout* score_dist_layout = new QVBoxLayout(score_dist_widget);
 
+	score_dist_layout->addWidget(new TextWidgets::Header(tr("Score distribution"), score_dist_widget));
+
+	/* I have to explain myself here: I hate this :). This makes a widget as a layer to create a margin,
+	   similar to what I do in text.cc with sections. I hate it and it should really be put into a separate
+	   class, but whatever. */
 	QWidget* content = new QWidget(score_dist_widget);
 	QVBoxLayout* content_layout = new QVBoxLayout(content);
-	score_dist_layout->addWidget(new TextWidgets::Header(tr("Score distribution"), content));
 	_score_distribution_graph.reset(new Graph<int>(content));
 	content_layout->addWidget(_score_distribution_graph.get());
 	content_layout->setContentsMargins(0, 0, 0, 0);