ui: stop polling for single monitor groups

parent df794cd5
...@@ -78,10 +78,9 @@ namespace TunerDisplays { ...@@ -78,10 +78,9 @@ namespace TunerDisplays {
page.add_page(monitor_page); page.add_page(monitor_page);
DisplaysContext.controller.monitor_settings_requested.connect(show_monitor_settings); DisplaysContext.controller.monitor_settings_requested.connect(show_monitor_settings);
page.notify["list"].connect(setup_single_monitor_groups);
add_page(page); add_page(page);
Idle.add(() => { setup_single_monitor_groups();
return setup_single_monitor_groups();
});
} }
private void load_css() { private void load_css() {
...@@ -122,27 +121,25 @@ namespace TunerDisplays { ...@@ -122,27 +121,25 @@ namespace TunerDisplays {
single_monitor_context.changed.connect(controller.refresh_from_monitors); single_monitor_context.changed.connect(controller.refresh_from_monitors);
} }
private bool setup_single_monitor_groups() { private void setup_single_monitor_groups() {
if (single_monitor_groups_ready) if (single_monitor_groups_ready)
return false; return;
var panel_page = page.list as Tuner.PanelPage; var panel_page = page.list as Tuner.PanelPage;
if (panel_page == null) if (panel_page == null)
return true; return;
var content = panel_page.content; var content = panel_page.content;
if (content == null)
return true;
var panel_content = content as Tuner.PanelContent; var panel_content = content as Tuner.PanelContent;
if (panel_content == null) if (panel_content == null) {
return true; panel_page.notify["content"].connect(setup_single_monitor_groups);
return;
}
find_single_monitor_groups(panel_content); find_single_monitor_groups(panel_content);
single_monitor_groups_ready = true; single_monitor_groups_ready = true;
update_single_monitor_groups(); update_single_monitor_groups();
DisplaysContext.controller.changed.connect(update_single_monitor_groups); DisplaysContext.controller.changed.connect(update_single_monitor_groups);
return false;
} }
private void find_single_monitor_groups(Tuner.PanelContent content) { private void find_single_monitor_groups(Tuner.PanelContent content) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment