Mercurial > minori
annotate include/core/session.h @ 368:6d37a998cf91
gui/dialog: consolidate win32 dark theme cruft into a single class
| author | Paper <paper@tflc.us> |
|---|---|
| date | Fri, 25 Jul 2025 10:05:23 -0400 |
| parents | 1faa72660932 |
| children | 47c9f8502269 |
| rev | line source |
|---|---|
|
261
3ec7804abf17
include: make header guards more sane
Paper <paper@paper.us.eu.org>
parents:
258
diff
changeset
|
1 #ifndef MINORI_CORE_SESSION_H_ |
|
3ec7804abf17
include: make header guards more sane
Paper <paper@paper.us.eu.org>
parents:
258
diff
changeset
|
2 #define MINORI_CORE_SESSION_H_ |
| 85 | 3 |
|
319
d928ec7b6a0d
services/kitsu: implement GetAnimeList()
Paper <paper@paper.us.eu.org>
parents:
315
diff
changeset
|
4 #include "core/time.h" |
| 10 | 5 #include "core/config.h" |
| 108 | 6 #include "gui/locale.h" |
| 292 | 7 |
|
315
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
292
diff
changeset
|
8 #include <QObject> |
| 10 | 9 #include <QElapsedTimer> |
| 10 | |
|
221
53211cb1e7f5
library: add initial library stuff
Paper <paper@paper.us.eu.org>
parents:
195
diff
changeset
|
11 #include "semver/semver.hpp" |
|
53211cb1e7f5
library: add initial library stuff
Paper <paper@paper.us.eu.org>
parents:
195
diff
changeset
|
12 |
| 291 | 13 #include <atomic> |
|
315
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
292
diff
changeset
|
14 #include <string> |
|
319
d928ec7b6a0d
services/kitsu: implement GetAnimeList()
Paper <paper@paper.us.eu.org>
parents:
315
diff
changeset
|
15 #include <random> |
| 250 | 16 |
|
315
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
292
diff
changeset
|
17 class MainWindow; |
|
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
292
diff
changeset
|
18 |
|
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
292
diff
changeset
|
19 struct Session : public QObject { |
|
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
292
diff
changeset
|
20 Q_OBJECT |
|
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
292
diff
changeset
|
21 |
| 258 | 22 public: |
|
315
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
292
diff
changeset
|
23 Session(); |
|
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
292
diff
changeset
|
24 |
|
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
292
diff
changeset
|
25 void SetMainWindow(MainWindow* window); |
|
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
292
diff
changeset
|
26 |
|
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
292
diff
changeset
|
27 void SetStatusBar(const std::string& message); |
|
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
292
diff
changeset
|
28 |
| 258 | 29 /* we literally *cannot* be lying to the user by doing this */ |
|
315
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
292
diff
changeset
|
30 void IncrementRequests(); |
|
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
292
diff
changeset
|
31 unsigned int GetRequests(); |
|
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
292
diff
changeset
|
32 int uptime(); |
| 10 | 33 |
| 258 | 34 Config config; |
|
343
1faa72660932
*: transfer back to cmake from autotools
Paper <paper@paper.us.eu.org>
parents:
319
diff
changeset
|
35 |
|
319
d928ec7b6a0d
services/kitsu: implement GetAnimeList()
Paper <paper@paper.us.eu.org>
parents:
315
diff
changeset
|
36 std::mt19937 gen; |
|
118
39521c47c7a3
*: another huge megacommit, SORRY
Paper <mrpapersonic@gmail.com>
parents:
108
diff
changeset
|
37 |
|
343
1faa72660932
*: transfer back to cmake from autotools
Paper <paper@paper.us.eu.org>
parents:
319
diff
changeset
|
38 static constexpr semver::version version{ |
|
1faa72660932
*: transfer back to cmake from autotools
Paper <paper@paper.us.eu.org>
parents:
319
diff
changeset
|
39 MINORI_VERSION_MAJOR, |
|
1faa72660932
*: transfer back to cmake from autotools
Paper <paper@paper.us.eu.org>
parents:
319
diff
changeset
|
40 MINORI_VERSION_MINOR, |
|
1faa72660932
*: transfer back to cmake from autotools
Paper <paper@paper.us.eu.org>
parents:
319
diff
changeset
|
41 MINORI_VERSION_PATCH, |
|
1faa72660932
*: transfer back to cmake from autotools
Paper <paper@paper.us.eu.org>
parents:
319
diff
changeset
|
42 }; |
|
1faa72660932
*: transfer back to cmake from autotools
Paper <paper@paper.us.eu.org>
parents:
319
diff
changeset
|
43 |
|
315
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
292
diff
changeset
|
44 signals: |
|
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
292
diff
changeset
|
45 void StatusBarChange(const std::string& message); |
|
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
292
diff
changeset
|
46 |
| 258 | 47 private: |
| 291 | 48 /* IncrementRequests() gets called by different threads */ |
|
315
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
292
diff
changeset
|
49 std::atomic<unsigned int> requests_ = 0; |
|
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
292
diff
changeset
|
50 QElapsedTimer timer_; |
|
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
292
diff
changeset
|
51 MainWindow* window_; |
| 10 | 52 }; |
| 53 | |
| 54 extern Session session; | |
| 55 | |
|
261
3ec7804abf17
include: make header guards more sane
Paper <paper@paper.us.eu.org>
parents:
258
diff
changeset
|
56 #endif // MINORI_CORE_SESSION_H_ |
