diff --git a/Applications/App Market.app/Main.lua b/Applications/App Market.app/Main.lua index 04b02eb6..19caa8a0 100644 --- a/Applications/App Market.app/Main.lua +++ b/Applications/App Market.app/Main.lua @@ -86,8 +86,9 @@ local updateFileList, editPublication, messagesItem local workspace, window = system.addWindow(GUI.filledWindow(1, 1, 127, 33, 0xF0F0F0)) -local leftListPanel = window:addChild(GUI.panel(1, 1, 23, 3, 0x2D2D2D)) -local leftList = window:addChild(GUI.list(1, 4, leftListPanel.width, 1, 3, 0, 0x2D2D2D, 0x787878, 0x2D2D2D, 0x787878, 0xF0F0F0, 0x2D2D2D, false)) +local leftListPanel = system.addBlurredOrDefaultPanel(window, 1, 1, 23, 1) + +local leftList = window:addChild(GUI.list(1, 4, leftListPanel.width, 1, 3, 0, nil, 0x787878, nil, 0x787878, 0xF0F0F0, 0x2D2D2D, false)) local contentContainer = window:addChild(GUI.container(1, 1, 1, 1)) @@ -1925,7 +1926,8 @@ messagesItem.onTouch = dialogs leftList:addItem(localization.settings).onTouch = settings window.onResize = function(width, height) - leftList.height = height - leftListPanel.height + leftListPanel.height = height + leftList.height = height - 3 window.backgroundPanel.localX = leftList.width + 1 window.backgroundPanel.width = width - leftList.width diff --git a/Applications/Finder.app/Main.lua b/Applications/Finder.app/Main.lua index 80198f84..c6a5185d 100644 --- a/Applications/Finder.app/Main.lua +++ b/Applications/Finder.app/Main.lua @@ -62,10 +62,8 @@ local modeList = window:addChild(GUI.list(FTPButton.localX + FTPButton.width + 2 modeList:setDirection(GUI.DIRECTION_HORIZONTAL) local sidebarContainer = window:addChild(GUI.container(1, 4, config.sidebarWidth, 1)) -local sidebarPanel = sidebarContainer:addChild(GUI.object(1, 1, 1, 1, 0xFFFFFF)) -sidebarPanel.draw = function(object) - screen.drawRectangle(object.x, object.y, object.width, object.height, 0x2D2D2D, sidebarItemColor, " ") -end + +local sidebarPanel = system.addBlurredOrDefaultPanel(sidebarContainer, 1, 1, 1, 1) local itemsLayout = sidebarContainer:addChild(GUI.layout(1, 1, 1, 1, 1, 1)) itemsLayout:setAlignment(1, 1, GUI.ALIGNMENT_HORIZONTAL_LEFT, GUI.ALIGNMENT_VERTICAL_TOP) diff --git a/Applications/Settings.app/Localizations/Chinese.lang b/Applications/Settings.app/Localizations/Chinese.lang index 522af0a9..5d910ec5 100644 --- a/Applications/Settings.app/Localizations/Chinese.lang +++ b/Applications/Settings.app/Localizations/Chinese.lang @@ -37,6 +37,7 @@ appearanceDesktopBackground = "桌面背景", appearanceDock = "Dock背景", appearanceMenu = "目录背景", + appearanceBlurEnabled = "Interface blurring", appearanceTransparencyEnabled = "界面透明度", appearanceTransparencyInfo = "禁用最后两个选项将显著减少对CPU/GPU的直接调用次数并提高性能.", appearanceDropDownDefaultBackground = "下拉菜单背景", diff --git a/Applications/Settings.app/Localizations/Dutch.lang b/Applications/Settings.app/Localizations/Dutch.lang index bd9a1aab..ce710e93 100644 --- a/Applications/Settings.app/Localizations/Dutch.lang +++ b/Applications/Settings.app/Localizations/Dutch.lang @@ -37,6 +37,7 @@ appearanceDesktopBackground = "Bureaubladachtergrond", appearanceDock = "Taakbalk achtergrond", appearanceMenu = "Menu achtergrond", + appearanceBlurEnabled = "Interface blurring", appearanceTransparencyEnabled = "Interface transparantie", appearanceTransparencyInfo = "Het uitschakelen van de laatste twee opties zal het aantal directe oproepen naar de CPU / GPU aanzienlijk verminderen en de prestaties verbeteren", appearanceDropDownDefaultBackground = "Vervolgkeuzemenu-achtergrond", diff --git a/Applications/Settings.app/Localizations/English.lang b/Applications/Settings.app/Localizations/English.lang index 24b2e396..4867a520 100644 --- a/Applications/Settings.app/Localizations/English.lang +++ b/Applications/Settings.app/Localizations/English.lang @@ -37,8 +37,9 @@ appearanceDesktopBackground = "Desktop background", appearanceDock = "Dock background", appearanceMenu = "Menu background", + appearanceBlurEnabled = "Interface blurring", appearanceTransparencyEnabled = "Interface transparency", - appearanceTransparencyInfo = "Disabling the last two options will significantly reduce the number of direct calls to the CPU / GPU and increase performance", + appearanceTransparencyInfo = "Disabling the last three options will significantly reduce the number of direct calls to the CPU / GPU and increase performance", appearanceDropDownDefaultBackground = "Drop down menu background", appearanceDropDownDefaultText = "Drop down menu text", appearanceDropDownSeparator = "Drop down menu separator", diff --git a/Applications/Settings.app/Localizations/French.lang b/Applications/Settings.app/Localizations/French.lang index 684cf234..6c3621a3 100644 --- a/Applications/Settings.app/Localizations/French.lang +++ b/Applications/Settings.app/Localizations/French.lang @@ -37,6 +37,7 @@ appearanceDesktopBackground = "Fond d'écran", appearanceDock = "Dock de couleur", appearanceMenu = "Couleur du menu", + appearanceBlurEnabled = "Interface blurring", appearanceTransparencyEnabled = "Transparence de l'interface", appearanceTransparencyInfo = "La désactivation des deux dernières options réduira considérablement le nombre d'appels directs au processeur / processeur graphique et augmentera les performances.", appearanceDropDownDefaultBackground = "Menu déroulant arrière-plan", diff --git a/Applications/Settings.app/Localizations/German.lang b/Applications/Settings.app/Localizations/German.lang index 26510acf..2e704391 100644 --- a/Applications/Settings.app/Localizations/German.lang +++ b/Applications/Settings.app/Localizations/German.lang @@ -37,6 +37,7 @@ appearanceDesktopBackground = "Desktophintergrund", appearanceDock = "Dock Farbe", appearanceMenu = "Menü", + appearanceBlurEnabled = "Interface blurring", appearanceTransparencyEnabled = "Interface Transparenz", appearanceTransparencyInfo = "Das deaktivieren der letzten beiden Optionen reduziert die Anzahl der direkten Aufrufe an die CPU / GPU erheblich und erhöht die Leistung", appearanceDropDownDefaultBackground = "Dropdown-Menü hintergrund", diff --git a/Applications/Settings.app/Localizations/Italian.lang b/Applications/Settings.app/Localizations/Italian.lang index 0e6942c7..f0e8226d 100644 --- a/Applications/Settings.app/Localizations/Italian.lang +++ b/Applications/Settings.app/Localizations/Italian.lang @@ -37,6 +37,7 @@ appearanceDesktopBackground = "Sfondo Desktop", appearanceDock = "Colore aggancio", appearanceMenu = "Menu", + appearanceBlurEnabled = "Interface blurring", appearanceTransparencyEnabled = "Trasparenza interfaccia", appearanceTransparencyInfo = "Disabilitare le ultime due opzioni ridurrà significativamente il numero di chiamate dirette alla CPU / GPU e aumenterà le prestazioni", appearanceDropDownDefaultBackground = "Sfondo menu a discesa", diff --git a/Applications/Settings.app/Localizations/Japanese.lang b/Applications/Settings.app/Localizations/Japanese.lang index 081af5ac..817d264f 100644 --- a/Applications/Settings.app/Localizations/Japanese.lang +++ b/Applications/Settings.app/Localizations/Japanese.lang @@ -37,6 +37,7 @@ appearanceDesktopBackground = "デスクトップの背景", appearanceDock = "Dockの背景", appearanceMenu = "Menuの背景", + appearanceBlurEnabled = "Interface blurring", appearanceTransparencyEnabled = "インターフェースの透明度", appearanceTransparencyInfo = "最後の2つのオプションを無効にすると、CPU / GPUへのアクセス数が大幅に減り、パフォーマンスが向上します。", appearanceDropDownDefaultBackground = "ドロップダウンメニューの背景", diff --git a/Applications/Settings.app/Localizations/Russian.lang b/Applications/Settings.app/Localizations/Russian.lang index ddc541c2..80abc540 100755 --- a/Applications/Settings.app/Localizations/Russian.lang +++ b/Applications/Settings.app/Localizations/Russian.lang @@ -37,6 +37,7 @@ appearanceDesktopBackground = "Фон рабочего стола", appearanceDock = "Цвет Dock", appearanceMenu = "Цвет меню", + appearanceBlurEnabled = "Размытие интерфейса", appearanceTransparencyEnabled = "Прозрачность интерфейса", appearanceTransparencyInfo = "Отключение последних двух опций существенно снизит количество прямых обращений к CPU/GPU и увеличит производительность", appearanceDropDownDefaultBackground = "Фон контекстного меню", diff --git a/Applications/Settings.app/Localizations/Spanish.lang b/Applications/Settings.app/Localizations/Spanish.lang index 97ecba29..c58b3973 100644 --- a/Applications/Settings.app/Localizations/Spanish.lang +++ b/Applications/Settings.app/Localizations/Spanish.lang @@ -37,6 +37,7 @@ appearanceDesktopBackground = "Fondo de Escritorio", appearanceDock = "Fondo del Dock", appearanceMenu = "Fondo del Menu", + appearanceBlurEnabled = "Interface blurring", appearanceTransparencyEnabled = "Transparecia de la Interfaz", appearanceTransparencyInfo = "Desactivar las Ultimas dos opciones va a reducir significativamenteel numero de llamadas directas a la CPU/GPU y incrementara el rendimiento", appearanceDropDownDefaultBackground = "Fondo del menú desplegable", diff --git a/Applications/Settings.app/Localizations/Ukrainian.lang b/Applications/Settings.app/Localizations/Ukrainian.lang index ea1c9876..cdec18ad 100755 --- a/Applications/Settings.app/Localizations/Ukrainian.lang +++ b/Applications/Settings.app/Localizations/Ukrainian.lang @@ -37,6 +37,7 @@ appearanceDesktopBackground = "Фон робочого столу", appearanceDock = "Колір Dock", appearanceMenu = "Колір меню", + appearanceBlurEnabled = "Interface blurring", appearanceTransparencyEnabled = "Прозорість інтерфейсу", appearanceTransparencyInfo = "Відключення останніх двох опцій істотно знизить кількість прямих звернень до CPU / GPU і збільшить продуктивність", appearanceDropDownDefaultBackground = "Фон випадаючого меню", diff --git a/Applications/Settings.app/Main.lua b/Applications/Settings.app/Main.lua index 89cd57ab..215fdc78 100644 --- a/Applications/Settings.app/Main.lua +++ b/Applications/Settings.app/Main.lua @@ -18,8 +18,9 @@ local scrollSpeed = 2 local workspace, window = system.addWindow(GUI.filledWindow(1, 1, 100, 29, 0xF0F0F0)) -local leftPanel = window:addChild(GUI.panel(1, 1, 1, 1, 0x2D2D2D)) -window.actionButtons.localY = 2 +local leftPanel = system.addBlurredOrDefaultPanel(window, 1, 1, 1, 1) + +window.actionButtons.localX, window.actionButtons.localY = 3, 2 window.actionButtons:moveToFront() local modulesLayout = window:addChild(GUI.layout(1, 3, 1, 1, 1, 1)) diff --git a/Applications/Settings.app/Modules/2_Icons/Main.lua b/Applications/Settings.app/Modules/2_Icons/Main.lua index 07294e5d..a0450fc2 100644 --- a/Applications/Settings.app/Modules/2_Icons/Main.lua +++ b/Applications/Settings.app/Modules/2_Icons/Main.lua @@ -18,7 +18,8 @@ module.onTouch = function() local showExtensionSwitch = window.contentLayout:addChild(GUI.switchAndLabel(1, 1, 36, 8, 0x66DB80, 0xE1E1E1, 0xFFFFFF, 0xA5A5A5, localization.appearanceExtensions .. ":", userSettings.filesShowExtension)).switch local showHiddenFilesSwitch = window.contentLayout:addChild(GUI.switchAndLabel(1, 1, 36, 8, 0x66DB80, 0xE1E1E1, 0xFFFFFF, 0xA5A5A5, localization.appearanceHidden .. ":", userSettings.filesShowHidden)).switch local showApplicationIconsSwitch = window.contentLayout:addChild(GUI.switchAndLabel(1, 1, 36, 8, 0x66DB80, 0xE1E1E1, 0xFFFFFF, 0xA5A5A5, localization.appearanceApplications .. ":", userSettings.filesShowApplicationIcon)).switch - local transparencySwitch = window.contentLayout:addChild(GUI.switchAndLabel(1, 1, 36, 8, 0x66DB80, 0xE1E1E1, 0xFFFFFF, 0xA5A5A5, localization.appearanceTransparencyEnabled .. ":", userSettings.interfaceTransparencyEnabled)).switch + local transparencySwitch = window.contentLayout:addChild(GUI.switchAndLabel(1, 1, 36, 8, 0xFF4940, 0xE1E1E1, 0xFFFFFF, 0xA5A5A5, localization.appearanceTransparencyEnabled .. ":", userSettings.interfaceTransparencyEnabled)).switch + local blurSwitch = window.contentLayout:addChild(GUI.switchAndLabel(1, 1, 36, 8, 0xFF4940, 0xE1E1E1, 0xFFFFFF, 0xA5A5A5, localization.appearanceBlurEnabled .. ":", userSettings.interfaceBlurEnabled)).switch window.contentLayout:addChild(GUI.textBox(1, 1, 36, 1, nil, 0xA5A5A5, {localization.appearanceTransparencyInfo}, 1, 0, 0, true, true)) @@ -80,12 +81,15 @@ module.onTouch = function() userSettings.filesShowHidden = showHiddenFilesSwitch.state userSettings.filesShowApplicationIcon = showApplicationIconsSwitch.state userSettings.interfaceTransparencyEnabled = transparencySwitch.state + userSettings.interfaceBlurEnabled = blurSwitch.state + system.updateColorScheme() system.saveUserSettings() computer.pushSignal("system", "updateFileList") end - showHiddenFilesSwitch.onStateChanged, showApplicationIconsSwitch.onStateChanged, transparencySwitch.onStateChanged = showExtensionSwitch.onStateChanged, showExtensionSwitch.onStateChanged, showExtensionSwitch.onStateChanged + + showHiddenFilesSwitch.onStateChanged, showApplicationIconsSwitch.onStateChanged, transparencySwitch.onStateChanged, blurSwitch.onStateChanged = showExtensionSwitch.onStateChanged, showExtensionSwitch.onStateChanged, showExtensionSwitch.onStateChanged, showExtensionSwitch.onStateChanged end diff --git a/Libraries/GUI.lua b/Libraries/GUI.lua index ad267cb0..7a4fbf3a 100755 --- a/Libraries/GUI.lua +++ b/Libraries/GUI.lua @@ -543,6 +543,7 @@ local function pressableDraw(pressable) if background then screen.drawRectangle(pressable.x, pressable.y, pressable.width, pressable.height, background, text, " ") end + screen.drawText(math.floor(pressable.x + pressable.width / 2 - unicode.len(pressable.text) / 2), math.floor(pressable.y + pressable.height / 2), text, pressable.text) end @@ -3574,6 +3575,7 @@ end local function listUpdate(list) local step, child = false + for i = 1, #list.children do child = list.children[i] -- Жмяканье пизды @@ -3585,6 +3587,7 @@ local function listUpdate(list) else child.colors.default = list.colors.default end + child.colors.pressed, step = list.colors.selected, not step -- Размеры хуйни @@ -3673,7 +3676,10 @@ local function listCount(list) end local function listDraw(list) - screen.drawRectangle(list.x, list.y, list.width, list.height, list.colors.default.background, list.colors.default.text, " ") + if list.colors.default.background then + screen.drawRectangle(list.x, list.y, list.width, list.height, list.colors.default.background, list.colors.default.text, " ") + end + layoutDraw(list) end diff --git a/Libraries/System.lua b/Libraries/System.lua index 20ac7081..e5d68f5b 100755 --- a/Libraries/System.lua +++ b/Libraries/System.lua @@ -98,6 +98,9 @@ function system.getDefaultUserSettings() interfaceTransparencyDock = 0.4, interfaceTransparencyMenu = 0.2, interfaceTransparencyContextMenu = 0.2, + interfaceBlurEnabled = false, + interfaceBlurRadius = 3, + interfaceBlurTransparency = 0.6, interfaceColorDesktopBackground = 0x1E1E1E, interfaceColorDock = 0xE1E1E1, @@ -2888,6 +2891,10 @@ function system.getDockContainer() return dockContainer end +function system.addBlurredOrDefaultPanel(container, x, y, width, height) + return container:addChild(userSettings.interfaceBlurEnabled and GUI.blurredPanel(x, y, width, height, userSettings.interfaceBlurRadius, 0x0, userSettings.interfaceBlurTransparency) or GUI.panel(x, y, width, height, 0x2D2D2D)) +end + -------------------------------------------------------------------------------- -- Keeping temporary file's last modified timestamp as boot timestamp