appDisplay: Show label when frequent app view is empty.
Currently we show a empty view, that seems broken, so we add a label showing that there's not enough frequent applications to show. https://bugzilla.gnome.org/show_bug.cgi?id=694710
This commit is contained in:
parent
d58f0646cf
commit
a765dfc52e
@ -957,6 +957,11 @@ StScrollBar StButton#vhandle:active {
|
|||||||
padding: 0px 30px;
|
padding: 0px 30px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.no-frequent-applications-label {
|
||||||
|
font-size: 18pt;
|
||||||
|
color: #999999;
|
||||||
|
}
|
||||||
|
|
||||||
.app-folder-icon {
|
.app-folder-icon {
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
}
|
}
|
||||||
|
@ -37,6 +37,8 @@ const INACTIVE_GRID_OPACITY = 77;
|
|||||||
const INACTIVE_GRID_OPACITY_ANIMATION_TIME = 0.40;
|
const INACTIVE_GRID_OPACITY_ANIMATION_TIME = 0.40;
|
||||||
const FOLDER_SUBICON_FRACTION = .4;
|
const FOLDER_SUBICON_FRACTION = .4;
|
||||||
|
|
||||||
|
const MIN_FREQUENT_APPS_COUNT = 3;
|
||||||
|
|
||||||
const INDICATORS_ANIMATION_TIME = 0.5;
|
const INDICATORS_ANIMATION_TIME = 0.5;
|
||||||
// 100% means indicators wait for be animated until the previous one
|
// 100% means indicators wait for be animated until the previous one
|
||||||
// is animated completely. 0% means all animators are animated
|
// is animated completely. 0% means all animators are animated
|
||||||
@ -570,14 +572,32 @@ const FrequentView = new Lang.Class({
|
|||||||
_init: function() {
|
_init: function() {
|
||||||
this.parent(null, { fillParent: true });
|
this.parent(null, { fillParent: true });
|
||||||
this.actor = new St.Widget({ style_class: 'frequent-apps',
|
this.actor = new St.Widget({ style_class: 'frequent-apps',
|
||||||
|
layout_manager: new Clutter.BinLayout(),
|
||||||
x_expand: true, y_expand: true });
|
x_expand: true, y_expand: true });
|
||||||
|
|
||||||
|
this._noFrequentAppsLabel = new St.Label({ text: _("Frequently used applications will appear here"),
|
||||||
|
style_class: 'no-frequent-applications-label',
|
||||||
|
x_align: Clutter.ActorAlign.CENTER,
|
||||||
|
x_expand: true,
|
||||||
|
y_align: Clutter.ActorAlign.CENTER,
|
||||||
|
y_expand: true });
|
||||||
|
|
||||||
|
this._grid.actor.y_expand = true;
|
||||||
|
|
||||||
this.actor.add_actor(this._grid.actor);
|
this.actor.add_actor(this._grid.actor);
|
||||||
|
this.actor.add_actor(this._noFrequentAppsLabel);
|
||||||
|
this._noFrequentAppsLabel.hide();
|
||||||
|
|
||||||
this._usage = Shell.AppUsage.get_default();
|
this._usage = Shell.AppUsage.get_default();
|
||||||
},
|
},
|
||||||
|
|
||||||
loadApps: function() {
|
loadApps: function() {
|
||||||
let mostUsed = this._usage.get_most_used ("");
|
let mostUsed = this._usage.get_most_used ("");
|
||||||
|
let hasUsefulData = mostUsed.length >= MIN_FREQUENT_APPS_COUNT;
|
||||||
|
this._noFrequentAppsLabel.visible = !hasUsefulData;
|
||||||
|
if(!hasUsefulData)
|
||||||
|
return;
|
||||||
|
|
||||||
for (let i = 0; i < mostUsed.length; i++) {
|
for (let i = 0; i < mostUsed.length; i++) {
|
||||||
if (!mostUsed[i].get_app_info().should_show())
|
if (!mostUsed[i].get_app_info().should_show())
|
||||||
continue;
|
continue;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user