feat(gui): redigeringsvindue (overlay) med Luk/ESC, Start/Stop, Slet

This commit is contained in:
2026-09-29 17:42:35 +02:00
parent 0cfb983506
commit f068c910c7
8 changed files with 189 additions and 3 deletions
+13 -2
View File
@@ -68,6 +68,7 @@ function SmartPickupFrame.new(i18n, getAdEnv)
self:initGuideButtons(i18n)
-- Flows: [Start/Stop] [Opsæt flow] [Nyt flow] [Slet] (gui/SmartPickupFlowGuide.lua)
self:initFlowButtons(i18n)
self:initEditPanelButtons(i18n)
-- Egen reference til listen: fallback'en i refreshButtons skal kunne sende den igen.
self.menuButtonInfo = self.overviewButtons
self:setMenuButtonInfo(self.menuButtonInfo)
@@ -211,7 +212,8 @@ end
function SmartPickupFrame:onFrameClose()
self.frameOpen = false
-- en åben guide kasseres (intet er gemt før [Gem])
-- et åbent redigeringsvindue og en åben guide kasseres (intet er gemt før [Gem])
self:hideEditPanel()
self:closeGuide()
SmartPickupFrame:superClass().onFrameClose(self)
end
@@ -259,6 +261,10 @@ function SmartPickupFrame:requestRebuild()
end
function SmartPickupFrame:switchTab(tabIndex)
if self.editPanelOpen then
self:closeGuide()
self:hideEditPanel()
end
if self.guide ~= nil and not self:hasGuideOn(tabIndex) then self:closeGuide() end
self.currentTab = tabIndex
for index, tab in ipairs(self.subCategoryTabs) do
@@ -440,6 +446,7 @@ function SmartPickupFrame:rebuild()
self.statusRow = self:addTextRow("")
self:colorRows()
self.boxLayout:invalidateLayout()
if self.editPanelOpen then self:fillEditPanel(adEnv) end
self:refreshLive()
self:restoreFocusIfLost()
return
@@ -485,6 +492,7 @@ function SmartPickupFrame:rebuild()
self.statusRow = self:addTextRow("")
self:colorRows()
self.boxLayout:invalidateLayout()
if self.editPanelOpen then self:fillEditPanel(adEnv) end
self:refreshLive()
self:restoreFocusIfLost()
end
@@ -591,7 +599,9 @@ end
-- sendes listen igen. Kaldes hvert sekund, så den må aldrig kaste.
function SmartPickupFrame:refreshButtons()
local wanted = self.flowButtons
if self:hasGuideOn(self.currentTab) then
if self.editPanelOpen then
wanted = self.guide ~= nil and self:panelGuideButtons() or self.panelButtons
elseif self:hasGuideOn(self.currentTab) then
wanted = self:getGuideButtons()
elseif self.currentTab == SmartPickupFrame.TAB_OVERVIEW then
wanted = self.overviewButtons
@@ -632,6 +642,7 @@ function SmartPickupFrame:refreshLive()
if isOverview then
self:refreshOverview(adEnv)
end
if self.editPanelOpen then self:refreshEditPanel(adEnv) end
if self.currentTab == SmartPickupFrame.TAB_FIELDS then
self:refreshFieldRows(adEnv)
self.statusOverrideTicks = (self.statusOverrideTicks or 0) - 1