Mercurial > minori
annotate src/core/session.cc @ 383:27c462bc7815
make the "Now Playing" page actually work
| author | Paper <paper@tflc.us> |
|---|---|
| date | Thu, 06 Nov 2025 07:10:58 -0500 |
| parents | 47c9f8502269 |
| children |
| rev | line source |
|---|---|
|
315
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
1 #include "core/session.h" |
|
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
2 #include "core/config.h" |
| 369 | 3 #include "core/strings.h" |
| 4 #include "gui/locale.h" | |
|
315
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
5 #include "gui/window.h" |
|
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
6 |
|
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
7 #include <QElapsedTimer> |
|
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
8 #include <QStatusBar> |
|
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
9 |
|
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
10 #include "semver/semver.hpp" |
|
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
11 |
|
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
12 #include <atomic> |
|
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
13 |
|
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
14 Session session; |
|
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
15 |
| 369 | 16 Session::Session() : gen(Time::GetSystemTime()) |
| 17 { | |
|
315
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
18 timer_.start(); |
|
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
19 } |
|
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
20 |
| 369 | 21 void Session::SetMainWindow(MainWindow *window) |
| 22 { | |
|
315
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
23 disconnect(); |
|
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
24 window_ = window; |
|
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
25 connect(this, &Session::StatusBarChange, window_, &MainWindow::SetStatusMessage); |
|
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
26 } |
|
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
27 |
| 369 | 28 void Session::SetStatusBar(const std::string &message) |
| 29 { | |
|
315
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
30 emit StatusBarChange(message); |
|
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
31 } |
|
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
32 |
| 369 | 33 void Session::IncrementRequests() |
| 34 { | |
|
315
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
35 requests_++; |
|
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
36 }; |
|
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
37 |
| 369 | 38 unsigned int Session::GetRequests() |
| 39 { | |
|
315
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
40 return requests_; |
|
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
41 }; |
|
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
42 |
|
383
27c462bc7815
make the "Now Playing" page actually work
Paper <paper@tflc.us>
parents:
369
diff
changeset
|
43 std::int64_t Session::uptime() |
| 369 | 44 { |
|
315
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
45 return timer_.elapsed(); |
|
34347fd2a2de
session: allow printing status messages
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
46 } |
