Quantcast

moar ui buttons

Darthpred [07-23-16 - 10:52]
moar ui buttons
Filename
ElvUI_SLE/defaults/private.lua
ElvUI_SLE/libs/LibElv-UIButtons-1.0/LibElv-UIButtons-1.0.lua
ElvUI_SLE/locales/english.lua
ElvUI_SLE/locales/russian.lua
ElvUI_SLE/modules/uibuttons.lua
ElvUI_SLE/options/uibuttons_c.lua
diff --git a/ElvUI_SLE/defaults/private.lua b/ElvUI_SLE/defaults/private.lua
index da98016..9870f70 100644
--- a/ElvUI_SLE/defaults/private.lua
+++ b/ElvUI_SLE/defaults/private.lua
@@ -166,6 +166,7 @@ V["sle"] = {
 		["style"] = "classic",
 		["strata"] = "MEDIUM",
 		["level"] = 5,
+		["transparent"] = "Default",
 	},
 }

diff --git a/ElvUI_SLE/libs/LibElv-UIButtons-1.0/LibElv-UIButtons-1.0.lua b/ElvUI_SLE/libs/LibElv-UIButtons-1.0/LibElv-UIButtons-1.0.lua
index 7b33e3a..a691a56 100644
--- a/ElvUI_SLE/libs/LibElv-UIButtons-1.0/LibElv-UIButtons-1.0.lua
+++ b/ElvUI_SLE/libs/LibElv-UIButtons-1.0/LibElv-UIButtons-1.0.lua
@@ -106,7 +106,11 @@ local function CreateCoreButton(menu, name, text, onClick)
 	button.text = button:CreateFontString(nil, "OVERLAY")
 	button.text:SetPoint("CENTER", button, "CENTER", 0, 0)

-	S:HandleButton(button)
+	if menu.transparent == "Transparent" then
+		button:CreateBackdrop("Transparent")
+	elseif menu.transparent == "Default" then
+		S:HandleButton(button)
+	end

 	if text then
 		local t = button:CreateFontString(nil,"OVERLAY",button)
@@ -155,7 +159,11 @@ local function CreateDropdownButton(menu, core, name, text, tooltip1, tooltip2,
 		b:SetScript('OnEnter', function(self) menu:OnEnter() end)
 		b:SetScript('OnLeave', function(self) menu:OnLeave() end)
 	end
-	S:HandleButton(b)
+	if menu.transparent == "Transparent" then
+		b:CreateBackdrop("Transparent")
+	elseif menu.transparent == "Default" then
+		S:HandleButton(b)
+	end

 	if text and type(text) == "string" then
 		b.text = b:CreateFontString(nil,"OVERLAY",b)
@@ -325,7 +333,7 @@ local function ToggleShow(menu)
 end

 --Creating of the menu
-function lib:CreateFrame(name, db, default, style, styleDefault, strata, level)
+function lib:CreateFrame(name, db, default, style, styleDefault, strata, level, transparent)
 	--Checks to prevent a shitload of errors cause of wrong arguments passed
 	if _G[name] then return end
 	if not strata then strata = "MEDIUM" end
@@ -335,6 +343,7 @@ function lib:CreateFrame(name, db, default, style, styleDefault, strata, level)
 	EqualizeDB(menu.db, menu.default)
 	if not style and styleDefault then style = styleDefault end
 	menu.style = style
+	menu.transparent = transparent

 	menu:SetFrameStrata(strata)
 	menu:SetFrameLevel(level or 5)
diff --git a/ElvUI_SLE/locales/english.lua b/ElvUI_SLE/locales/english.lua
index aa203e2..c30b90f 100644
--- a/ElvUI_SLE/locales/english.lua
+++ b/ElvUI_SLE/locales/english.lua
@@ -73,6 +73,7 @@ L["Reset these options to defaults"] = true
 L["Modules designed for older expantions"] = true
 L["Game Menu Buttons"] = true
 L["Adds |cff9482c9Shadow & Light|r buttons to main game menu."] = true
+L["Advanced Options"] = true
 L["SLE_Advanced_Desc"] = [[Folowing options provide acces to additional customization settings in various modules.
 Is not reccomended to new players or people not experienced in addons' configuration.]]
 L["Allow Advanced Options"] = true
@@ -388,6 +389,8 @@ L["Changes the text string to a shorter variant."] = true
 L["Delete character info"] = true
 L["Remove selected character from the stored gold values"] = true
 L["Are you sure you want to remove |cff1784d1%s|r from currency datatexts?"] = true
+L["Hide panel background"] = true
+L["Don't show this panel, only datatexts assinged to it"] = true

 --Equip Manager
 L["Equipment Manager"] = true
@@ -747,6 +750,7 @@ L["Quick Action"] = true
 L["Use quick access (on right click) for this button."] = true
 L["Function"] = true
 L["Function called by quick access."] = true
+L["UI Buttons Strata"] = true

 --Unitframes
 L["Options for customizing unit frames. Please don't change these setting when ElvUI's testing frames for bosses and arena teams are shown. That will make them invisible until retoggling."] = true
diff --git a/ElvUI_SLE/locales/russian.lua b/ElvUI_SLE/locales/russian.lua
index 154722f..c66c4d0 100644
--- a/ElvUI_SLE/locales/russian.lua
+++ b/ElvUI_SLE/locales/russian.lua
@@ -70,6 +70,7 @@ L["Reset these options to defaults"] = "Восстановить умолчан
 L["Modules designed for older expantions"] = "Модули для предыдущих дополнений"
 L["Game Menu Buttons"] = "Кнопки главного меню"
 L["Adds |cff9482c9Shadow & Light|r buttons to main game menu."] = "Добавляет кнопки |cff9482c9Shadow & Light|r в главное меню."
+L["Advanced Options"] = "Продвинутые опции"
 L["SLE_Advanced_Desc"] = [[Следующие опции дают доступ к дополнительным настройкам.
 Не рекомендуется для использванием новичкам или людям без опыта настройки аддонов.]]
 L["Allow Advanced Options"] = "Разрешить продвинутые настройки"
@@ -385,6 +386,8 @@ L["Remove selected character from the stored gold values"] = "Удалить в
 L["Are you sure you want to remove |cff1784d1%s|r from currency datatexts?"] = "Вы уверены, что хотите удалить |cff1784d1%s|r из инфо-текстов валют?л"
 L["Time Played"] = "Времени в игре"
 L["Account Time Played"] = "Время в игре на аккаунте"
+L["Hide panel background"] = "Скрыть фон"
+L["Don't show this panel, only datatexts assinged to it"] = "Не показывать фон панели, а только назначенные инфо-тексты."

 --Equip Manager
 L["Equipment Manager"] = "Менеджер экипировки"
@@ -739,6 +742,7 @@ L["Quick Action"] = "Быстрое действие"
 L["Use quick access (on right click) for this button."] = "Функция для быстрого действия. Вызывается нажатием ПКМ на кнопке открытия списка."
 L["Function"] = "Функция"
 L["Function called by quick access."] = "Функция для вызова быстрым действием"
+L["UI Buttons Strata"] = "Слой меню"

 --Unitframes
 L["Options for customizing unit frames. Please don't change these setting when ElvUI's testing frames for bosses and arena teams are shown. That will make them invisible until retoggling."] = "Опции для дополнительной настройки рамок юнитов. Пожалуйста, не изменяйте эти настройки в то же время, кода включен тестовый режим рамок боссов и арены в ElvUI. Это сделает их невидимыми до повторного включения."
diff --git a/ElvUI_SLE/modules/uibuttons.lua b/ElvUI_SLE/modules/uibuttons.lua
index 8467697..240fcb7 100644
--- a/ElvUI_SLE/modules/uibuttons.lua
+++ b/ElvUI_SLE/modules/uibuttons.lua
@@ -124,7 +124,7 @@ function UB:Initialize()
 		E.private.sle.uibuttons.style = E.private.sle.uiButtonStyle
 		E.private.sle.uiButtonStyle = nil
 	end
-	UB.Holder = lib:CreateFrame("SLE_UIButtons", E.db.sle.uibuttons, P.sle.uibuttons, E.private.sle.uibuttons.style, "dropdown", E.private.sle.uibuttons.strata, E.private.sle.uibuttons.level)
+	UB.Holder = lib:CreateFrame("SLE_UIButtons", E.db.sle.uibuttons, P.sle.uibuttons, E.private.sle.uibuttons.style, "dropdown", E.private.sle.uibuttons.strata, E.private.sle.uibuttons.level, E.private.sle.uibuttons.transparent)
 	local menu = UB.Holder
 	menu:Point("LEFT", E.UIParent, "LEFT", -2, 0);
 	menu:SetupMover(L["S&L UI Buttons"], "ALL,S&L,S&L MISC")
diff --git a/ElvUI_SLE/options/uibuttons_c.lua b/ElvUI_SLE/options/uibuttons_c.lua
index 0022776..1c6efa9 100644
--- a/ElvUI_SLE/options/uibuttons_c.lua
+++ b/ElvUI_SLE/options/uibuttons_c.lua
@@ -84,6 +84,17 @@ local function configTable()
 						name = L["Frame Level"],
 						min = 1, max = 250, step = 1,
 					},
+					transparent = {
+						order = 3,
+						name = L["Backdrop Template"],
+						desc = L["Change the template used for this backdrop."],
+						type = "select",
+						values = {
+							["NO"] = NONE,
+							["Default"] = DEFAULT,
+							["Transparent"] = L["Transparent"],
+						},
+					},
 				},
 			},
 			space = {