[gnome-shell] sessionMode: Add support for 'parentMode' property



commit 187dec2816c57f093520a2959137cfc768860a2a
Author: Florian MÃllner <fmuellner gnome org>
Date:   Thu Nov 29 20:42:38 2012 +0100

    sessionMode: Add support for 'parentMode' property
    
    Defining a mode that differs significantly from the default one
    can get rather cumbersome. For convenience, allow mode definitions
    to inherit from an existing mode.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=689308

 js/ui/sessionMode.js |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)
---
diff --git a/js/ui/sessionMode.js b/js/ui/sessionMode.js
index 25a5efa..2774ad6 100644
--- a/js/ui/sessionMode.js
+++ b/js/ui/sessionMode.js
@@ -14,6 +14,7 @@ const DEFAULT_MODE = 'restrictive';
 
 const _modes = {
     'restrictive': {
+        parentMode: null,
         hasOverview: false,
         showCalendarEvents: false,
         allowSettings: false,
@@ -197,7 +198,13 @@ const SessionMode = new Lang.Class({
 
     _sync: function() {
         let params = this._modes[this.currentMode];
-        params = Params.parse(params, this._modes[DEFAULT_MODE]);
+        let defaults;
+        if (params.parentMode)
+            defaults = Params.parse(this._modes[params.parentMode],
+                                    this._modes[DEFAULT_MODE]);
+        else
+            defaults = this._modes[DEFAULT_MODE];
+        params = Params.parse(params, defaults);
 
         // A simplified version of Lang.copyProperties, handles
         // undefined as a special case for "no change / inherit from previous mode"



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