Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,13 @@ All notable changes to EasyFind will be documented in this file.

---

## [2.1.4] - 2026-07-20
## [2.1.4] - 2026-07-21

### Added
- **Data broker launcher**: EasyFind now publishes a launcher for display bars that host data broker objects, so it can be opened from one instead of the minimap button. Left-click toggles the search bar, right-click opens the options. Nothing changes if no such display is installed.
- **Data broker support**: if you use a display bar that hosts data broker objects, EasyFind can now be launched from it instead of the minimap button. Left-click toggles the search bar, right-click opens the options. Every other way in still works, Auto-Hide included, and nothing changes if no such display is installed.

### Fixed
- **Welcome screen**: the version number is no longer cut off in the tutorial's welcome title

---

Expand Down
12 changes: 11 additions & 1 deletion Core/Main.lua
Original file line number Diff line number Diff line change
Expand Up @@ -1229,6 +1229,12 @@ local LAUNCHER_ICON = "Interface\\AddOns\\EasyFind\\textures\\SpyglassMinimap"
-- The brand name, never localized, shown wherever the addon names itself.
local ADDON_LABEL = "EasyFind"

-- Display-owned buttons our data broker launcher has been clicked through.
-- The search bar's outside-click close consults this so clicking a launcher
-- toggles the bar instead of closing and immediately reopening it. Weak keys:
-- a display rebuilding its bar must not keep dead frames alive.
ns.brokerLauncherButtons = setmetatable({}, { __mode = "k" })

local minimapButton

local minimapShapes = {
Expand Down Expand Up @@ -1392,7 +1398,11 @@ function ns.RegisterDataBroker()
type = "launcher",
label = ADDON_LABEL,
icon = LAUNCHER_ICON,
OnClick = function(_, button)
OnClick = function(self, button)
-- Remember the display's button so the search bar's outside-click
-- close recognises it as one of ours (see brokerLauncherButtons in
-- SearchBar). Weak-keyed: a display may rebuild its buttons.
if self then ns.brokerLauncherButtons[self] = true end
if button == "RightButton" then
EasyFind:OpenOptions()
else
Expand Down
7 changes: 4 additions & 3 deletions Locales/deDE.lua
Original file line number Diff line number Diff line change
Expand Up @@ -258,9 +258,10 @@ L["WHATSNEW_CHAT_HELLO"] = "Willkommen bei |cFF00FF00EasyFind v%s
L["WHATSNEW_CHAT_HERE"] = "hier"
L["WHATSNEW_CHANGELOG_LINK"] = "Vollständiges Änderungsprotokoll"
L["WHATSNEW_BODY"] =
"|cffFFD100\226\128\162|r |cffffffffData-Broker-Starter|r\n" ..
" |cff999999-|r Starte EasyFind über eine Data-Broker-Leiste\n" ..
" statt über das Minimap-Symbol"
"|cffFFD100\226\128\162|r |cffffffffData-Broker-Unterstützung|r\n" ..
" |cff999999-|r Wer eine Data-Broker-Leiste nutzt, kann EasyFind\n" ..
" jetzt darüber statt über das Minimap-Symbol öffnen\n" ..
" (alle anderen Wege bleiben, auch Auto-Ausblenden)"

-- Context menu
L["CTX_ADD_ALIAS"] = "Alias hinzufügen"
Expand Down
7 changes: 4 additions & 3 deletions Locales/enUS.lua
Original file line number Diff line number Diff line change
Expand Up @@ -279,9 +279,10 @@ L["WHATSNEW_CHAT_HERE"] = "here"
-- The body is rewritten per release. Edit this single string each version.
L["WHATSNEW_CHANGELOG_LINK"] = "See full changelog"
L["WHATSNEW_BODY"] =
"|cffFFD100\226\128\162|r |cffffffffData broker launcher|r\n" ..
" |cff999999-|r Launch EasyFind from a data broker display bar\n" ..
" instead of the minimap button"
"|cffFFD100\226\128\162|r |cffffffffAdded data broker support|r\n" ..
" |cff999999-|r If you use a data broker display bar, EasyFind can\n" ..
" now be launched from it instead of the minimap button\n" ..
" (every other way still works, Auto-Hide included)"

-- =============================================================================
-- Shared/Utils.lua -- context menu labels
Expand Down
7 changes: 4 additions & 3 deletions Locales/esES.lua
Original file line number Diff line number Diff line change
Expand Up @@ -256,9 +256,10 @@ L["WHATSNEW_CHAT_HELLO"] = "¡Bienvenido a |cFF00FF00EasyFind v%s
L["WHATSNEW_CHAT_HERE"] = "aquí"
L["WHATSNEW_CHANGELOG_LINK"] = "Ver el registro de cambios completo"
L["WHATSNEW_BODY"] =
"|cffFFD100\226\128\162|r |cffffffffLanzador de Data Broker|r\n" ..
" |cff999999-|r Abre EasyFind desde una barra de Data Broker\n" ..
" en lugar del icono del minimapa"
"|cffFFD100\226\128\162|r |cffffffffCompatibilidad con Data Broker|r\n" ..
" |cff999999-|r Si usas una barra de Data Broker, ahora puedes abrir\n" ..
" EasyFind desde ella en lugar del icono del minimapa\n" ..
" (las demás formas siguen igual, incluido Ocultar auto.)"

-- Context menu
L["CTX_ADD_ALIAS"] = "Añadir alias"
Expand Down
7 changes: 4 additions & 3 deletions Locales/esMX.lua
Original file line number Diff line number Diff line change
Expand Up @@ -256,9 +256,10 @@ L["WHATSNEW_CHAT_HELLO"] = "¡Bienvenido a |cFF00FF00EasyFind v%s
L["WHATSNEW_CHAT_HERE"] = "aquí"
L["WHATSNEW_CHANGELOG_LINK"] = "Ver el registro de cambios completo"
L["WHATSNEW_BODY"] =
"|cffFFD100\226\128\162|r |cffffffffLanzador de Data Broker|r\n" ..
" |cff999999-|r Abre EasyFind desde una barra de Data Broker\n" ..
" en lugar del icono del minimapa"
"|cffFFD100\226\128\162|r |cffffffffCompatibilidad con Data Broker|r\n" ..
" |cff999999-|r Si usas una barra de Data Broker, ahora puedes abrir\n" ..
" EasyFind desde ella en lugar del icono del minimapa\n" ..
" (las demás formas siguen igual, incluido Ocultar auto.)"

-- Context menu
L["CTX_ADD_ALIAS"] = "Añadir alias"
Expand Down
7 changes: 4 additions & 3 deletions Locales/frFR.lua
Original file line number Diff line number Diff line change
Expand Up @@ -256,9 +256,10 @@ L["WHATSNEW_CHAT_HELLO"] = "Bienvenue dans |cFF00FF00EasyFind v%s
L["WHATSNEW_CHAT_HERE"] = "ici"
L["WHATSNEW_CHANGELOG_LINK"] = "Voir le journal des modifications complet"
L["WHATSNEW_BODY"] =
"|cffFFD100\226\128\162|r |cffffffffLanceur Data Broker|r\n" ..
" |cff999999-|r Lancez EasyFind depuis une barre Data Broker\n" ..
" au lieu de l'icône de la minicarte"
"|cffFFD100\226\128\162|r |cffffffffPrise en charge de Data Broker|r\n" ..
" |cff999999-|r Si vous utilisez une barre Data Broker, vous pouvez\n" ..
" y lancer EasyFind au lieu de l'icône de la minicarte\n" ..
" (les autres moyens restent, Masquage auto compris)"

-- Context menu
L["CTX_ADD_ALIAS"] = "Ajouter un alias"
Expand Down
7 changes: 4 additions & 3 deletions Locales/itIT.lua
Original file line number Diff line number Diff line change
Expand Up @@ -256,9 +256,10 @@ L["WHATSNEW_CHAT_HELLO"] = "Benvenuto in |cFF00FF00EasyFind v%s|r
L["WHATSNEW_CHAT_HERE"] = "qui"
L["WHATSNEW_CHANGELOG_LINK"] = "Vedi il changelog completo"
L["WHATSNEW_BODY"] =
"|cffFFD100\226\128\162|r |cffffffffAvvio da Data Broker|r\n" ..
" |cff999999-|r Avvia EasyFind da una barra Data Broker\n" ..
" invece che dall'icona della minimappa"
"|cffFFD100\226\128\162|r |cffffffffSupporto Data Broker|r\n" ..
" |cff999999-|r Se usi una barra Data Broker, ora puoi avviare\n" ..
" EasyFind da lì invece che dall'icona della minimappa\n" ..
" (gli altri modi restano, incluso Nascondi auto.)"

-- Context menu
L["CTX_ADD_ALIAS"] = "Aggiungi alias"
Expand Down
7 changes: 4 additions & 3 deletions Locales/koKR.lua
Original file line number Diff line number Diff line change
Expand Up @@ -256,9 +256,10 @@ L["WHATSNEW_CHAT_HELLO"] = "|cFF00FF00EasyFind v%s|r에 오신
L["WHATSNEW_CHAT_HERE"] = "여기"
L["WHATSNEW_CHANGELOG_LINK"] = "전체 변경 사항 보기"
L["WHATSNEW_BODY"] =
"|cffFFD100\226\128\162|r |cffffffff데이터 브로커 실행기|r\n" ..
" |cff999999-|r 미니맵 아이콘 대신 데이터 브로커 표시줄에서\n" ..
" EasyFind를 실행할 수 있습니다"
"|cffFFD100\226\128\162|r |cffffffff데이터 브로커 지원 추가|r\n" ..
" |cff999999-|r 데이터 브로커 표시줄을 사용한다면 미니맵 아이콘\n" ..
" 대신 표시줄에서 EasyFind를 실행할 수 있습니다\n" ..
" (자동 숨김을 비롯한 기존 방식도 그대로 사용 가능)"

-- Context menu
L["CTX_ADD_ALIAS"] = "별칭 추가"
Expand Down
7 changes: 4 additions & 3 deletions Locales/ptBR.lua
Original file line number Diff line number Diff line change
Expand Up @@ -256,9 +256,10 @@ L["WHATSNEW_CHAT_HELLO"] = "Bem-vindo ao |cFF00FF00EasyFind v%s|r
L["WHATSNEW_CHAT_HERE"] = "aqui"
L["WHATSNEW_CHANGELOG_LINK"] = "Ver o changelog completo"
L["WHATSNEW_BODY"] =
"|cffFFD100\226\128\162|r |cffffffffLançador de Data Broker|r\n" ..
" |cff999999-|r Abra o EasyFind por uma barra de Data Broker\n" ..
" em vez do ícone do minimapa"
"|cffFFD100\226\128\162|r |cffffffffSuporte a Data Broker|r\n" ..
" |cff999999-|r Se você usa uma barra de Data Broker, agora pode abrir\n" ..
" o EasyFind por ela em vez do ícone do minimapa\n" ..
" (as outras formas continuam, incluindo Ocultar auto.)"

-- Context menu
L["CTX_ADD_ALIAS"] = "Adicionar apelido"
Expand Down
7 changes: 4 additions & 3 deletions Locales/ruRU.lua
Original file line number Diff line number Diff line change
Expand Up @@ -256,9 +256,10 @@ L["WHATSNEW_CHAT_HELLO"] = "Добро пожаловать в |c
L["WHATSNEW_CHAT_HERE"] = "здесь"
L["WHATSNEW_CHANGELOG_LINK"] = "Полный список изменений"
L["WHATSNEW_BODY"] =
"|cffFFD100\226\128\162|r |cffffffffЗапуск через Data Broker|r\n" ..
" |cff999999-|r Открывайте EasyFind с панели Data Broker,\n" ..
" а не только значком на миникарте"
"|cffFFD100\226\128\162|r |cffffffffПоддержка Data Broker|r\n" ..
" |cff999999-|r Если вы пользуетесь панелью Data Broker, EasyFind\n" ..
" теперь можно открыть с неё, а не значком на миникарте\n" ..
" (остальные способы работают, включая Автоскрытие)"

-- Context menu
L["CTX_ADD_ALIAS"] = "Добавить псевдоним"
Expand Down
7 changes: 4 additions & 3 deletions Locales/zhCN.lua
Original file line number Diff line number Diff line change
Expand Up @@ -256,9 +256,10 @@ L["WHATSNEW_CHAT_HELLO"] = "欢迎使用|cFF00FF00EasyFind v%s|r
L["WHATSNEW_CHAT_HERE"] = "这里"
L["WHATSNEW_CHANGELOG_LINK"] = "查看完整更新日志"
L["WHATSNEW_BODY"] =
"|cffFFD100\226\128\162|r |cffffffff数据面板启动器|r\n" ..
" |cff999999-|r 可从数据面板插件栏启动 EasyFind,\n" ..
" 无需使用小地图图标"
"|cffFFD100\226\128\162|r |cffffffff新增数据面板支持|r\n" ..
" |cff999999-|r 如果你使用数据面板插件栏,现在可以从那里启动\n" ..
" EasyFind,而不必使用小地图图标\n" ..
" (其他方式照常可用,包括自动隐藏)"

-- Context menu
L["CTX_ADD_ALIAS"] = "添加别名"
Expand Down
7 changes: 4 additions & 3 deletions Locales/zhTW.lua
Original file line number Diff line number Diff line change
Expand Up @@ -256,9 +256,10 @@ L["WHATSNEW_CHAT_HELLO"] = "歡迎使用|cFF00FF00EasyFind v%s|r
L["WHATSNEW_CHAT_HERE"] = "這裡"
L["WHATSNEW_CHANGELOG_LINK"] = "查看完整更新日誌"
L["WHATSNEW_BODY"] =
"|cffFFD100\226\128\162|r |cffffffff資料面板啟動器|r\n" ..
" |cff999999-|r 可從資料面板插件列啟動 EasyFind,\n" ..
" 不必使用小地圖圖示"
"|cffFFD100\226\128\162|r |cffffffff新增資料面板支援|r\n" ..
" |cff999999-|r 如果你使用資料面板插件列,現在可以從那裡啟動\n" ..
" EasyFind,不必使用小地圖圖示\n" ..
" (其他方式照常可用,包括自動隱藏)"

-- Context menu
L["CTX_ADD_ALIAS"] = "新增別名"
Expand Down
7 changes: 6 additions & 1 deletion Onboarding/TutorialWizard.lua
Original file line number Diff line number Diff line change
Expand Up @@ -564,6 +564,11 @@ end
-- close-X on the right so a long localised title gets ellipsised instead of
-- overflowing under the chrome.
local HEADER_MAX_W = WIZ_W - 140
-- The welcome title is centred below the logo, clear of that chrome row, so it
-- only needs page margins rather than the back-arrow and close-X reserve. It
-- also renders 1.5x larger than every other header, and the tighter bound cut
-- the version off ("Welcome to EasyFind v2.1..."), worse in longer locales.
local WELCOME_MAX_W = WIZ_W - 48

local function BodyText(parent, text)
local fs = parent:CreateFontString(nil, "OVERLAY", "GameFontHighlight")
Expand Down Expand Up @@ -604,7 +609,7 @@ local function BuildPage1(parent)
logo:SetPoint("TOP", p, "TOP", 0, -40)

local version = ns.version or (C_AddOns and C_AddOns.GetAddOnMetadata and C_AddOns.GetAddOnMetadata("EasyFind", "Version")) or "2.0.0"
local title = HeaderText(p, L["TUT_WELCOME_TITLE"]:format(version), nil, HEADER_MAX_W)
local title = HeaderText(p, L["TUT_WELCOME_TITLE"]:format(version), nil, WELCOME_MAX_W)
title:SetPoint("TOP", logo, "BOTTOM", 0, -22)
do
local path, sz, fl = title:GetFont()
Expand Down
29 changes: 20 additions & 9 deletions Search/SearchBar.lua
Original file line number Diff line number Diff line change
Expand Up @@ -1861,18 +1861,29 @@ function Search:CreateSearchFrame()
-- click. Catches the minimap button (and any other "click target
-- that should NOT close the bar") even if our OnMouseDown flag
-- races against this event handler.
-- Data broker launchers count the same way. Their buttons belong to
-- whichever display hosts them, so we cannot name them up front or
-- hook them early enough to win the flag race -- the launcher records
-- each button it is clicked through instead, and this check covers it
-- from then on. Without it the bar closes here on mouse-DOWN and the
-- launcher's mouse-UP handler reopens it, so it blinks instead of
-- toggling shut.
local mmBtn = _G["EasyFindMinimapButton"]
if mmBtn then
if GetMouseFoci then
local foci = GetMouseFoci()
if foci then
for i = 1, #foci do
if foci[i] == mmBtn then return end
end
local launchers = ns.brokerLauncherButtons
local function IsLauncherTarget(frame)
if not frame then return false end
if mmBtn and frame == mmBtn then return true end
return (launchers and launchers[frame]) and true or false
end
if GetMouseFoci then
local foci = GetMouseFoci()
if foci then
for i = 1, #foci do
if IsLauncherTarget(foci[i]) then return end
end
elseif GetMouseFocus and GetMouseFocus() == mmBtn then
return
end
elseif GetMouseFocus and IsLauncherTarget(GetMouseFocus()) then
return
end
if self:IsMouseOver() then return end
if Utils.IsFrameVisiblyMouseOver(resultsFrame) then return end
Expand Down
Loading