From 2720938de1088ca5923e4cbc14c7efb117d37840 Mon Sep 17 00:00:00 2001 From: vaisest Date: Fri, 26 Jun 2026 15:32:43 +0000 Subject: [PATCH 1/3] Apply changes from https://github.com/PathOfBuildingCommunity/PathOfBuilding-PoE2/pull/2176 --- src/Classes/DropDownControl.lua | 6 ++++++ src/Classes/EditControl.lua | 2 +- src/Classes/EditControl.lua.rej | 10 ++++++++++ src/Modules/Main.lua | 6 ++++++ src/Modules/Main.lua.rej | 10 ++++++++++ 5 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 src/Classes/EditControl.lua.rej create mode 100644 src/Modules/Main.lua.rej diff --git a/src/Classes/DropDownControl.lua b/src/Classes/DropDownControl.lua index bd75e93f1da..f1245dfc1a0 100644 --- a/src/Classes/DropDownControl.lua +++ b/src/Classes/DropDownControl.lua @@ -487,6 +487,9 @@ function DropDownClass:OnKeyUp(key) if self.dropped and self.controls.scrollBar.enabled then self.controls.scrollBar:Scroll(1) else + if main.disableScrollControlInteraction and key == "WHEELDOWN" then + return + end self:SetSel(self:ListIndexToDropIndex(self.selIndex, 0) + 1) end return self @@ -498,6 +501,9 @@ function DropDownClass:OnKeyUp(key) if self.dropped and self.controls.scrollBar.enabled then self.controls.scrollBar:Scroll(-1) else + if main.disableScrollControlInteraction and key == "WHEELUP" then + return + end self:SetSel(self:ListIndexToDropIndex(self.selIndex, 0) - 1) end return self diff --git a/src/Classes/EditControl.lua b/src/Classes/EditControl.lua index 2964057adf0..3ab708ea80b 100644 --- a/src/Classes/EditControl.lua +++ b/src/Classes/EditControl.lua @@ -675,7 +675,7 @@ function EditClass:OnKeyUp(key) end elseif self.isNumeric then local cur = tonumber(self.buf) - if key == "WHEELUP" or key == "UP" then + if (not main.disableScrollControlInteraction and (key == "WHEELUP")) or key == "UP" then if cur then self:SetText(tostring(cur + (self.numberInc or 1)), true) else diff --git a/src/Classes/EditControl.lua.rej b/src/Classes/EditControl.lua.rej new file mode 100644 index 00000000000..ba86839dd79 --- /dev/null +++ b/src/Classes/EditControl.lua.rej @@ -0,0 +1,10 @@ +diff a/src/Classes/EditControl.lua b/src/Classes/EditControl.lua (rejected hunks) +@@ -685,7 +685,7 @@ function EditClass:OnKeyUp(key) + self:SetText("1", true) + end + end +- elseif not main.disableScrollControlInteraction and (key == "WHEELDOWN" or key == "DOWN") then ++ elseif (not main.disableScrollControlInteraction and (key == "WHEELDOWN")) or key == "DOWN" then + if cur then + local value = cur - (self.numberInc or 1) + if self.filter == "%D" or self.filter == "^%d." then diff --git a/src/Modules/Main.lua b/src/Modules/Main.lua index beae31b7beb..a44397157db 100644 --- a/src/Modules/Main.lua +++ b/src/Modules/Main.lua @@ -626,6 +626,9 @@ function main:LoadSettings(ignoreBuild) if node.attrib.showAllItemAffixes then self.showAllItemAffixes = node.attrib.showAllItemAffixes == "true" end + if node.attrib.disableScrollControlInteraction then + self.disableScrollControlInteraction = node.attrib.disableScrollControlInteraction == "true" + end if node.attrib.dpiScaleOverridePercent then self.dpiScaleOverridePercent = tonumber(node.attrib.dpiScaleOverridePercent) or 0 SetDPIScaleOverridePercent(self.dpiScaleOverridePercent) @@ -845,6 +848,7 @@ function main:OpenOptionsPopup(savedState) showFlavourText = self.showFlavourText, showAnimations = self.showAnimations, showAllItemAffixes = self.showAllItemAffixes, + disableScrollControlInteraction = self.disableScrollControlInteraction, dpiScaleOverridePercent = self.dpiScaleOverridePercent } @@ -1131,6 +1135,7 @@ function main:OpenOptionsPopup(savedState) controls.showFlavourText.state = self.showFlavourText controls.showAnimations.state = self.showAnimations controls.showAllItemAffixes.state = self.showAllItemAffixes + controls.disableScrollControlInteraction.state = self.disableScrollControlInteraction -- Adjust height in case of two-column layout currentY = m_max(leftColumnMaxY, currentY) @@ -1191,6 +1196,7 @@ function main:OpenOptionsPopup(savedState) self.showFlavourText = savedState.showFlavourText self.showAnimations = savedState.showAnimations self.showAllItemAffixes = savedState.showAllItemAffixes + self.disableScrollControlInteraction = savedState.disableScrollControlInteraction self.dpiScaleOverridePercent = savedState.dpiScaleOverridePercent SetDPIScaleOverridePercent(self.dpiScaleOverridePercent) main:ClosePopup() diff --git a/src/Modules/Main.lua.rej b/src/Modules/Main.lua.rej new file mode 100644 index 00000000000..def70796c1a --- /dev/null +++ b/src/Modules/Main.lua.rej @@ -0,0 +1,10 @@ +diff a/src/Modules/Main.lua b/src/Modules/Main.lua (rejected hunks) +@@ -1064,7 +1064,7 @@ function main:OpenOptionsPopup(savedState) + controls.disableScrollControlInteraction = new("CheckBoxControl", { "TOPLEFT", controls.sectionAnchor, "TOPLEFT" }, { currentX + defaultLabelPlacementX, currentY, 20 }, "^7Disable control scroll interaction:", function(state) + self.disableScrollControlInteraction = state + end) +- controls.disableScrollControlInteraction.tooltipText = "Disable changing the values in controls such as dropdowns, numeric inputs, or sliders when using the scroll wheel." ++ controls.disableScrollControlInteraction.tooltipText = "Disable changing the values in controls such as dropdowns or numeric inputs when using the scroll wheel." + + nextRow() + From 1a2386e4c28ce42ec1ab695e2ee428241cfc3b4b Mon Sep 17 00:00:00 2001 From: LocalIdentity Date: Tue, 21 Jul 2026 07:37:58 +1000 Subject: [PATCH 2/3] Fix merge --- src/Classes/EditControl.lua | 2 +- src/Classes/EditControl.lua.rej | 10 ---------- src/Modules/Main.lua | 8 +++++++- src/Modules/Main.lua.rej | 10 ---------- 4 files changed, 8 insertions(+), 22 deletions(-) delete mode 100644 src/Classes/EditControl.lua.rej delete mode 100644 src/Modules/Main.lua.rej diff --git a/src/Classes/EditControl.lua b/src/Classes/EditControl.lua index 3ab708ea80b..115d2551e14 100644 --- a/src/Classes/EditControl.lua +++ b/src/Classes/EditControl.lua @@ -685,7 +685,7 @@ function EditClass:OnKeyUp(key) self:SetText("1", true) end end - elseif key == "WHEELDOWN" or key == "DOWN" then + elseif (not main.disableScrollControlInteraction and (key == "WHEELDOWN")) or key == "DOWN" then if cur and (self.filter ~= "%D" or cur > 0)then self:SetText(tostring(cur - (self.numberInc or 1)), true) else diff --git a/src/Classes/EditControl.lua.rej b/src/Classes/EditControl.lua.rej deleted file mode 100644 index ba86839dd79..00000000000 --- a/src/Classes/EditControl.lua.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/src/Classes/EditControl.lua b/src/Classes/EditControl.lua (rejected hunks) -@@ -685,7 +685,7 @@ function EditClass:OnKeyUp(key) - self:SetText("1", true) - end - end -- elseif not main.disableScrollControlInteraction and (key == "WHEELDOWN" or key == "DOWN") then -+ elseif (not main.disableScrollControlInteraction and (key == "WHEELDOWN")) or key == "DOWN" then - if cur then - local value = cur - (self.numberInc or 1) - if self.filter == "%D" or self.filter == "^%d." then diff --git a/src/Modules/Main.lua b/src/Modules/Main.lua index a44397157db..0b77b4b1a66 100644 --- a/src/Modules/Main.lua +++ b/src/Modules/Main.lua @@ -1025,7 +1025,13 @@ function main:OpenOptionsPopup(savedState) controls.showAllItemAffixes = new("CheckBoxControl", { "TOPLEFT", controls.sectionAnchor, "TOPLEFT" }, { currentX + defaultLabelPlacementX, currentY, 20 }, "^7Show all item affixes sliders:", function(state) self.showAllItemAffixes = state end) - controls.showAllItemAffixes.tooltipText = "Display all item affix slots as a stacked list instead of hiding them in dropdowns" + controls.showAllItemAffixes.tooltipText = "Display all item affix slots as a stacked list instead of hiding them in dropdowns." + + nextRow() + controls.disableScrollControlInteraction = new("CheckBoxControl", { "TOPLEFT", controls.sectionAnchor, "TOPLEFT" }, { currentX + defaultLabelPlacementX, currentY, 20 }, "^7Disable control scroll interaction:", function(state) + self.disableScrollControlInteraction = state + end) + controls.disableScrollControlInteraction.tooltipText = "Disable changing the values in controls such as dropdowns or numeric inputs when using the scroll wheel." nextRow() diff --git a/src/Modules/Main.lua.rej b/src/Modules/Main.lua.rej deleted file mode 100644 index def70796c1a..00000000000 --- a/src/Modules/Main.lua.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/src/Modules/Main.lua b/src/Modules/Main.lua (rejected hunks) -@@ -1064,7 +1064,7 @@ function main:OpenOptionsPopup(savedState) - controls.disableScrollControlInteraction = new("CheckBoxControl", { "TOPLEFT", controls.sectionAnchor, "TOPLEFT" }, { currentX + defaultLabelPlacementX, currentY, 20 }, "^7Disable control scroll interaction:", function(state) - self.disableScrollControlInteraction = state - end) -- controls.disableScrollControlInteraction.tooltipText = "Disable changing the values in controls such as dropdowns, numeric inputs, or sliders when using the scroll wheel." -+ controls.disableScrollControlInteraction.tooltipText = "Disable changing the values in controls such as dropdowns or numeric inputs when using the scroll wheel." - - nextRow() - From 0249d714d3ce53ed05d51f47fc4cc29e7c4a1c91 Mon Sep 17 00:00:00 2001 From: LocalIdentity Date: Tue, 21 Jul 2026 07:39:32 +1000 Subject: [PATCH 3/3] More fixes --- src/Modules/Main.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Modules/Main.lua b/src/Modules/Main.lua index 0b77b4b1a66..202db82ca00 100644 --- a/src/Modules/Main.lua +++ b/src/Modules/Main.lua @@ -119,6 +119,7 @@ function main:Init() self.showFlavourText = true self.showAnimations = true self.showAllItemAffixes = true + self.disableScrollControlInteraction = false self.errorReadingSettings = false if not SetDPIScaleOverridePercent then SetDPIScaleOverridePercent = function(scale) end end @@ -764,6 +765,7 @@ function main:SaveSettings() showFlavourText = tostring(self.showFlavourText), showAnimations = tostring(self.showAnimations), showAllItemAffixes = tostring(self.showAllItemAffixes), + disableScrollControlInteraction = tostring(self.disableScrollControlInteraction), dpiScaleOverridePercent = tostring(self.dpiScaleOverridePercent), } }) local res, errMsg = common.xml.SaveXMLFile(setXML, self.userPath.."Settings.xml")