mirror of
https://repo.dec05eba.com/gpu-screen-recorder-ui
synced 2026-03-31 09:17:04 +09:00
Move notifications/led indicator to new section in the ui
This commit is contained in:
2
TODO
2
TODO
@@ -245,4 +245,4 @@ Show the currently recorded capture in the ui, to preview if everything looks ok
|
|||||||
|
|
||||||
Show a question mark beside options. When hovering the question mark show a tooltip that explains the options.
|
Show a question mark beside options. When hovering the question mark show a tooltip that explains the options.
|
||||||
|
|
||||||
Make led indicator work on wayland (set led with /sys/... blabla with root access).
|
Make led indicator work on wayland (set led with /sys/... blabla with root access). Maybe add a command in gsr-global-hotkeys for that, set_led true/false <led name>. That should loop all input devices and set their led status for the led name.
|
||||||
|
|||||||
@@ -46,6 +46,7 @@ namespace gsr {
|
|||||||
std::unique_ptr<Widget> create_notifications();
|
std::unique_ptr<Widget> create_notifications();
|
||||||
std::unique_ptr<Widget> create_led_indicator();
|
std::unique_ptr<Widget> create_led_indicator();
|
||||||
std::unique_ptr<Widget> create_general_section();
|
std::unique_ptr<Widget> create_general_section();
|
||||||
|
std::unique_ptr<Widget> create_screenshot_indicator_section();
|
||||||
std::unique_ptr<Widget> create_settings();
|
std::unique_ptr<Widget> create_settings();
|
||||||
void add_widgets();
|
void add_widgets();
|
||||||
|
|
||||||
|
|||||||
@@ -114,6 +114,7 @@ namespace gsr {
|
|||||||
void update_estimated_record_file_size();
|
void update_estimated_record_file_size();
|
||||||
std::unique_ptr<CheckBox> create_led_indicator(const char *type);
|
std::unique_ptr<CheckBox> create_led_indicator(const char *type);
|
||||||
std::unique_ptr<CheckBox> create_notifications(const char *type);
|
std::unique_ptr<CheckBox> create_notifications(const char *type);
|
||||||
|
std::unique_ptr<List> create_indicator(const char *type);
|
||||||
void add_replay_widgets();
|
void add_replay_widgets();
|
||||||
void add_record_widgets();
|
void add_record_widgets();
|
||||||
|
|
||||||
|
|||||||
@@ -239,9 +239,14 @@ namespace gsr {
|
|||||||
auto list = std::make_unique<List>(List::Orientation::VERTICAL);
|
auto list = std::make_unique<List>(List::Orientation::VERTICAL);
|
||||||
list->add_widget(create_save_screenshot_in_game_folder());
|
list->add_widget(create_save_screenshot_in_game_folder());
|
||||||
list->add_widget(create_save_screenshot_to_clipboard());
|
list->add_widget(create_save_screenshot_to_clipboard());
|
||||||
|
return std::make_unique<Subsection>("General", std::move(list), mgl::vec2f(settings_scrollable_page_ptr->get_inner_size().x, 0.0f));
|
||||||
|
}
|
||||||
|
|
||||||
|
std::unique_ptr<Widget> ScreenshotSettingsPage::create_screenshot_indicator_section() {
|
||||||
|
auto list = std::make_unique<List>(List::Orientation::VERTICAL);
|
||||||
list->add_widget(create_notifications());
|
list->add_widget(create_notifications());
|
||||||
list->add_widget(create_led_indicator());
|
list->add_widget(create_led_indicator());
|
||||||
return std::make_unique<Subsection>("General", std::move(list), mgl::vec2f(settings_scrollable_page_ptr->get_inner_size().x, 0.0f));
|
return std::make_unique<Subsection>("Screenshot indicator", std::move(list), mgl::vec2f(settings_scrollable_page_ptr->get_inner_size().x, 0.0f));
|
||||||
}
|
}
|
||||||
|
|
||||||
std::unique_ptr<Widget> ScreenshotSettingsPage::create_settings() {
|
std::unique_ptr<Widget> ScreenshotSettingsPage::create_settings() {
|
||||||
@@ -257,6 +262,7 @@ namespace gsr {
|
|||||||
settings_list->add_widget(create_image_section());
|
settings_list->add_widget(create_image_section());
|
||||||
settings_list->add_widget(create_file_info_section());
|
settings_list->add_widget(create_file_info_section());
|
||||||
settings_list->add_widget(create_general_section());
|
settings_list->add_widget(create_general_section());
|
||||||
|
settings_list->add_widget(create_screenshot_indicator_section());
|
||||||
settings_scrollable_page_ptr->add_widget(std::move(settings_list));
|
settings_scrollable_page_ptr->add_widget(std::move(settings_list));
|
||||||
return page_list;
|
return page_list;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -852,6 +852,13 @@ namespace gsr {
|
|||||||
return checkbox;
|
return checkbox;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::unique_ptr<List> SettingsPage::create_indicator(const char *type) {
|
||||||
|
auto list = std::make_unique<List>(List::Orientation::VERTICAL);
|
||||||
|
list->add_widget(create_notifications(type));
|
||||||
|
list->add_widget(create_led_indicator(type));
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
void SettingsPage::add_replay_widgets() {
|
void SettingsPage::add_replay_widgets() {
|
||||||
auto file_info_list = std::make_unique<List>(List::Orientation::VERTICAL);
|
auto file_info_list = std::make_unique<List>(List::Orientation::VERTICAL);
|
||||||
auto file_info_data_list = std::make_unique<List>(List::Orientation::HORIZONTAL);
|
auto file_info_data_list = std::make_unique<List>(List::Orientation::HORIZONTAL);
|
||||||
@@ -867,10 +874,9 @@ namespace gsr {
|
|||||||
general_list->add_widget(create_save_replay_in_game_folder());
|
general_list->add_widget(create_save_replay_in_game_folder());
|
||||||
if(gsr_info->system_info.gsr_version >= GsrVersion{5, 0, 3})
|
if(gsr_info->system_info.gsr_version >= GsrVersion{5, 0, 3})
|
||||||
general_list->add_widget(create_restart_replay_on_save());
|
general_list->add_widget(create_restart_replay_on_save());
|
||||||
general_list->add_widget(create_notifications("replay"));
|
|
||||||
general_list->add_widget(create_led_indicator("replay"));
|
|
||||||
|
|
||||||
settings_list_ptr->add_widget(std::make_unique<Subsection>("General", std::move(general_list), mgl::vec2f(settings_scrollable_page_ptr->get_inner_size().x, 0.0f)));
|
settings_list_ptr->add_widget(std::make_unique<Subsection>("General", std::move(general_list), mgl::vec2f(settings_scrollable_page_ptr->get_inner_size().x, 0.0f)));
|
||||||
|
settings_list_ptr->add_widget(std::make_unique<Subsection>("Replay indicator", create_indicator("replay"), mgl::vec2f(settings_scrollable_page_ptr->get_inner_size().x, 0.0f)));
|
||||||
settings_list_ptr->add_widget(std::make_unique<Subsection>("Autostart", create_start_replay_automatically(), mgl::vec2f(settings_scrollable_page_ptr->get_inner_size().x, 0.0f)));
|
settings_list_ptr->add_widget(std::make_unique<Subsection>("Autostart", create_start_replay_automatically(), mgl::vec2f(settings_scrollable_page_ptr->get_inner_size().x, 0.0f)));
|
||||||
|
|
||||||
view_radio_button_ptr->on_selection_changed = [this](const std::string&, const std::string &id) {
|
view_radio_button_ptr->on_selection_changed = [this](const std::string&, const std::string &id) {
|
||||||
@@ -924,10 +930,9 @@ namespace gsr {
|
|||||||
|
|
||||||
auto general_list = std::make_unique<List>(List::Orientation::VERTICAL);
|
auto general_list = std::make_unique<List>(List::Orientation::VERTICAL);
|
||||||
general_list->add_widget(create_save_recording_in_game_folder());
|
general_list->add_widget(create_save_recording_in_game_folder());
|
||||||
general_list->add_widget(create_notifications("recording"));
|
|
||||||
general_list->add_widget(create_led_indicator("recording"));
|
|
||||||
|
|
||||||
settings_list_ptr->add_widget(std::make_unique<Subsection>("General", std::move(general_list), mgl::vec2f(settings_scrollable_page_ptr->get_inner_size().x, 0.0f)));
|
settings_list_ptr->add_widget(std::make_unique<Subsection>("General", std::move(general_list), mgl::vec2f(settings_scrollable_page_ptr->get_inner_size().x, 0.0f)));
|
||||||
|
settings_list_ptr->add_widget(std::make_unique<Subsection>("Recording indicator", create_indicator("recording"), mgl::vec2f(settings_scrollable_page_ptr->get_inner_size().x, 0.0f)));
|
||||||
|
|
||||||
view_radio_button_ptr->on_selection_changed = [this](const std::string&, const std::string &id) {
|
view_radio_button_ptr->on_selection_changed = [this](const std::string&, const std::string &id) {
|
||||||
view_changed(id == "advanced");
|
view_changed(id == "advanced");
|
||||||
@@ -1055,10 +1060,9 @@ namespace gsr {
|
|||||||
|
|
||||||
auto general_list = std::make_unique<List>(List::Orientation::VERTICAL);
|
auto general_list = std::make_unique<List>(List::Orientation::VERTICAL);
|
||||||
general_list->add_widget(create_save_recording_in_game_folder());
|
general_list->add_widget(create_save_recording_in_game_folder());
|
||||||
general_list->add_widget(create_notifications("streaming"));
|
|
||||||
general_list->add_widget(create_led_indicator("streaming"));
|
|
||||||
|
|
||||||
settings_list_ptr->add_widget(std::make_unique<Subsection>("General", std::move(general_list), mgl::vec2f(settings_scrollable_page_ptr->get_inner_size().x, 0.0f)));
|
settings_list_ptr->add_widget(std::make_unique<Subsection>("General", std::move(general_list), mgl::vec2f(settings_scrollable_page_ptr->get_inner_size().x, 0.0f)));
|
||||||
|
settings_list_ptr->add_widget(std::make_unique<Subsection>("Streaming indicator", create_indicator("streaming"), mgl::vec2f(settings_scrollable_page_ptr->get_inner_size().x, 0.0f)));
|
||||||
|
|
||||||
streaming_service_box_ptr->on_selection_changed = [this](const std::string&, const std::string &id) {
|
streaming_service_box_ptr->on_selection_changed = [this](const std::string&, const std::string &id) {
|
||||||
const bool twitch_option = id == "twitch";
|
const bool twitch_option = id == "twitch";
|
||||||
|
|||||||
Reference in New Issue
Block a user