[mutter] monitor-manager: Move configuration paths behind 'legacy' functions



commit b59a8b1de36784e8dd50b5047531e8b9fb438dd8
Author: Jonas Ådahl <jadahl gmail com>
Date:   Mon Dec 19 15:22:07 2016 +0800

    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

 src/backends/meta-monitor-manager-private.h |    2 +-
 src/backends/meta-monitor-manager.c         |   65 ++++++++++++++++++--------
 2 files changed, 46 insertions(+), 21 deletions(-)
---
diff --git a/src/backends/meta-monitor-manager-private.h b/src/backends/meta-monitor-manager-private.h
index 641071e..92cc156 100644
--- a/src/backends/meta-monitor-manager-private.h
+++ b/src/backends/meta-monitor-manager-private.h
@@ -276,7 +276,7 @@ struct _MetaMonitorManager
   int dbus_name_id;
 
   int persistent_timeout_id;
-  MetaMonitorConfig *config;
+  MetaMonitorConfig *legacy_config;
 
   GnomePnpIds *pnp_ids;
 };
diff --git a/src/backends/meta-monitor-manager.c b/src/backends/meta-monitor-manager.c
index 12854ad..33bd7fd 100644
--- a/src/backends/meta-monitor-manager.c
+++ b/src/backends/meta-monitor-manager.c
@@ -201,6 +201,13 @@ power_save_mode_changed (MetaMonitorManager *manager,
 }
 
 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
 meta_monitor_manager_constructed (GObject *object)
 {
   MetaMonitorManager *manager = META_MONITOR_MANAGER (object);
@@ -210,12 +217,11 @@ meta_monitor_manager_constructed (GObject *object)
 
   manager->in_init = TRUE;
 
-  manager->config = meta_monitor_config_new ();
+  manager->legacy_config = meta_monitor_config_new ();
 
   meta_monitor_manager_read_current_config (manager);
 
-  if (!meta_monitor_config_apply_stored (manager->config, manager))
-    meta_monitor_config_make_default (manager->config, manager);
+  legacy_ensure_configured (manager);
 
   /* Under XRandR, we don't rebuild our data structures until we see
      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);
 }
 
+static void
+legacy_restore_previous_config (MetaMonitorManager *manager)
+{
+  meta_monitor_config_restore_previous (manager->legacy_config, manager);
+}
+
 static gboolean
 save_config_timeout (gpointer user_data)
 {
   MetaMonitorManager *manager = user_data;
 
-  meta_monitor_config_restore_previous (manager->config, manager);
+  legacy_restore_previous_config (manager);
 
   manager->persistent_timeout_id = 0;
   return G_SOURCE_REMOVE;
 }
 
 static gboolean
-meta_monitor_manager_handle_apply_configuration  (MetaDBusDisplayConfig *skeleton,
-                                                  GDBusMethodInvocation *invocation,
-                                                  guint                  serial,
-                                                  gboolean               persistent,
-                                                  GVariant              *crtcs,
-                                                  GVariant              *outputs)
+meta_monitor_manager_legacy_handle_apply_configuration  (MetaDBusDisplayConfig *skeleton,
+                                                         GDBusMethodInvocation *invocation,
+                                                         guint                  serial,
+                                                         gboolean               persistent,
+                                                         GVariant              *crtcs,
+                                                         GVariant              *outputs)
 {
   MetaMonitorManager *manager = META_MONITOR_MANAGER (skeleton);
   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
      configuration.
   */
-  meta_monitor_config_update_current (manager->config, manager);
+  meta_monitor_config_update_current (manager->legacy_config, manager);
   if (persistent)
     {
       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;
 }
 
+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
 meta_monitor_manager_confirm_configuration (MetaMonitorManager *manager,
                                             gboolean            ok)
@@ -929,10 +951,7 @@ meta_monitor_manager_confirm_configuration (MetaMonitorManager *manager,
   g_source_remove (manager->persistent_timeout_id);
   manager->persistent_timeout_id = 0;
 
-  if (ok)
-    meta_monitor_config_make_persistent (manager->config);
-  else
-    meta_monitor_config_restore_previous (manager->config, manager);
+  legacy_confirm_configuration (manager, ok);
 }
 
 static gboolean
@@ -1106,7 +1125,7 @@ static void
 meta_monitor_manager_display_config_init (MetaDBusDisplayConfigIface *iface)
 {
   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_get_crtc_gamma = meta_monitor_manager_handle_get_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
-meta_monitor_manager_on_hotplug (MetaMonitorManager *manager)
+static void
+legacy_on_hotplug (MetaMonitorManager *manager)
 {
   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_config_apply_stored (manager->config, manager))
+      if (meta_monitor_config_apply_stored (manager->legacy_config, manager))
         applied_config = TRUE;
     }
 
   /* If we haven't applied any configuration, apply the default configuration. */
   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


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]