blob: 638d8de263352dd77339348712f6520892d234e5 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
#pragma once
#include <QMainWindow>
#include "Configuration.hpp"
#include "WindowMediator.hpp"
#include "utils.hpp"
using WindowId = qsizetype;
class BrowserWindow : public QMainWindow {
Q_OBJECT
public:
BrowserWindow(const Configuration &configuration, const QStringList &urls = {});
DEFINE_GETTER(mediator, win_mediator)
DEFINE_GETTER(get_id, win_id)
DEFINE_SETTER(set_id, win_id)
bool on_window_key_event(QKeyEvent *event);
void closeEvent(QCloseEvent * /*event*/) override;
signals:
void closed();
private:
WindowMediator *win_mediator;
const Configuration &configuration;
WindowId win_id = -1;
};
using WindowMap = std::unordered_map<uint64_t, BrowserWindow *>;
|