Mercurial > minori
comparison src/gui/pages/statistics.cc @ 172:45a0967485f1
graph, statistics: make my code a little less messy
| author | Paper <mrpapersonic@gmail.com> |
|---|---|
| date | Tue, 28 Nov 2023 13:22:35 -0500 |
| parents | 6d8da6e64d61 |
| children | bc8d2ccff09c |
comparison
equal
deleted
inserted
replaced
| 171:03b444cbe55f | 172:45a0967485f1 |
|---|---|
| 22 | 22 |
| 23 _anime_list.reset(new TextWidgets::LabelledSection( | 23 _anime_list.reset(new TextWidgets::LabelledSection( |
| 24 tr("Anime list"), | 24 tr("Anime list"), |
| 25 tr("Anime count:\nEpisode count:\nTime spent watching:\nTime to complete:\nAverage score:\nScore deviation:"), | 25 tr("Anime count:\nEpisode count:\nTime spent watching:\nTime to complete:\nAverage score:\nScore deviation:"), |
| 26 "", this)); | 26 "", this)); |
| 27 layout->addWidget(_anime_list.get()); | |
| 27 | 28 |
| 28 QWidget* score_dist_widget = new QWidget(this); | 29 { |
| 29 QVBoxLayout* score_dist_layout = new QVBoxLayout(score_dist_widget); | 30 QWidget* score_dist_widget = new QWidget(this); |
| 31 QVBoxLayout* score_dist_layout = new QVBoxLayout(score_dist_widget); | |
| 30 | 32 |
| 31 score_dist_layout->addWidget(new TextWidgets::Header(tr("Score distribution"), score_dist_widget)); | 33 score_dist_layout->addWidget(new TextWidgets::Header(tr("Score distribution"), score_dist_widget)); |
| 32 | 34 |
| 33 /* I have to explain myself here: I hate this :). This makes a widget as a layer to create a margin, | 35 /* Ew */ |
| 34 similar to what I do in text.cc with sections. I hate it and it should really be put into a separate | 36 { |
| 35 class, but whatever. */ | 37 QWidget* score_graph_parent = new QWidget(score_dist_widget); |
| 36 QWidget* content = new QWidget(score_dist_widget); | 38 QVBoxLayout* score_parent_layout = new QVBoxLayout(score_graph_parent); |
| 37 QVBoxLayout* content_layout = new QVBoxLayout(content); | |
| 38 _score_distribution_graph.reset(new Graph<int>(content)); | |
| 39 content_layout->addWidget(_score_distribution_graph.get()); | |
| 40 content_layout->setSpacing(0); | |
| 41 /* For some reason, when we set the margin to 12 on any paragraphs it | |
| 42 actually doesn't draw them 12 pixels away. It draws them ~15 pixels | |
| 43 away! I'm assuming this is just Qt's widgets being weird (they usually are) | |
| 44 and I hope it's nothing I *really* have to worry about... */ | |
| 45 content_layout->setContentsMargins(15, 0, 0, 0); | |
| 46 content->setContentsMargins(0, 0, 0, 0); | |
| 47 | 39 |
| 48 score_dist_layout->addWidget(content); | 40 _score_distribution_graph.reset(new Graph<int>(score_graph_parent)); |
| 49 score_dist_layout->setContentsMargins(0, 0, 0, 0); | 41 score_parent_layout->addWidget(_score_distribution_graph.get()); |
| 42 | |
| 43 score_parent_layout->setSpacing(0); | |
| 44 score_parent_layout->setContentsMargins(12, 0, 0, 0); | |
| 45 | |
| 46 score_graph_parent->setContentsMargins(3, 0, 0, 0); | |
| 47 | |
| 48 score_dist_layout->addWidget(score_graph_parent); | |
| 49 } | |
| 50 | |
| 51 score_dist_layout->setContentsMargins(0, 0, 0, 0); | |
| 52 | |
| 53 layout->addWidget(score_dist_widget); | |
| 54 } | |
| 55 | |
| 50 | 56 |
| 51 _application.reset(new TextWidgets::LabelledSection(tr("Minori"), tr("Uptime:\nRequests made:"), "\n\n", this)); | 57 _application.reset(new TextWidgets::LabelledSection(tr("Minori"), tr("Uptime:\nRequests made:"), "\n\n", this)); |
| 58 layout->addWidget(_application.get()); | |
| 52 | 59 |
| 53 layout->addWidget(_anime_list.get()); | |
| 54 layout->addWidget(score_dist_widget); | |
| 55 layout->addWidget(_application.get()); | |
| 56 layout->addStretch(); | 60 layout->addStretch(); |
| 57 | 61 |
| 58 QTimer* timer = new QTimer(this); | 62 QTimer* timer = new QTimer(this); |
| 59 connect(timer, &QTimer::timeout, this, [this] { | 63 connect(timer, &QTimer::timeout, this, [this] { |
| 60 if (isVisible()) | 64 if (isVisible()) |
