[gnome-shell/gbsneto/custom-icon-positions: 2/35] appDisplay: Simplify AppDisplay



commit eda83acd71447df91daf22e1f1a9d2ab43c21398
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date:   Wed Dec 4 10:47:58 2019 -0300

    appDisplay: Simplify AppDisplay
    
    Inherit St.Widget and remove the custom layout manager. Instead,
    override vfunc_allocate(). Also remove the view stack.
    
    https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/880

 js/ui/appDisplay.js | 39 ++++++++-------------------------------
 1 file changed, 8 insertions(+), 31 deletions(-)
---
diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js
index fb72b296ce..078fd8e381 100644
--- a/js/ui/appDisplay.js
+++ b/js/ui/appDisplay.js
@@ -952,38 +952,17 @@ var AllView = GObject.registerClass({
     }
 });
 
-var ViewStackLayout = GObject.registerClass({
-    Signals: { 'allocated-size-changed': { param_types: [GObject.TYPE_INT,
-                                                         GObject.TYPE_INT] } },
-}, class ViewStackLayout extends Clutter.BinLayout {
-    vfunc_allocate(actor, box) {
-        let availWidth = box.x2 - box.x1;
-        let availHeight = box.y2 - box.y1;
-        // Prepare children of all views for the upcoming allocation, calculate all
-        // the needed values to adapt available size
-        this.emit('allocated-size-changed', availWidth, availHeight);
-        super.vfunc_allocate(actor, box);
-    }
-});
-
 var AppDisplay = GObject.registerClass(
-class AppDisplay extends St.BoxLayout {
+class AppDisplay extends St.Widget {
     _init() {
         super._init({
             style_class: 'app-display',
-            vertical: true,
             x_expand: true,
             y_expand: true,
         });
 
         this._view = new AllView();
-        this._viewStackLayout = new ViewStackLayout();
-        this._viewStack = new St.Widget({ x_expand: true, y_expand: true,
-                                          layout_manager: this._viewStackLayout });
-        this._viewStackLayout.connect('allocated-size-changed', this._onAllocatedSizeChanged.bind(this));
-        this.add_actor(this._viewStack);
-
-        this._viewStack.add_actor(this._view);
+        this.add_actor(this._view);
 
         this._switcherooNotifyId = global.connect('notify::switcheroo-control',
             () => this._updateDiscreteGpuAvailable());
@@ -1008,15 +987,13 @@ class AppDisplay extends St.BoxLayout {
         this._view.selectApp(id);
     }
 
-    _onAllocatedSizeChanged(actor, width, height) {
-        let box = new Clutter.ActorBox();
-        box.x1 = box.y1 = 0;
-        box.x2 = width;
-        box.y2 = height;
-        box = this._viewStack.get_theme_node().get_content_box(box);
-        let availWidth = box.x2 - box.x1;
-        let availHeight = box.y2 - box.y1;
+    vfunc_allocate(box, flags) {
+        box = this.get_theme_node().get_content_box(box);
+        let availWidth = box.get_width();
+        let availHeight = box.get_height();
         this._view.adaptToSize(availWidth, availHeight);
+
+        this._view.allocate(box, flags);
     }
 });
 


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