[gnome-shell/eos3.8: 123/255] shellEntry: Update shell entry if browsers are disabled



commit d7a08443f12372dbfa671484793c38427b44471a
Author: Umang Jain <umang endlessm com>
Date:   Fri Jun 21 13:08:03 2019 +0530

    shellEntry: Update shell entry if browsers are disabled
    
    Update the shell's search-entry hint text if the default
    internet provider is enabled or disabled via parental controls.
    
    https://phabricator.endlessm.com/T26991

 js/ui/shellEntry.js | 39 ++++++++++++++++++++++++++++++---------
 1 file changed, 30 insertions(+), 9 deletions(-)
---
diff --git a/js/ui/shellEntry.js b/js/ui/shellEntry.js
index 3190ebd85a..4472ff7411 100644
--- a/js/ui/shellEntry.js
+++ b/js/ui/shellEntry.js
@@ -5,9 +5,11 @@ const { Clutter, Gio, GObject, Gtk, Pango, Shell, St } = imports.gi;
 
 const Animation = imports.ui.animation;
 const BoxPointer = imports.ui.boxpointer;
+const InternetSearch = imports.ui.internetSearch;
 const Main = imports.ui.main;
 const Params = imports.misc.params;
 const PopupMenu = imports.ui.popupMenu;
+const ParentalControlsManager = imports.misc.parentalControlsManager;
 
 const Util = imports.misc.util;
 
@@ -137,17 +139,13 @@ var OverviewEntry = GObject.registerClass({
             hideOnStop: true,
         });
 
-        // Set the search entry's text based on the current search engine
-        let entryText;
-        let searchEngine = Util.getSearchEngineName();
-
-        if (searchEngine)
-            entryText = _('Search %s and more…').format(searchEngine);
-        else
-            entryText = _('Search the internet and more…');
+        this._parentalControlsManager = ParentalControlsManager.getDefault();
+        this._parentalControlsManager.connect('app-filter-changed', () => {
+            this._updateSearchEntryText();
+        });
 
         let hintActor = new St.Label({
-            text: entryText,
+            text: '',
             style_class: 'search-entry-text-hint',
         });
 
@@ -164,6 +162,8 @@ var OverviewEntry = GObject.registerClass({
             y_align: Clutter.ActorAlign.CENTER,
         });
 
+        this._updateSearchEntryText();
+
         this._blinkBrightnessEffect = new Clutter.BrightnessContrastEffect({
             enabled: false,
         });
@@ -180,6 +180,27 @@ var OverviewEntry = GObject.registerClass({
         global.stage.connect('notify::key-focus', this._onStageKeyFocusChanged.bind(this));
     }
 
+    _updateSearchEntryText() {
+        let entryText;
+        let internetProvider = InternetSearch.getInternetSearchProvider();
+
+        if (internetProvider &&
+            internetProvider.appInfo &&
+            this._parentalControlsManager.shouldShowApp(internetProvider.appInfo)) {
+            // Set the search entry's text based on the current search engine
+            let searchEngine = Util.getSearchEngineName();
+
+            if (searchEngine)
+                entryText = _('Search %s and more…').format(searchEngine);
+            else
+                entryText = _('Search the internet and more…');
+        } else {
+            entryText = _('Search…');
+        }
+
+        this.hint_actor.set_text(entryText);
+    }
+
     _isActivated() {
         return !this.hint_actor.visible;
     }


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