Pārlūkot izejas kodu

Always show the viewport drag button on touch devices to keep the GUI from
"jumping around". Enable/disable the button instead of show/hide on these
devices.

samhed 10 gadi atpakaļ
vecāks
revīzija
29a0e6a8a3
2 mainītis faili ar 15 papildinājumiem un 2 dzēšanām
  1. 4 0
      include/base.css
  2. 11 2
      include/ui.js

+ 4 - 0
include/base.css

@@ -320,6 +320,10 @@ html {
  /*box-shadow:inset 0.4px 0.4px 0.4px #000000;*/
 }
 
+.noVNC_status_button:disabled {
+  opacity: 0.4;
+}
+
 
 /*Settings Bubble*/
 .triangle-right {

+ 11 - 2
include/ui.js

@@ -697,6 +697,7 @@ var UI;
             // State change disables viewport dragging.
             // It is enabled (toggled) by direct click on the button
             UI.setViewDrag(false);
+            UI.updateViewDragButton();
 
             switch (UI.rfb_state) {
                 case 'fatal':
@@ -889,8 +890,6 @@ var UI;
         setViewDrag: function(drag) {
             if (!UI.rfb) return;
 
-            UI.updateViewDragButton();
-
             if (typeof(drag) === "undefined" ||
                 typeof(drag) === "object") {
                 // If not specified, then toggle
@@ -911,8 +910,18 @@ var UI;
             if (UI.rfb_state === 'normal' &&
                 UI.rfb.get_display().get_viewport() &&
                 UI.rfb.get_display().clippingDisplay()) {
+                // Enable the viewport drag button
                 vmb.style.display = "inline";
+                vmb.disabled = false;
+
+            } else if (UI.rfb_state === 'normal' &&
+                       UI.isTouchDevice) {
+                // Disable the viewport drag button
+                vmb.style.display = "inline";
+                vmb.disabled = true;
+
             } else {
+                // Hide the viewport drag button
                 vmb.style.display = "none";
             }
         },