From 262f11511411710a627e793ecf4edc255f3f3a52 Mon Sep 17 00:00:00 2001 From: Tercio Jose Date: Thu, 29 Oct 2020 15:41:42 -0300 Subject: [PATCH] - Added option to select the title bar icons --- boot.lua | 6 ++- frames/window_options2_sections.lua | 64 +++++++++++++++++----------- functions/skins.lua | 2 +- images/toolbar_icons_2.blp | Bin 0 -> 12164 bytes images/toolbar_icons_2_shadow.blp | Bin 0 -> 44868 bytes 5 files changed, 45 insertions(+), 27 deletions(-) create mode 100644 images/toolbar_icons_2.blp create mode 100644 images/toolbar_icons_2_shadow.blp diff --git a/boot.lua b/boot.lua index beee6c177..beaa89fc4 100644 --- a/boot.lua +++ b/boot.lua @@ -4,8 +4,8 @@ _ = nil _detalhes = LibStub("AceAddon-3.0"):NewAddon("_detalhes", "AceTimer-3.0", "AceComm-3.0", "AceSerializer-3.0", "NickTag-1.0") - _detalhes.build_counter = 7935 - _detalhes.alpha_build_counter = 7935 --if this is higher than the regular counter, use it instead + _detalhes.build_counter = 7938 + _detalhes.alpha_build_counter = 7938 --if this is higher than the regular counter, use it instead _detalhes.game_version = "v9.0.1" _detalhes.userversion = "v9.0.1." .. _detalhes.build_counter _detalhes.realversion = 143 --core version, this is used to check API version for scripts and plugins (see alias below) @@ -28,6 +28,8 @@ do local Loc = _G.LibStub("AceLocale-3.0"):GetLocale( "Details" ) local news = { + {"v9.0.1.7938.142", "October 29th, 2020"}, + "Added option to select the icon buttons in the title bar.", {"v9.0.1.7739.142", "August 18th, 2020"}, "More development on the new plugin Cast Timeline.", "More development on Details! Scroll Damage.", diff --git a/frames/window_options2_sections.lua b/frames/window_options2_sections.lua index c67b66c0a..c59d2b768 100644 --- a/frames/window_options2_sections.lua +++ b/frames/window_options2_sections.lua @@ -1896,20 +1896,37 @@ do return fontTable end - --> attribute text font - local on_select_attribute_font = function (self, instance, fontName) - editInstanceSetting(currentInstance, "AttributeMenu", nil, nil, nil, fontName) - afterUpdate() - end - - local build_font_menu = function() - local fonts = {} - for name, fontPath in pairs (SharedMedia:HashTable ("font")) do - fonts [#fonts+1] = {value = name, label = name, icon = font_select_icon, texcoord = font_select_texcoord, onclick = on_select_attribute_font, font = fontPath, descfont = name, desc = "Our thoughts strayed constantly\nAnd without boundary\nThe ringing of the division bell had began."} - end - table.sort (fonts, function (t1, t2) return t1.label < t2.label end) - return fonts + --> attribute text font + local on_select_attribute_font = function (self, instance, fontName) + editInstanceSetting(currentInstance, "AttributeMenu", nil, nil, nil, fontName) + afterUpdate() + end + + local build_font_menu = function() + local fonts = {} + for name, fontPath in pairs (SharedMedia:HashTable ("font")) do + fonts [#fonts+1] = {value = name, label = name, icon = font_select_icon, texcoord = font_select_texcoord, onclick = on_select_attribute_font, font = fontPath, descfont = name, desc = "Our thoughts strayed constantly\nAnd without boundary\nThe ringing of the division bell had began."} end + table.sort (fonts, function (t1, t2) return t1.label < t2.label end) + return fonts + end + + --> icon set menu + local on_select_icon_set = function(self, instance, texturePath) + editInstanceSetting(currentInstance, "toolbar_icon_file", texturePath) + editInstanceSetting(currentInstance, "ChangeSkin") + afterUpdate() + end + + local buildIconStyleMenu = function() + local iconMenu = { + {value = "Interface\\AddOns\\Details\\images\\toolbar_icons", label = "Set 1", icon = "Interface\\AddOns\\Details\\images\\toolbar_icons", texcoord = {0, 0.125, 0, 1}, onclick = on_select_icon_set}, + {value = "Interface\\AddOns\\Details\\images\\toolbar_icons_shadow", label = "Set 2", icon = "Interface\\AddOns\\Details\\images\\toolbar_icons_shadow", texcoord = {0, 0.125, 0, 1}, onclick = on_select_icon_set}, + {value = "Interface\\AddOns\\Details\\images\\toolbar_icons_2", label = "Set 3", icon = "Interface\\AddOns\\Details\\images\\toolbar_icons_2", texcoord = {0, 0.125, 0, 1}, onclick = on_select_icon_set}, + {value = "Interface\\AddOns\\Details\\images\\toolbar_icons_2_shadow", label = "Set 4", icon = "Interface\\AddOns\\Details\\images\\toolbar_icons_2_shadow", texcoord = {0, 0.125, 0, 1}, onclick = on_select_icon_set}, + } + return iconMenu + end local buttonWidth = 25 @@ -2008,6 +2025,16 @@ do icontexcoords = {160/256, 192/256, 0, 1}, }, + {--icon set icon style + type = "select", + get = function() return currentInstance.toolbar_icon_file end, + values = function() + return buildIconStyleMenu() + end, + name = "Icon Set", + desc = "Icon Set", + }, + {--title bar icons size type = "range", get = function() return currentInstance.menu_icons_size end, @@ -2065,17 +2092,6 @@ do desc = Loc ["STRING_OPTIONS_MENU_X_DESC"], }, - {--icon shadows - type = "toggle", - get = function() return currentInstance.menu_icons.shadow end, - set = function (self, fixedparam, value) - editInstanceSetting(currentInstance, "ToolbarMenuSetButtonsOptions", nil, value) - afterUpdate() - end, - name = Loc ["STRING_OPTIONS_MENUS_SHADOW"], - desc = Loc ["STRING_OPTIONS_MENUS_SHADOW_DESC"], - }, - {--icons desaturated type = "toggle", get = function() return currentInstance.desaturated_menu end, diff --git a/functions/skins.lua b/functions/skins.lua index 3b2e6317c..f88ce94df 100644 --- a/functions/skins.lua +++ b/functions/skins.lua @@ -1793,7 +1793,7 @@ local _ 1, -- [3] 1, -- [4] }, - ["toolbar_icon_file"] = "Interface\\AddOns\\Details\\images\\toolbar_icons", + ["toolbar_icon_file"] = "Interface\\AddOns\\Details\\images\\toolbar_icons_2", ["bars_sort_direction"] = 1, ["fontstrings_width"] = 35, ["tooltip"] = { diff --git a/images/toolbar_icons_2.blp b/images/toolbar_icons_2.blp new file mode 100644 index 0000000000000000000000000000000000000000..9516e57e60f07c0d02b4919e1ef12b85ef9608b4 GIT binary patch literal 12164 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 literal 0 HcmV?d00001 diff --git a/images/toolbar_icons_2_shadow.blp b/images/toolbar_icons_2_shadow.blp new file mode 100644 index 0000000000000000000000000000000000000000..1d09785977562170ed4872aee8c09e1282f27f17 GIT binary patch literal 44868 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 wYm?$(IQ$ZDd$R1a(|