annotate include/gui/widgets/anime_info.h @ 187:9613d72b097e

*: multiple performance improvements like marking `static const` when it makes sense... date: change old stupid heap-based method to a structure which should make copying the thing actually make a copy. also many performance-based changes, like removing the std::tie dependency and forward-declaring nlohmann json *: replace every instance of QString::fromUtf8 to Strings::ToQString. the main difference is that our function will always convert exactly what is in the string, while some other times it would only convert up to the nearest NUL byte
author Paper <mrpapersonic@gmail.com>
date Wed, 06 Dec 2023 13:43:54 -0500
parents 8043152ef9d4
children 862d0d8619f6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
64
fe719c109dbc *: update
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
1 #ifndef __gui__widgets__anime_info_h
fe719c109dbc *: update
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
2 #define __gui__widgets__anime_info_h
85
c69230dc2b5d *: cleanup includes
Paper <mrpapersonic@gmail.com>
parents: 82
diff changeset
3
64
fe719c109dbc *: update
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
4 #include <QWidget>
85
c69230dc2b5d *: cleanup includes
Paper <mrpapersonic@gmail.com>
parents: 82
diff changeset
5
c69230dc2b5d *: cleanup includes
Paper <mrpapersonic@gmail.com>
parents: 82
diff changeset
6 namespace TextWidgets {
c69230dc2b5d *: cleanup includes
Paper <mrpapersonic@gmail.com>
parents: 82
diff changeset
7 class OneLineSection;
c69230dc2b5d *: cleanup includes
Paper <mrpapersonic@gmail.com>
parents: 82
diff changeset
8 class LabelledSection;
c69230dc2b5d *: cleanup includes
Paper <mrpapersonic@gmail.com>
parents: 82
diff changeset
9 class SelectableSection;
c69230dc2b5d *: cleanup includes
Paper <mrpapersonic@gmail.com>
parents: 82
diff changeset
10 }
64
fe719c109dbc *: update
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
11
fe719c109dbc *: update
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
12 namespace Anime {
76
3364fadc8a36 *: format source code
Paper <mrpapersonic@gmail.com>
parents: 64
diff changeset
13 class Anime;
64
fe719c109dbc *: update
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
14 }
fe719c109dbc *: update
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
15
95
8043152ef9d4 include: set classes as final where appropriate
Paper <mrpapersonic@gmail.com>
parents: 85
diff changeset
16 class AnimeInfoWidget final : public QWidget {
64
fe719c109dbc *: update
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
17 Q_OBJECT
fe719c109dbc *: update
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
18
fe719c109dbc *: update
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
19 public:
80
825506f0e221 [UNFINISHED]: stuff
Paper <mrpapersonic@gmail.com>
parents: 76
diff changeset
20 AnimeInfoWidget(QWidget* parent = nullptr);
64
fe719c109dbc *: update
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
21 AnimeInfoWidget(const Anime::Anime& anime, QWidget* parent = nullptr);
82
8b65c417c225 *: fix old stuff, make video players and extensions constants
Paper <mrpapersonic@gmail.com>
parents: 80
diff changeset
22 void SetAnime(const Anime::Anime& anime);
80
825506f0e221 [UNFINISHED]: stuff
Paper <mrpapersonic@gmail.com>
parents: 76
diff changeset
23
825506f0e221 [UNFINISHED]: stuff
Paper <mrpapersonic@gmail.com>
parents: 76
diff changeset
24 private:
825506f0e221 [UNFINISHED]: stuff
Paper <mrpapersonic@gmail.com>
parents: 76
diff changeset
25 std::shared_ptr<TextWidgets::OneLineSection> _title = nullptr;
825506f0e221 [UNFINISHED]: stuff
Paper <mrpapersonic@gmail.com>
parents: 76
diff changeset
26 std::shared_ptr<TextWidgets::LabelledSection> _details = nullptr;
825506f0e221 [UNFINISHED]: stuff
Paper <mrpapersonic@gmail.com>
parents: 76
diff changeset
27 std::shared_ptr<TextWidgets::SelectableSection> _synopsis = nullptr;
64
fe719c109dbc *: update
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
28 };
fe719c109dbc *: update
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
29
fe719c109dbc *: update
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
30 #endif // __gui__widgets__anime_info_h