mirror of
https://github.com/elementary/gala.git
synced 2024-12-18 14:51:51 +03:00
Use default gesture tracker
This commit is contained in:
parent
0f0b50a300
commit
ea5b965286
@ -6,7 +6,6 @@
|
||||
*/
|
||||
|
||||
public class Gala.HideTracker : Object {
|
||||
private const int ANIMATION_DURATION = 250;
|
||||
private const int BARRIER_OFFSET = 50; // Allow hot corner trigger
|
||||
private const int UPDATE_TIMEOUT = 200;
|
||||
private const int HIDE_DELAY = 500;
|
||||
@ -16,11 +15,11 @@ public class Gala.HideTracker : Object {
|
||||
|
||||
public Meta.Display display { get; construct; }
|
||||
public unowned PanelWindow panel { get; construct; }
|
||||
public GestureTracker default_gesture_tracker { get; construct; } // Placeholder that will replace pan_action once the pan_backend gets merged
|
||||
|
||||
public Pantheon.Desktop.HideMode hide_mode { get; set; }
|
||||
|
||||
private Clutter.PanAction pan_action;
|
||||
private GestureTracker gesture_tracker; // Placeholder that will replace pan_action once the pan_backend gets merged
|
||||
|
||||
private bool hovered = false;
|
||||
|
||||
@ -35,8 +34,8 @@ public class Gala.HideTracker : Object {
|
||||
private uint hide_timeout_id = 0;
|
||||
private uint update_timeout_id = 0;
|
||||
|
||||
public HideTracker (Meta.Display display, PanelWindow panel) {
|
||||
Object (display: display, panel: panel);
|
||||
public HideTracker (Meta.Display display, PanelWindow panel, GestureTracker default_gesture_tracker) {
|
||||
Object (display: display, panel: panel, default_gesture_tracker: default_gesture_tracker);
|
||||
}
|
||||
|
||||
~HideTracker () {
|
||||
@ -81,8 +80,6 @@ public class Gala.HideTracker : Object {
|
||||
|
||||
display.get_workspace_manager ().active_workspace_changed.connect (schedule_update);
|
||||
|
||||
gesture_tracker = new GestureTracker (ANIMATION_DURATION, ANIMATION_DURATION);
|
||||
|
||||
pan_action = new Clutter.PanAction () {
|
||||
n_touch_points = 1,
|
||||
pan_axis = X_AXIS
|
||||
@ -150,7 +147,7 @@ public class Gala.HideTracker : Object {
|
||||
}
|
||||
|
||||
update_timeout_id = Timeout.add (UPDATE_TIMEOUT, () => {
|
||||
update_overlap (gesture_tracker, false);
|
||||
update_overlap (default_gesture_tracker, false);
|
||||
update_timeout_id = 0;
|
||||
return Source.REMOVE;
|
||||
});
|
||||
@ -249,7 +246,7 @@ public class Gala.HideTracker : Object {
|
||||
}
|
||||
|
||||
hide_timeout_id = Timeout.add_once (HIDE_DELAY, () => {
|
||||
hide (gesture_tracker, false);
|
||||
hide (default_gesture_tracker, false);
|
||||
hide_timeout_id = 0;
|
||||
});
|
||||
}
|
||||
@ -289,7 +286,7 @@ public class Gala.HideTracker : Object {
|
||||
|
||||
if (delta_y < 0) { // Only allow swipes upwards
|
||||
panel.window.focus (pan_action.get_last_event (0).get_time ());
|
||||
trigger_show (gesture_tracker, false);
|
||||
trigger_show (default_gesture_tracker, false);
|
||||
}
|
||||
|
||||
return false;
|
||||
@ -333,7 +330,7 @@ public class Gala.HideTracker : Object {
|
||||
int.MAX
|
||||
);
|
||||
|
||||
barrier.trigger.connect (() => trigger_show (gesture_tracker, false));
|
||||
barrier.trigger.connect (() => trigger_show (default_gesture_tracker, false));
|
||||
}
|
||||
|
||||
#if HAS_MUTTER45
|
||||
@ -354,6 +351,6 @@ public class Gala.HideTracker : Object {
|
||||
int.MAX
|
||||
);
|
||||
|
||||
barrier.trigger.connect (() => trigger_show (gesture_tracker, false));
|
||||
barrier.trigger.connect (() => trigger_show (default_gesture_tracker, false));
|
||||
}
|
||||
}
|
||||
|
@ -18,10 +18,10 @@ public class Gala.PanelClone : Object {
|
||||
set {
|
||||
if (value == NEVER) {
|
||||
hide_tracker = null;
|
||||
show (new GestureTracker (ANIMATION_DURATION, ANIMATION_DURATION), false);
|
||||
show (default_gesture_tracker, false);
|
||||
return;
|
||||
} else if (hide_tracker == null) {
|
||||
hide_tracker = new HideTracker (wm.get_display (), panel);
|
||||
hide_tracker = new HideTracker (wm.get_display (), panel, default_gesture_tracker);
|
||||
hide_tracker.hide.connect (hide);
|
||||
hide_tracker.show.connect (show);
|
||||
}
|
||||
@ -35,6 +35,7 @@ public class Gala.PanelClone : Object {
|
||||
private SafeWindowClone clone;
|
||||
private Meta.WindowActor actor;
|
||||
|
||||
private GestureTracker default_gesture_tracker;
|
||||
private GestureTracker? last_gesture_tracker;
|
||||
private bool force_hide = false;
|
||||
|
||||
@ -45,6 +46,8 @@ public class Gala.PanelClone : Object {
|
||||
}
|
||||
|
||||
construct {
|
||||
default_gesture_tracker = new GestureTracker (ANIMATION_DURATION, ANIMATION_DURATION);
|
||||
|
||||
clone = new SafeWindowClone (panel.window, true);
|
||||
wm.ui_group.add_child (clone);
|
||||
|
||||
@ -75,7 +78,7 @@ public class Gala.PanelClone : Object {
|
||||
|
||||
Idle.add_once (() => {
|
||||
if (hide_mode == NEVER) {
|
||||
show (new GestureTracker (ANIMATION_DURATION, ANIMATION_DURATION), false);
|
||||
show (default_gesture_tracker, false);
|
||||
} else {
|
||||
hide_tracker.schedule_update ();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user