aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2024-11-14 00:25:37 +0100
committerdec05eba <dec05eba@protonmail.com>2024-11-14 00:25:37 +0100
commitd2f6b0738bdd90a5503fff404dfa4f0ad0962ef3 (patch)
treed6ff32e7416d1a0b7f8e6024807797e8447b4bcf /include
parent4ba1e814b748d57631f6b7afb7eaa63e8435c24e (diff)
Add option to start replay on fullscreen
Diffstat (limited to 'include')
-rw-r--r--include/Config.hpp2
-rw-r--r--include/Overlay.hpp4
-rw-r--r--include/gui/LineSeparator.hpp6
-rw-r--r--include/gui/RadioButton.hpp8
-rw-r--r--include/gui/SettingsPage.hpp4
5 files changed, 17 insertions, 7 deletions
diff --git a/include/Config.hpp b/include/Config.hpp
index fbfc86f..cfb64df 100644
--- a/include/Config.hpp
+++ b/include/Config.hpp
@@ -81,7 +81,7 @@ namespace gsr {
struct ReplayConfig {
RecordOptions record_options;
- bool start_replay_automatically = false;
+ std::string turn_on_replay_automatically_mode = "dont_turn_on_automatically";
bool save_video_in_game_folder = false;
bool show_replay_started_notifications = true;
bool show_replay_stopped_notifications = true;
diff --git a/include/Overlay.hpp b/include/Overlay.hpp
index 823e3a6..de27bf3 100644
--- a/include/Overlay.hpp
+++ b/include/Overlay.hpp
@@ -59,6 +59,8 @@ namespace gsr {
void update_notification_process_status();
void update_gsr_process_status();
+ void update_focused_fullscreen_status();
+
void update_ui_recording_paused();
void update_ui_recording_unpaused();
@@ -115,6 +117,8 @@ namespace gsr {
RecordingStatus recording_status = RecordingStatus::NONE;
bool paused = false;
+ mgl::Clock focused_fullscreen_clock;
+
std::array<KeyBinding, 1> key_bindings;
};
} \ No newline at end of file
diff --git a/include/gui/LineSeparator.hpp b/include/gui/LineSeparator.hpp
index 8c39114..7996071 100644
--- a/include/gui/LineSeparator.hpp
+++ b/include/gui/LineSeparator.hpp
@@ -5,11 +5,11 @@
namespace gsr {
class LineSeparator : public Widget {
public:
- enum class Type {
+ enum class Orientation {
HORIZONTAL
};
- LineSeparator(Type type, float width);
+ LineSeparator(Orientation orientation, float width);
LineSeparator(const LineSeparator&) = delete;
LineSeparator& operator=(const LineSeparator&) = delete;
@@ -18,7 +18,7 @@ namespace gsr {
mgl::vec2f get_size() override;
private:
- Type type;
+ Orientation orientation;
float width;
};
} \ No newline at end of file
diff --git a/include/gui/RadioButton.hpp b/include/gui/RadioButton.hpp
index 69339db..a009eab 100644
--- a/include/gui/RadioButton.hpp
+++ b/include/gui/RadioButton.hpp
@@ -9,7 +9,12 @@
namespace gsr {
class RadioButton : public Widget {
public:
- RadioButton(mgl::Font *font);
+ enum class Orientation {
+ VERTICAL,
+ HORIZONTAL
+ };
+
+ RadioButton(mgl::Font *font, Orientation orientation);
RadioButton(const RadioButton&) = delete;
RadioButton& operator=(const RadioButton&) = delete;
@@ -32,6 +37,7 @@ namespace gsr {
};
mgl::Font *font;
+ Orientation orientation;
std::vector<Item> items;
size_t selected_item = 0;
bool dirty = true;
diff --git a/include/gui/SettingsPage.hpp b/include/gui/SettingsPage.hpp
index 2fba93b..6c8a5cb 100644
--- a/include/gui/SettingsPage.hpp
+++ b/include/gui/SettingsPage.hpp
@@ -92,7 +92,7 @@ namespace gsr {
std::unique_ptr<List> create_container_section();
std::unique_ptr<Entry> create_replay_time_entry();
std::unique_ptr<List> create_replay_time();
- std::unique_ptr<CheckBox> create_start_replay_on_startup();
+ std::unique_ptr<RadioButton> create_start_replay_automatically();
std::unique_ptr<CheckBox> create_save_replay_in_game_folder();
std::unique_ptr<Label> create_estimated_file_size();
void update_estimated_file_size();
@@ -165,7 +165,6 @@ namespace gsr {
List *stream_key_list_ptr = nullptr;
List *stream_url_list_ptr = nullptr;
List *container_list_ptr = nullptr;
- CheckBox *start_replay_automatically_ptr = nullptr;
CheckBox *save_replay_in_game_folder_ptr = nullptr;
Label *estimated_file_size_ptr = nullptr;
CheckBox *show_replay_started_notification_checkbox_ptr = nullptr;
@@ -181,6 +180,7 @@ namespace gsr {
Entry *youtube_stream_key_entry_ptr = nullptr;
Entry *stream_url_entry_ptr = nullptr;
Entry *replay_time_entry_ptr = nullptr;
+ RadioButton *turn_on_replay_automatically_mode_ptr = nullptr;
PageStack *page_stack = nullptr;