[gnome-shell/gbsneto/icon-grid-dnd: 113/117] appIcon: Use a real BaseIcon as the drag actor



commit b5960e7f9b09ff07f9ca6bc069da8f0ea05da6c8
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date:   Wed Jul 3 13:29:20 2019 -0300

    appIcon: Use a real BaseIcon as the drag actor
    
    Moving an app icon to other positions is semantically different
    to dragging an actor to the dash; the act of moving should itself
    be semantic, in that we should feel like we are moving the actual
    icon.
    
    Currently, AppIcon gives the DnD code a simplified version of itself,
    with just its icon, instead of a complete copy with the label.
    
    Make AppIcon create a new IconGrid.BaseIcon and use it as the drag
    actor.
    
    https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/603

 js/ui/appDisplay.js | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
---
diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js
index 9dff1d32d..2b1a02206 100644
--- a/js/ui/appDisplay.js
+++ b/js/ui/appDisplay.js
@@ -2137,7 +2137,12 @@ var AppIcon = class AppIcon {
     }
 
     getDragActor() {
-        return this.app.create_icon_texture(Main.overview.dashIconSize);
+        let iconParams = { createIcon: this._createIcon.bind(this),
+                           showLabel: (this.icon.label != null),
+                           setSizeManually: true };
+        let icon = new IconGrid.BaseIcon(this.name, iconParams);
+        icon.setIconSize(this.icon.iconSize);
+        return icon;
     }
 
     // Returns the original actor that should align with the actor


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