Ver código fonte

Added brightness control

tobychui 4 anos atrás
pai
commit
1c726573bc
2 arquivos alterados com 52 adições e 0 exclusões
  1. 2 0
      web/SystemAO/locale/desktop.json
  2. 50 0
      web/desktop.system

+ 2 - 0
web/SystemAO/locale/desktop.json

@@ -31,6 +31,7 @@
 
                 "quickAccess/logout": "登出",
                 "quickAccess/sysvol":"系統音量",
+                "quickAccess/brightness":"亮度",
                 "quickAccess/settings":"系統設定",
                 "quickAccess/fullscreen":"切換全螢幕",
                 "quickAccess/restart":"重新啟動伺服器",
@@ -120,6 +121,7 @@
 
                 "quickAccess/logout": "登出",
                 "quickAccess/sysvol":"系統音量",
+                "quickAccess/brightness":"亮度",
                 "quickAccess/settings":"系統設定",
                 "quickAccess/fullscreen":"切換全螢幕",
                 "quickAccess/restart":"重新啟動伺服器",

+ 50 - 0
web/desktop.system

@@ -945,6 +945,12 @@
                 <div id="volumebar" class="bar" style="width: 0%; background-color:#52C9FF;  cursor:pointer;"></div>
             </div>
         </div>
+        <div class="item" style="padding-bottom:12px;">
+            <i class="lightbulb icon"></i> <span locale="quickAccess/brightness">Brightness</span>
+            <div class="ts fluid small progress" style="margin-top:8px; cursor:pointer;" onclick="updateBrightness(this,event);" >
+                <div id="brightnessbar" class="bar" style="width: 100%; background-color:#52C9FF;  cursor:pointer;"></div>
+            </div>
+        </div>
         <div class="item" id="settingButton" onclick="showSystemSettings(); hideToolPanel();" ontouchend="showSystemSettings(); hideToolPanel();">
             <i class="setting icon"></i> <span locale="quickAccess/settings">System Settings</span>
             <!-- <div style="float:right;"><i class="caret right icon"></i></div> -->
@@ -1223,6 +1229,17 @@
                 localStorage.setItem("global_volume",currentGlobalVol);
             }
 
+            //Setup brightness
+            var currentBrightness = localStorage.getItem("brightness");
+            if (currentBrightness != null && currentBrightness != undefined && currentBrightness != ""){
+                $("#brightnessbar").css("width", currentBrightness * 100 + "%");
+                $("body").css("filter", `brightness(${currentBrightness * 100}%)`);
+            }else{
+                currentBrightness = 100;
+                localStorage.setItem("brightness",currentBrightness);
+            }
+            
+
             //Check if hardware management mode is enabled. Hide buttons if needed
             $.get("system/power/accessCheck",function(data){
                 if (data == true){
@@ -5210,6 +5227,12 @@
             updateVolume( document.getElementById("volumebar").parentNode, e);
         });
 
+        document.getElementById("brightnessbar").parentNode.addEventListener("touchstart", function(e){
+            updateBrightness( document.getElementById("brightnessbar").parentNode, e);
+        });
+
+        
+
         function getCoordinateFromEvent(e){
             var x = -1;
             var y = -1;
@@ -5246,6 +5269,32 @@
             localStorage.setItem("global_volume", clickRel / width);
         }
 
+        //Update screen brightness, for those who use ArozOS on their TV
+        function updateBrightness(object, event){
+            var width = $(object).width();
+            var left = $(object).offset().left;
+            var clickPosition = getCoordinateFromEvent(event)[0];
+            var clickRel = clickPosition - left;
+            var percentage = clickRel / width * 100;
+            if (percentage < 0){
+                percentage = 0;
+            }else if (percentage > 100){
+                percentage = 100;
+            }
+
+            //Min is 3%
+            if (percentage < 3){
+                percentage = 3;
+            }
+
+            //Set body brightness filter
+            $("body").css("filter", `brightness(${percentage}%)`);
+
+            //Save changes to localStorage
+            currentBrightness = percentage;
+            $(object).find(".bar").css("width",percentage + "%");
+            localStorage.setItem("brightness", clickRel / width);
+        }
 
 
         function refresh(callback = undefined, noflash=false) {
@@ -5825,6 +5874,7 @@
             //List menu theme color bar
             $("#listMenu").find(".searchBar").css("border-bottom", "2px solid " + newThemeColor);
             $("#volumebar").css("background-color", newThemeColor);
+            $("#brightnessbar").css("background-color", newThemeColor);
 
             //Connection lost notification css
             $("#connectionLost").find(".ts.card").css("background-color", hexToRgbA(newThemeColor, 0.5));