aboutsummaryrefslogtreecommitdiff
path: root/include/Config.hpp
blob: 2091cf2bcf7c707b57079455e5989843e4324a78 (plain)
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#pragma once

#include <string>

namespace QuickMedia {
    struct SearchConfig {
        int font_size = 16;
    };

    struct TabConfig {
        int font_size = 16;
    };

    struct BodyConfig {
        int title_font_size = 16;
        int author_font_size = 14;
        int description_font_size = 14;
        int timestamp_font_size = 10;
        int reaction_font_size = 14;
        int progress_font_size = 14;
        int replies_font_size = 14;
        int embedded_load_font_size = 14;
    };

    struct InputConfig {
        int font_size = 16;
    };

    struct VideoConfig {
        int max_height = 0;
    };

    struct Config {
        Config() = default;
        Config(const Config&) = delete;
        Config&operator=(const Config&) = delete;

        SearchConfig search;
        TabConfig tab;
        BodyConfig body;
        InputConfig input;
        VideoConfig video;
        bool use_system_fonts = false;
        bool use_system_mpv_config = false;
        std::string theme = "default";
        float scale = 1.0f;
        float font_scale = 1.0f;
    };

    const Config& get_config();
}