mirror of
https://github.com/brl/mutter.git
synced 2024-11-25 09:30:45 -05:00
monitor-manager: Move configuration paths behind 'legacy' functions
In preparation of replacing the configuration system with one working with high level monitors instead of low level outputs etc, move configuarion handling code into obviously named function (containing the word 'legacy'. https://bugzilla.gnome.org/show_bug.cgi?id=777732
This commit is contained in:
parent
e3b9fe7e58
commit
b59a8b1de3
@ -276,7 +276,7 @@ struct _MetaMonitorManager
|
|||||||
int dbus_name_id;
|
int dbus_name_id;
|
||||||
|
|
||||||
int persistent_timeout_id;
|
int persistent_timeout_id;
|
||||||
MetaMonitorConfig *config;
|
MetaMonitorConfig *legacy_config;
|
||||||
|
|
||||||
GnomePnpIds *pnp_ids;
|
GnomePnpIds *pnp_ids;
|
||||||
};
|
};
|
||||||
|
@ -200,6 +200,13 @@ power_save_mode_changed (MetaMonitorManager *manager,
|
|||||||
manager->power_save_mode = mode;
|
manager->power_save_mode = mode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
legacy_ensure_configured (MetaMonitorManager *manager)
|
||||||
|
{
|
||||||
|
if (!meta_monitor_config_apply_stored (manager->legacy_config, manager))
|
||||||
|
meta_monitor_config_make_default (manager->legacy_config, manager);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
meta_monitor_manager_constructed (GObject *object)
|
meta_monitor_manager_constructed (GObject *object)
|
||||||
{
|
{
|
||||||
@ -210,12 +217,11 @@ meta_monitor_manager_constructed (GObject *object)
|
|||||||
|
|
||||||
manager->in_init = TRUE;
|
manager->in_init = TRUE;
|
||||||
|
|
||||||
manager->config = meta_monitor_config_new ();
|
manager->legacy_config = meta_monitor_config_new ();
|
||||||
|
|
||||||
meta_monitor_manager_read_current_config (manager);
|
meta_monitor_manager_read_current_config (manager);
|
||||||
|
|
||||||
if (!meta_monitor_config_apply_stored (manager->config, manager))
|
legacy_ensure_configured (manager);
|
||||||
meta_monitor_config_make_default (manager->config, manager);
|
|
||||||
|
|
||||||
/* Under XRandR, we don't rebuild our data structures until we see
|
/* Under XRandR, we don't rebuild our data structures until we see
|
||||||
the RRScreenNotify event, but at least at startup we want to have
|
the RRScreenNotify event, but at least at startup we want to have
|
||||||
@ -670,24 +676,30 @@ meta_monitor_manager_apply_configuration (MetaMonitorManager *manager,
|
|||||||
outputs, n_outputs);
|
outputs, n_outputs);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
legacy_restore_previous_config (MetaMonitorManager *manager)
|
||||||
|
{
|
||||||
|
meta_monitor_config_restore_previous (manager->legacy_config, manager);
|
||||||
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
save_config_timeout (gpointer user_data)
|
save_config_timeout (gpointer user_data)
|
||||||
{
|
{
|
||||||
MetaMonitorManager *manager = user_data;
|
MetaMonitorManager *manager = user_data;
|
||||||
|
|
||||||
meta_monitor_config_restore_previous (manager->config, manager);
|
legacy_restore_previous_config (manager);
|
||||||
|
|
||||||
manager->persistent_timeout_id = 0;
|
manager->persistent_timeout_id = 0;
|
||||||
return G_SOURCE_REMOVE;
|
return G_SOURCE_REMOVE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
meta_monitor_manager_handle_apply_configuration (MetaDBusDisplayConfig *skeleton,
|
meta_monitor_manager_legacy_handle_apply_configuration (MetaDBusDisplayConfig *skeleton,
|
||||||
GDBusMethodInvocation *invocation,
|
GDBusMethodInvocation *invocation,
|
||||||
guint serial,
|
guint serial,
|
||||||
gboolean persistent,
|
gboolean persistent,
|
||||||
GVariant *crtcs,
|
GVariant *crtcs,
|
||||||
GVariant *outputs)
|
GVariant *outputs)
|
||||||
{
|
{
|
||||||
MetaMonitorManager *manager = META_MONITOR_MANAGER (skeleton);
|
MetaMonitorManager *manager = META_MONITOR_MANAGER (skeleton);
|
||||||
GVariantIter crtc_iter, output_iter, *nested_outputs;
|
GVariantIter crtc_iter, output_iter, *nested_outputs;
|
||||||
@ -904,7 +916,7 @@ meta_monitor_manager_handle_apply_configuration (MetaDBusDisplayConfig *skeleto
|
|||||||
appropriate UI. Then wait 20 seconds and if not confirmed, revert the
|
appropriate UI. Then wait 20 seconds and if not confirmed, revert the
|
||||||
configuration.
|
configuration.
|
||||||
*/
|
*/
|
||||||
meta_monitor_config_update_current (manager->config, manager);
|
meta_monitor_config_update_current (manager->legacy_config, manager);
|
||||||
if (persistent)
|
if (persistent)
|
||||||
{
|
{
|
||||||
manager->persistent_timeout_id = g_timeout_add_seconds (20, save_config_timeout, manager);
|
manager->persistent_timeout_id = g_timeout_add_seconds (20, save_config_timeout, manager);
|
||||||
@ -916,6 +928,16 @@ meta_monitor_manager_handle_apply_configuration (MetaDBusDisplayConfig *skeleto
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
legacy_confirm_configuration (MetaMonitorManager *manager,
|
||||||
|
gboolean confirmed)
|
||||||
|
{
|
||||||
|
if (confirmed)
|
||||||
|
meta_monitor_config_make_persistent (manager->legacy_config);
|
||||||
|
else
|
||||||
|
meta_monitor_config_restore_previous (manager->legacy_config, manager);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
meta_monitor_manager_confirm_configuration (MetaMonitorManager *manager,
|
meta_monitor_manager_confirm_configuration (MetaMonitorManager *manager,
|
||||||
gboolean ok)
|
gboolean ok)
|
||||||
@ -929,10 +951,7 @@ meta_monitor_manager_confirm_configuration (MetaMonitorManager *manager,
|
|||||||
g_source_remove (manager->persistent_timeout_id);
|
g_source_remove (manager->persistent_timeout_id);
|
||||||
manager->persistent_timeout_id = 0;
|
manager->persistent_timeout_id = 0;
|
||||||
|
|
||||||
if (ok)
|
legacy_confirm_configuration (manager, ok);
|
||||||
meta_monitor_config_make_persistent (manager->config);
|
|
||||||
else
|
|
||||||
meta_monitor_config_restore_previous (manager->config, manager);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
@ -1106,7 +1125,7 @@ static void
|
|||||||
meta_monitor_manager_display_config_init (MetaDBusDisplayConfigIface *iface)
|
meta_monitor_manager_display_config_init (MetaDBusDisplayConfigIface *iface)
|
||||||
{
|
{
|
||||||
iface->handle_get_resources = meta_monitor_manager_handle_get_resources;
|
iface->handle_get_resources = meta_monitor_manager_handle_get_resources;
|
||||||
iface->handle_apply_configuration = meta_monitor_manager_handle_apply_configuration;
|
iface->handle_apply_configuration = meta_monitor_manager_legacy_handle_apply_configuration;
|
||||||
iface->handle_change_backlight = meta_monitor_manager_handle_change_backlight;
|
iface->handle_change_backlight = meta_monitor_manager_handle_change_backlight;
|
||||||
iface->handle_get_crtc_gamma = meta_monitor_manager_handle_get_crtc_gamma;
|
iface->handle_get_crtc_gamma = meta_monitor_manager_handle_get_crtc_gamma;
|
||||||
iface->handle_set_crtc_gamma = meta_monitor_manager_handle_set_crtc_gamma;
|
iface->handle_set_crtc_gamma = meta_monitor_manager_handle_set_crtc_gamma;
|
||||||
@ -1559,8 +1578,8 @@ meta_output_is_laptop (MetaOutput *output)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
static void
|
||||||
meta_monitor_manager_on_hotplug (MetaMonitorManager *manager)
|
legacy_on_hotplug (MetaMonitorManager *manager)
|
||||||
{
|
{
|
||||||
gboolean applied_config = FALSE;
|
gboolean applied_config = FALSE;
|
||||||
|
|
||||||
@ -1570,13 +1589,19 @@ meta_monitor_manager_on_hotplug (MetaMonitorManager *manager)
|
|||||||
*/
|
*/
|
||||||
if (!meta_monitor_manager_has_hotplug_mode_update (manager))
|
if (!meta_monitor_manager_has_hotplug_mode_update (manager))
|
||||||
{
|
{
|
||||||
if (meta_monitor_config_apply_stored (manager->config, manager))
|
if (meta_monitor_config_apply_stored (manager->legacy_config, manager))
|
||||||
applied_config = TRUE;
|
applied_config = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* If we haven't applied any configuration, apply the default configuration. */
|
/* If we haven't applied any configuration, apply the default configuration. */
|
||||||
if (!applied_config)
|
if (!applied_config)
|
||||||
meta_monitor_config_make_default (manager->config, manager);
|
meta_monitor_config_make_default (manager->legacy_config, manager);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
meta_monitor_manager_on_hotplug (MetaMonitorManager *manager)
|
||||||
|
{
|
||||||
|
legacy_on_hotplug (manager);
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
|
Loading…
Reference in New Issue
Block a user