appDisplay: Hide frequent view when app monitoring is disabled
Currently we stop monitoring application usage when disabling the 'enable-app-monitoring' setting, but we still expose previously gathered data in the app picker's frequent view. This is not what users should expect, so hide the view in that case. https://bugzilla.gnome.org/show_bug.cgi?id=699714
This commit is contained in:
parent
248a0c1b6c
commit
f88d9c06f5
@ -343,6 +343,8 @@ const AppDisplay = new Lang.Class({
|
|||||||
global.settings.connect('changed::app-folder-categories', Lang.bind(this, function() {
|
global.settings.connect('changed::app-folder-categories', Lang.bind(this, function() {
|
||||||
Main.queueDeferredWork(this._allAppsWorkId);
|
Main.queueDeferredWork(this._allAppsWorkId);
|
||||||
}));
|
}));
|
||||||
|
global.settings.connect('changed::enable-app-monitoring',
|
||||||
|
Lang.bind(this, this._updateFrequentVisibility));
|
||||||
|
|
||||||
this._views = [];
|
this._views = [];
|
||||||
|
|
||||||
@ -386,6 +388,7 @@ const AppDisplay = new Lang.Class({
|
|||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
this._showView(Views.FREQUENT);
|
this._showView(Views.FREQUENT);
|
||||||
|
this._updateFrequentVisibility();
|
||||||
|
|
||||||
// We need a dummy actor to catch the keyboard focus if the
|
// We need a dummy actor to catch the keyboard focus if the
|
||||||
// user Ctrl-Alt-Tabs here before the deferred work creates
|
// user Ctrl-Alt-Tabs here before the deferred work creates
|
||||||
@ -415,6 +418,19 @@ const AppDisplay = new Lang.Class({
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
_updateFrequentVisibility: function() {
|
||||||
|
let enabled = global.settings.get_boolean('enable-app-monitoring');
|
||||||
|
this._views[Views.FREQUENT].control.visible = enabled;
|
||||||
|
|
||||||
|
let visibleViews = this._views.filter(function(v) {
|
||||||
|
return v.control.visible;
|
||||||
|
});
|
||||||
|
this._controls.visible = visibleViews.length > 1;
|
||||||
|
|
||||||
|
if (!enabled && this._views[Views.FREQUENT].view.actor.visible)
|
||||||
|
this._showView(Views.ALL);
|
||||||
|
},
|
||||||
|
|
||||||
_redisplay: function() {
|
_redisplay: function() {
|
||||||
this._redisplayFrequentApps();
|
this._redisplayFrequentApps();
|
||||||
this._redisplayAllApps();
|
this._redisplayAllApps();
|
||||||
|
Loading…
Reference in New Issue
Block a user