TreeTabsMigration/scripts/IO.js

73 lines
2.2 KiB
JavaScript
Raw Normal View History

2017-11-12 22:00:40 +01:00
// Copyright (c) 2017 kroppy. All rights reserved.
// Use of this source code is governed by a Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0) license
// that can be found at https://creativecommons.org/licenses/by-nc-nd/4.0/
2017-07-26 22:23:39 +02:00
2017-11-12 22:00:40 +01:00
// ********** KEYBOARD AND MOUSE ***************
2017-07-26 22:23:39 +02:00
2017-11-12 22:00:40 +01:00
function BindTabsSwitchingToMouseWheel() {
// switch tabs with mouse scroll
$("#pin_list, .group").bind("mousewheel DOMMouseScroll", function(event) {
let prev = event.originalEvent.wheelDelta > 0 || event.originalEvent.detail < 0;
if (prev) {
ActivatePrevTab();
} else {
ActivateNextTab();
}
event.preventDefault();
2017-07-26 22:23:39 +02:00
});
2017-11-12 22:00:40 +01:00
}
function SetIOEvents() {
if (!opt.switch_with_scroll) {
$("#pin_list").bind("mousewheel DOMMouseScroll", function(event) {
let direction = (event.originalEvent.wheelDelta > 0 || event.originalEvent.detail < 0) ? -1 : 1;
let speed = 0.1;
for (let t = 1; t < 40; t++) {
setTimeout(function() {
if (t < 30) {
speed = speed+0.1; // accelerate
} else {
speed = speed-0.3; // decelerate
}
$("#pin_list").scrollLeft($("#pin_list").scrollLeft()+(direction*speed));
2017-07-26 22:23:39 +02:00
}, t);
}
});
}
2017-11-12 22:00:40 +01:00
2017-07-26 22:23:39 +02:00
// catch keyboard keys
2017-11-12 22:00:40 +01:00
$(document).keydown(function(event) {
if (MouseHoverOver == "pin_list") {
2017-07-26 22:23:39 +02:00
// ctrl+a to select all
2017-11-12 22:00:40 +01:00
if (event.ctrlKey && event.which == 65) {
2018-01-01 19:50:56 +01:00
$(".pin").addClass("selected_tab");
2017-07-26 22:23:39 +02:00
}
// ctrl+i to invert selection
2017-11-12 22:00:40 +01:00
if (event.ctrlKey && event.which == 73) {
2018-01-01 19:50:56 +01:00
$(".pin").toggleClass("selected_tab");
2017-07-26 22:23:39 +02:00
}
}
2017-11-12 22:00:40 +01:00
if (MouseHoverOver.match("g_|tab_list") !== null) {
2017-07-26 22:23:39 +02:00
// ctrl+a to select all
2017-11-12 22:00:40 +01:00
if (event.ctrlKey && event.which == 65) {
2018-01-01 19:50:56 +01:00
$("#ch"+active_group).children(".tab:visible").addClass("selected_tab");
2017-07-26 22:23:39 +02:00
}
// ctrl+i to invert selection
2017-11-12 22:00:40 +01:00
if (event.ctrlKey && event.which == 73) {
2018-01-01 19:50:56 +01:00
$(".tab:visible").toggleClass("selected_tab");
2017-07-26 22:23:39 +02:00
}
}
RefreshGUI();
});
// remove middle mouse and set hiding menu
2017-11-12 22:00:40 +01:00
document.body.onmousedown = function(event) {
if (event.button == 1 && opt.close_with_MMB == true) {
2017-07-26 22:23:39 +02:00
event.preventDefault();
}
2017-11-12 22:00:40 +01:00
if (event.button == 0 && !$(event.target).is(".menu_item")) {
$(".menu").hide(300);
2017-07-26 22:23:39 +02:00
}
};
}