2012-01-01 04:01:18 +01:00
local GetTime = QuestHelper_GetTime
2010-11-08 14:28:59 +01:00
QuestHelper_File [ " config.lua " ] = " 4.0.1.$svnversion$ "
2010-10-24 23:17:33 +02:00
QuestHelper_Loadtime [ " config.lua " ] = GetTime ( )
-- This is pretty much ganked wholesale from lightsfuryuther's QuestHelperConfig UI mod, then tweaked heavily because I'm kind of an obsessive asshole when it comes to make things work.
-- It's provided under a somewhat mangled version of the MIT license, which I will reproduce verbatim:
--[[
The MIT License
2011-02-05 14:59:20 +01:00
Copyright ( c ) 2010 Robert Beam
2010-10-24 23:17:33 +02:00
2011-02-05 14:59:20 +01:00
Permission is hereby granted , free of charge , to any person obtaining a copy
of this software and associated documentation files ( the " Software " ) , to deal
in the Software without restriction , including without limitation the rights
to use , copy , modify , merge , publish , distribute , sublicense , and / or sell
2010-10-24 23:17:33 +02:00
copies of the Software , and to permit persons to whom the Software is
furnished to do so , subject to the following conditions :
2011-02-05 14:59:20 +01:00
The above copyright notice and this permission notice shall be included in
2010-10-24 23:17:33 +02:00
all copies or substantial portions of the Software .
2011-02-05 14:59:20 +01:00
THE SOFTWARE IS PROVIDED " AS IS " , WITHOUT WARRANTY OF ANY KIND , EXPRESS OR
2010-10-24 23:17:33 +02:00
IMPLIED , INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY ,
2011-02-05 14:59:20 +01:00
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT . IN NO EVENT SHALL THE
2010-10-24 23:17:33 +02:00
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM , DAMAGES OR OTHER
2011-02-05 14:59:20 +01:00
LIABILITY , WHETHER IN AN ACTION OF CONTRACT , TORT OR OTHERWISE , ARISING FROM ,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
2010-10-24 23:17:33 +02:00
THE SOFTWARE .
] ]
local addonTable = { } -- we are not doing a common table we're just jamming shit in here basically
local QH = QuestHelper ;
QH.have_custom_config = true ; -- enable a custom config page
local QHConfig = { } ; -- create "global" addon table
local addon = QHConfig ;
local ldb = LibStub ( " LibDataBroker-1.1 " ) ;
2012-10-02 00:36:13 +02:00
--[[
2010-10-24 23:17:33 +02:00
QH_Event ( " ADDON_LOADED " , function ( addonid )
if addonid ~= " QuestHelper " then
return ;
end
addon : OnInit ( ) ; -- initialize the config window and LDB entry
end ) ;
2012-10-02 00:36:13 +02:00
] ]
2010-10-24 23:17:33 +02:00
function addon : OnInit ( )
2012-01-01 03:22:56 +01:00
addonTable.Profile_OnInit_Start = GetTime ( ) ;
2010-10-24 23:17:33 +02:00
self : GenerateQHLocales ( ) ;
self.Locale : SetCurrentLocale ( GetLocale ( ) ) ;
self.Version = GetAddOnMetadata ( " QuestHelper " , " Version " ) ;
self : GenerateOptions ( ) ;
self : SetupLDB ( ) ;
self : SetupGUI ( ) ;
2012-01-01 03:22:56 +01:00
addonTable.Profile_OnInit_Stop = GetTime ( ) ;
2010-10-24 23:17:33 +02:00
end
function addon : SetupGUI ( )
LibStub ( " AceConfigRegistry-3.0 " ) : RegisterOptionsTable ( " QuestHelper " , addon.Options ) ;
local lib = LibStub ( " AceConfigDialog-3.0 " ) ;
addon.OptionsFrames = { } ;
if addon.Options . args.Error then -- version < targetVersion
addon.OptionsFrames . Global = lib : AddToBlizOptions ( " QuestHelper " , " QuestHelper " , nil , " Error " ) ;
return ;
end
addon.OptionsFrames . Global = lib : AddToBlizOptions ( " QuestHelper " , " QuestHelper " , nil , " Global " ) ;
addon.OptionsFrames . Route = lib : AddToBlizOptions ( " QuestHelper " , " Route " , " QuestHelper " , " RouteOptions " ) ;
addon.OptionsFrames . Interface = lib : AddToBlizOptions ( " QuestHelper " , " Interface " , " QuestHelper " , " InterfaceOptions " ) ;
addon.OptionsFrames . Plugins = lib : AddToBlizOptions ( " QuestHelper " , " Plugins " , " QuestHelper " , " Plugins " ) ;
end
function addon : SetupLDB ( )
self.dataObject = {
type = " launcher " ,
icon = " Interface \\ QuestFrame \\ UI-QuestLog-BookIcon " ,
label = " QuestHelper " ,
tocname = " QuestHelper " ,
OnClick = function ( self , button )
if QuestHelper_Pref [ ' hide ' ] then
QuestHelper : ToggleHide ( ) ;
return
end
if button == " LeftButton " then
if IsShiftKeyDown ( ) then
QH_Incomplete ( ) ;
else
QuestHelper : ToggleHide ( ) ;
end
else
addon : ShowGUI ( ) ;
end
end ,
OnTooltipShow = function ( tooltip )
local theme = QuestHelper : GetColourTheme ( ) ;
local L = addon.Locale
tooltip : AddLine ( " QuestHelper v " .. ( GetAddOnMetadata ( " QuestHelper " , " Version " ) ) .. " , Config v " .. addon.Version , unpack ( theme.tooltip ) ) ;
tooltip : AddLine ( QHFormat ( " QH_BUTTON_TOOLTIP1 " , QHText ( QuestHelper_Pref.hide and " QH_BUTTON_SHOW " or " QH_BUTTON_HIDE " ) ) , unpack ( theme.tooltip ) ) ;
if not QuestHelper_Pref.hide then
tooltip : AddLine ( L [ " TooltipOpenConfig " ] , unpack ( theme.tooltip ) ) ;
tooltip : AddLine ( L [ " IncompleteToggleTooltip " ] , unpack ( theme.tooltip ) ) ;
end
end ,
} ;
ldb : NewDataObject ( " QuestHelper " , self.dataObject ) ;
end
function addon : ShowGUI ( )
InterfaceOptionsFrame_OpenToCategory ( self.OptionsFrames . Plugins ) ;
InterfaceOptionsFrame_OpenToCategory ( self.OptionsFrames . Global ) ;
end
function addon : GenerateOptions ( )
local L = addon.Locale ;
addon.Options = {
type = " group " ,
name = " QuestHelper " ,
get = function ( i )
return QuestHelper_Pref [ i [ # i ] ] ;
end ,
set = function ( i , v )
QuestHelper_Pref [ i [ # i ] ] = v ;
end ,
args = {
Global = {
order = 1 ,
type = " group " ,
name = L [ " GlobalOptionsName " ] ,
desc = L [ " GlobalOptionsDesc " ] ,
disabled = function ( )
return QuestHelper_Pref [ ' hide ' ] ;
end ,
args = {
Enable = {
order = 1 ,
type = " toggle " ,
name = L [ " GlobalEnableName " ] ,
desc = L [ " GlobalEnableDesc " ] ,
disabled = false ,
get = function ( i )
return not QuestHelper_Pref [ ' hide ' ] ;
end ,
set = function ( i , v )
QuestHelper_Pref [ ' hide ' ] = not v ;
if QuestHelper.MapButton then
QuestHelper.MapButton : GetNormalTexture ( ) : SetDesaturated ( QuestHelper_Pref [ ' hide ' ] ) ;
end
2012-09-30 13:50:32 +02:00
--[[
2010-10-24 23:17:33 +02:00
if QuestHelper_Pref [ ' hide ' ] then
if QuestHelper_Pref [ ' track ' ] then
2010-11-24 03:59:53 +01:00
QuestHelper : HideTracker ( ) ;
2010-10-24 23:17:33 +02:00
end
QuestHelper.map_overlay : Hide ( ) ;
else
if QuestHelper_Pref [ ' track ' ] then
QuestHelper : ShowTracker ( ) ;
end
QuestHelper.map_overlay : Show ( ) ;
QuestHelper.minimap_marker : Show ( ) ;
end
2012-09-30 13:50:32 +02:00
] ]
2010-10-24 23:17:33 +02:00
end ,
} ,
Performance = {
type = " group " ,
order = 2 ,
name = L [ " PerfName " ] ,
desc = L [ " PerfDesc " ] ,
guiInline = true ,
args = {
Route = {
type = " range " ,
order = 1 ,
name = L [ " PerfRouteName " ] ,
desc = L [ " PerfRouteDesc " ] ,
min = 0.1 ,
max = 5 ,
step = .05 ,
isPercent = true ,
disabled = function ( )
return QuestHelper_Pref [ ' hide ' ] ;
end ,
get = function ( i )
return QuestHelper_Pref [ ' perf_scale_2 ' ] ;
end ,
set = function ( i , v )
QuestHelper_Pref [ ' perf_scale_2 ' ] = v ;
end ,
} ,
Load = {
type = " range " ,
order = 2 ,
name = L [ " PerfLoadName " ] ,
desc = L [ " PerfLoadDesc " ] ,
min = 0.1 ,
max = 5 ,
step = .05 ,
isPercent = true ,
get = function ( i )
return QuestHelper_Pref [ ' perfload_scale ' ] ;
end ,
set = function ( i , v )
QuestHelper_Pref [ ' perfload_scale ' ] = v ;
end ,
} ,
} ,
} ,
Actions = {
type = " group " ,
order = 3 ,
guiInline = true ,
name = L [ " ActionsName " ] ,
desc = L [ " ActionsDesc " ] ,
args = {
Hidden = {
type = " execute " ,
order = 1 ,
name = L [ " ActionsHiddenName " ] ,
desc = L [ " ActionsHiddenDesc " ] ,
func = function ( )
QH_Hidden_Menu ( ) ;
end ,
} ,
Incomplete = {
type = " execute " ,
order = 2 ,
name = L [ " ActionsIncompName " ] ,
desc = L [ " ActionsIncompDesc " ] ,
func = function ( )
QH_Incomplete ( ) ;
end ,
} ,
Purge = {
type = " execute " ,
order = 3 ,
name = L [ " ActionsPurgeName " ] ,
desc = L [ " ActionsPurgeDesc " ] ,
func = function ( )
if not StaticPopupDialogs [ " QHC_Purge_Dialog " ] then
StaticPopupDialogs [ " QHC_Purge_Dialog " ] = {
text = L [ " ActionsPurgeDialogText " ] ,
button1 = L [ " ActionsDialogPurge " ] ,
button2 = L [ " ActionsDialogCancel " ] ,
OnAccept = function ( )
QuestHelper : Purge ( nil , true ) ; -- force a purge
end ,
hideOnEscape = 1 ,
timeout = - 1 ,
} ;
end
StaticPopup_Show ( " QHC_Purge_Dialog " ) ;
end ,
} ,
HardReset = {
type = " execute " ,
order = 4 ,
name = L [ " ActionsResetName " ] ,
desc = L [ " ActionsResetDesc " ] ,
func = function ( )
if not StaticPopupDialogs [ " QHC_Reset_Dialog " ] then
StaticPopupDialogs [ " QHC_Reset_Dialog " ] = {
text = L [ " ActionsResetDialogText " ] ,
button1 = L [ " ActionsDialogReset " ] ,
button2 = L [ " ActionsDialogCancel " ] ,
OnAccept = function ( )
QuestHelper.purge_code = ' asdf ' ; -- hack a 'force' parameter
QuestHelper : HardReset ( ' asdf ' ) ;
end ,
hideOnEscape = 1 ,
timeout = - 1 ,
} ;
end
StaticPopup_Show ( " QHC_Reset_Dialog " ) ;
end ,
} ,
Submit = {
type = " execute " ,
order = 6 ,
name = L [ " ActionsSubmitName " ] ,
desc = L [ " ActionsSubmitDesc " ] ,
func = function ( )
QuestHelper : Submit ( ) ;
end ,
} ,
2011-02-05 14:59:20 +01:00
-- Changes = {
-- type = "execute",
-- order = 6,
-- name = L["ActionsChangesName"],
-- desc = L["ActionsChangesDesc"],
-- func = function()
-- QuestHelper:ChangeLog();
-- end,
-- },
2010-10-24 23:17:33 +02:00
} ,
} ,
AdditionalInfo = {
type = " group " ,
order = 4 ,
guiInline = true ,
name = L [ " AdditionalInfoName " ] ,
desc = L [ " AdditionalInfoDesc " ] ,
args = {
Tooltip = {
type = " toggle " ,
order = 1 ,
name = L [ " InfoTooltipName " ] ,
desc = L [ " InfoTooltipDesc " ] ,
get = function ( i )
return QuestHelper_Pref [ ' tooltip ' ] ;
end ,
set = function ( i , v )
QuestHelper_Pref [ ' tooltip ' ] = v ;
end ,
} ,
Metric = {
type = " select " ,
order = 5 ,
name = L [ " InfoMetricName " ] ,
desc = L [ " InfoMetricDesc " ] ,
values = {
yards = " Yards " ,
meters = " Meters " ,
} ,
get = function ( i )
local v = QuestHelper_Pref [ ' metric ' ] ;
if v then
return " meters " ;
else
return " yards " ;
end
end ,
set = function ( i , v )
QuestHelper_Pref [ ' metric ' ] = ( v == ' meters ' and true ) or false ;
end ,
} ,
FlightTime = {
type = " toggle " ,
order = 2 ,
name = L [ " InfoFlightName " ] ,
desc = L [ " InfoFlightDesc " ] ,
get = function ( i )
return QuestHelper_Pref [ ' flight_time ' ] ;
end ,
set = function ( i , v )
QuestHelper_Pref [ ' flight_time ' ] = v ;
end ,
} ,
TravelTime = {
type = " toggle " ,
order = 3 ,
name = L [ " InfoTravelName " ] ,
desc = L [ " InfoTravelDesc " ] ,
get = function ( i )
return QuestHelper_Pref [ ' travel_time ' ] ;
end ,
set = function ( i , v )
QuestHelper_Pref [ ' travel_time ' ] = v ;
end ,
} ,
MapButton = {
type = " toggle " ,
order = 4 ,
name = L [ " MapButtonName " ] ,
desc = L [ " MapButtonDesc " ] ,
get = function ( i )
return QuestHelper_Pref [ ' map_button ' ] ;
end ,
set = function ( i , v )
QuestHelper_Pref [ ' map_button ' ] = v ;
if QuestHelper_Pref [ ' map_button ' ] then
QuestHelper : InitMapButton ( ) ;
else
QuestHelper : HideMapButton ( ) ;
end
end ,
} ,
MiniOpacity = {
type = " range " ,
order = 6 ,
name = L [ " InfoMiniName " ] ,
desc = L [ " InfoMiniDesc " ] ,
min = 0 ,
max = 1 ,
step = 0.1 ,
isPercent = true ,
get = function ( i )
return QuestHelper_Pref [ ' mini_opacity ' ] ;
end ,
set = function ( i , v )
QuestHelper_Pref [ ' mini_opacity ' ] = v ;
end ,
} ,
} ,
} ,
} ,
} ,
InterfaceOptions = {
type = " group " ,
order = 3 ,
name = L [ " InterfaceOptionsName " ] ,
desc = L [ " InterfaceOptionsDesc " ] ,
disabled = function ( )
return QuestHelper_Pref [ ' hide ' ] ;
end ,
args = {
intro = {
type = " description " ,
order = 0 ,
name = L [ " InterfaceIntro " ]
} ,
ArrowOptions = {
order = 1 ,
type = " group " ,
guiInline = true ,
name = L [ " ArrowOptionsName " ] ,
desc = L [ " ArrowOptionsDesc " ] ,
args = {
Enable = {
type = " toggle " ,
order = 1 ,
name = L [ " ArrowEnableName " ] ,
desc = L [ " ArrowEnableDesc " ] ,
get = function ( i )
return QuestHelper_Pref [ ' arrow ' ] ;
end ,
set = function ( i , v )
QuestHelper_Pref [ ' arrow ' ] = v ;
end ,
} ,
Locked = {
type = " toggle " ,
order = 2 ,
name = L [ " ArrowLockedName " ] ,
desc = L [ " ArrowLockedDesc " ] ,
disabled = function ( )
return not QuestHelper_Pref [ ' arrow ' ] or QuestHelper_Pref [ ' hide ' ] ;
end ,
get = function ( i )
return QuestHelper_Pref [ ' arrow_locked ' ] ;
end ,
set = function ( i , v )
QuestHelper_Pref [ ' arrow_locked ' ] = v ;
end ,
} ,
Scale = {
type = " range " ,
order = 3 ,
name = L [ " ArrowScaleName " ] ,
desc = L [ " ArrowScaleDesc " ] ,
min = 0.5 ,
max = 1.5 ,
step = 0.1 ,
isPercent = true ,
disabled = function ( )
return not QuestHelper_Pref [ ' arrow ' ] or QuestHelper_Pref [ ' hide ' ] ;
end ,
get = function ( i )
return ( QuestHelper_Pref [ ' arrow_scale ' ] == nil ) and 1 or QuestHelper_Pref [ ' arrow_scale ' ] ; -- arrow_scale == nil ? 1 : arrow_scale
end ,
set = function ( i , v )
QH_Arrow_SetScale ( v ) ;
end ,
} ,
TextSize = {
type = " range " ,
order = 4 ,
name = L [ " ArrowTextSizeName " ] ,
desc = L [ " ArrowTextSizeDesc " ] ,
min = 0.5 ,
max = 1.5 ,
step = 0.1 ,
isPercent = true ,
disabled = function ( )
return not QuestHelper_Pref [ ' arrow ' ] or QuestHelper_Pref [ ' hide ' ] ;
end ,
get = function ( i )
return ( QuestHelper_Pref [ ' arrow_textsize ' ] == nil ) and 1 or QuestHelper_Pref [ ' arrow_textsize ' ] ;
end ,
set = function ( i , v )
QH_Arrow_SetTextScale ( v ) ;
end ,
} ,
Reset = {
type = " execute " ,
order = 5 ,
name = L [ " ArrowResetName " ] ,
desc = L [ " ArrowResetDesc " ] ,
disabled = function ( )
return not QuestHelper_Pref [ ' arrow ' ] or QuestHelper_Pref [ ' hide ' ] ;
end ,
func = function ( )
QH_Arrow_Reset ( ) ;
end ,
} ,
} ,
} ,
TrackerOptions = {
order = 2 ,
type = " group " ,
guiInline = true ,
name = L [ " TrackerOptionsName " ] ,
desc = L [ " TrackerOptionsDesc " ] ,
args = {
Enable = {
order = 1 ,
type = " toggle " ,
name = L [ " TrackerEnableName " ] ,
desc = L [ " TrackerEnableDesc " ] ,
get = function ( i )
return QuestHelper_Pref [ ' track ' ] ;
end ,
set = function ( i , v )
QuestHelper_Pref [ ' track ' ] = v ;
if QuestHelper_Pref [ ' track ' ] then
QuestHelper : ShowTracker ( ) ;
else
QuestHelper : HideTracker ( ) ;
end
end ,
} ,
Minimized = {
order = 2 ,
type = " toggle " ,
name = L [ " TrackerMinimizeName " ] ,
desc = L [ " TrackerMinimizeDesc " ] ,
disabled = function ( )
return not QuestHelper_Pref [ ' track ' ] or QuestHelper_Pref [ ' hide ' ] ;
end ,
get = function ( i )
return QuestHelper_Pref [ ' track_minimized ' ] ;
end ,
set = function ( i , v )
QuestHelper_Pref [ ' track_minimized ' ] = v ;
if QuestHelper_Pref [ ' track_minimized ' ] then
QuestHelperQuestWatchFrameMinimizeButton : GetScript ( " OnLeave " ) ( ) ;
QuestHelper.tracker : Hide ( ) ;
else
QuestHelperQuestWatchFrameMinimizeButton : GetScript ( " OnLeave " ) ( ) ;
QuestHelper.tracker : Show ( ) ;
end
end ,
} ,
Scale = {
type = " range " ,
order = 3 ,
name = L [ " TrackScaleName " ] ,
desc = L [ " TrackScaleDesc " ] ,
min = 0.5 ,
max = 2 ,
step = 0.1 ,
isPercent = true ,
disabled = function ( )
return not QuestHelper_Pref [ ' track ' ] or QuestHelper_Pref [ ' hide ' ] ;
end ,
get = function ( i )
return QuestHelper_Pref [ ' track_scale ' ] ; -- default to 1 if arrow_scale is nil
end ,
set = function ( i , v )
QuestHelper_Pref [ ' track_scale ' ] = v ;
QuestHelper.tracker : SetScale ( QuestHelper_Pref.track_scale )
end ,
} ,
Lines = {
type = " range " ,
order = 4 ,
name = L [ " TrackLinesName " ] ,
desc = L [ " TrackLinesDesc " ] ,
min = 2 ,
max = 20 ,
step = 1 ,
disabled = function ( )
return not QuestHelper_Pref [ ' track ' ] or QuestHelper_Pref [ ' hide ' ] ;
end ,
get = function ( i )
return QuestHelper_Pref [ ' track_size ' ] ;
end ,
set = function ( i , v )
QuestHelper_Pref [ ' track_size ' ] = v ;
QH_Tracker_Rescan ( ) ;
end ,
} ,
Level = {
order = 5 ,
type = " toggle " ,
name = L [ " TrackerLevelName " ] ,
desc = L [ " TrackerLevelDesc " ] ,
width = " double " ,
disabled = function ( )
return not QuestHelper_Pref [ ' track ' ] or QuestHelper_Pref [ ' hide ' ] ;
end ,
get = function ( i )
return QuestHelper_Pref [ ' track_level ' ] ;
end ,
set = function ( i , v )
QuestHelper_Pref [ ' track_level ' ] = v ;
QH_UpdateQuests ( true )
QH_Tracker_Rescan ( )
end ,
} ,
QuestColor = {
order = 6 ,
type = " toggle " ,
name = L [ " TrackerQColorName " ] ,
desc = L [ " TrackerQColorDesc " ] ,
width = " double " ,
disabled = function ( )
return not QuestHelper_Pref [ ' track ' ] ;
end ,
get = function ( i )
return QuestHelper_Pref [ ' track_qcolour ' ] ;
end ,
set = function ( i , v )
QuestHelper_Pref [ ' track_qcolour ' ] = v ;
QH_UpdateQuests ( true )
QH_Tracker_Rescan ( )
end ,
} ,
ObjColor = {
order = 7 ,
type = " toggle " ,
name = L [ " TrackerOColorName " ] ,
desc = L [ " TrackerOColorDesc " ] ,
width = " double " ,
disabled = function ( )
return not QuestHelper_Pref [ ' track ' ] or QuestHelper_Pref [ ' hide ' ] ;
end ,
get = function ( i )
return QuestHelper_Pref [ ' track_ocolour ' ] ;
end ,
set = function ( i , v )
QuestHelper_Pref [ ' track_ocolour ' ] = v ;
QH_UpdateQuests ( true )
QH_Tracker_Rescan ( )
end ,
} ,
} ,
} ,
MapOptions = {
type = " group " ,
order = 3 ,
guiInline = true ,
name = L [ " MapOptionsName " ] ,
desc = L [ " MapOptionsDesc " ] ,
args = {
BlizzMap = {
type = " toggle " ,
order = 1 ,
name = L [ " MapBlizzMapName " ] ,
desc = L [ " MapBlizzMapDesc " ] ,
hidden = function ( )
return not UpdateQuestMapPOI ; -- likely removed for WoW
end ,
get = function ( i )
return QuestHelper_Pref [ ' blizzmap ' ] ;
end ,
set = function ( i , v )
QuestHelper_Pref [ ' blizzmap ' ] = v ;
end ,
} ,
Ants = {
type = " toggle " ,
order = 2 ,
name = L [ " MapAntsName " ] ,
desc = L [ " MapAntsDesc " ] ,
get = function ( i )
return QuestHelper_Pref [ ' show_ants ' ] ;
end ,
set = function ( i , v )
QuestHelper_Pref [ ' show_ants ' ] = v ;
end ,
} ,
Zones = {
type = " toggle " ,
order = 3 ,
name = L [ " MapZonesName " ] ,
desc = L [ " MapZonesDesc " ] ,
get = function ( i )
return QuestHelper_Pref [ ' zones ' ] == ' next ' ;
end ,
set = function ( i )
QuestHelper_Pref [ ' zones ' ] = ( v and ' next ' ) or ' none ' ;
end ,
} ,
Scale = {
type = " range " ,
order = 4 ,
min = 0.1 ,
max = 1.5 ,
step = .05 ,
isPercent = true ,
name = L [ " MapScaleName " ] ,
desc = L [ " MapScaleDesc " ] ,
get = function ( i )
return QuestHelper_Pref [ ' scale ' ] ;
end ,
set = function ( i , v )
QuestHelper_Pref [ ' scale ' ] = v ;
end ,
} ,
} ,
} ,
} ,
} ,
RouteOptions = {
type = " group " ,
order = 2 ,
name = L [ " RouteOptionsName " ] ,
desc = L [ " RouteOptionsDesc " ] ,
disabled = function ( )
return QuestHelper_Pref [ ' hide ' ] ;
end ,
args = {
intro = {
type = " description " ,
order = 0 ,
name = L [ " RouteIntro " ] ,
} ,
Solo = {
type = " toggle " ,
order = 1 ,
name = L [ " RouteSoloName " ] ,
desc = L [ " RouteSoloDesc " ] ,
get = function ( i )
return QuestHelper_Pref [ ' solo ' ] ;
end ,
set = function ( i , v )
QuestHelper_Pref [ ' solo ' ] = v ;
if QuestHelper_Pref [ ' solo ' ] and QuestHelper_Pref [ ' share ' ] then
QuestHelper : SetShare ( false ) ;
elseif QuestHelper_Pref [ ' share ' ] then
QuestHelper : SetShare ( true ) ;
end
end ,
} ,
Share = {
type = " toggle " ,
order = 2 ,
name = L [ " RouteShareName " ] ,
desc = L [ " RouteShareDesc " ] ,
disabled = function ( )
return QuestHelper_Pref [ ' solo ' ] or QuestHelper_Pref [ ' hide ' ] ;
end ,
get = function ( i )
return QuestHelper_Pref [ ' share ' ] ;
end ,
set = function ( i , v )
QuestHelper_Pref [ ' share ' ] = v ;
if QuestHelper_Pref [ ' share ' ] and not QuestHelper_Pref [ ' solo ' ] then
QuestHelper : SetShare ( true ) ;
elseif QuestHelper_Pref [ ' solo ' ] then
2011-02-05 14:59:20 +01:00
QuestHelper : SetShare ( false ) ;
2010-10-24 23:17:33 +02:00
end
end ,
} ,
ObjectiveFitlers = {
type = " group " ,
order = 3 ,
guiInline = true ,
name = L [ " RouteFiltersName " ] ,
desc = L [ " RouteFiltersDesc " ] ,
args = {
Level = {
type = " toggle " ,
order = 1 ,
name = L [ " FilterLevelName " ] ,
desc = L [ " FilterLevelDesc " ] ,
get = function ( i )
return QuestHelper_Pref [ ' filter_level ' ] ;
end ,
set = function ( i , v )
QuestHelper_Pref [ ' filter_level ' ] = v ;
QH_Route_Filter_Rescan ( " filter_quest_level " ) ;
end ,
} ,
LevelOffset = {
type = " range " ,
order = 2 ,
name = L [ " FilterLevelOffsetName " ] ,
desc = L [ " FilterLevelOffsetDesc " ] ,
min = - 2 ,
max = 5 ,
step = 1 ,
get = function ( i )
return QuestHelper_Pref [ ' level ' ] ;
end ,
set = function ( i , v )
QuestHelper_Pref [ ' level ' ] = v ;
QH_Route_Filter_Rescan ( " filter_quest_level " ) ;
end ,
disabled = function ( )
return not QuestHelper_Pref [ ' filter_level ' ] or QuestHelper_Pref [ ' hide ' ] ;
end ,
} ,
Group = {
type = " toggle " ,
order = 3 ,
name = L [ " FilterGroupName " ] ,
desc = L [ " FilterGroupDesc " ] ,
get = function ( i )
return QuestHelper_Pref [ ' filter_group ' ] ;
end ,
set = function ( i , v )
QuestHelper_Pref [ ' filter_group ' ] = v ;
QH_Route_Filter_Rescan ( " filter_quest_group " ) ;
end ,
} ,
GroupSize = {
type = " range " ,
order = 4 ,
name = L [ " FilterGroupSizeName " ] ,
desc = L [ " FilterGroupSizeDesc " ] ,
min = 2 ,
max = 5 ,
step = 1 ,
get = function ( i )
return QuestHelper_Pref [ ' filter_group_param ' ] ;
end ,
set = function ( i , v )
QuestHelper_Pref [ ' filter_group_param ' ] = v ;
QH_Route_Filter_Rescan ( " filter_quest_level " ) ;
end ,
disabled = function ( )
return not QuestHelper_Pref [ ' filter_group ' ] or QuestHelper_Pref [ ' hide ' ] ;
end ,
} ,
Zone = {
type = " toggle " ,
order = 5 ,
name = L [ " FilterZoneName " ] ,
desc = L [ " FilterZoneDesc " ] ,
width = " double " ,
get = function ( i )
return QuestHelper_Pref [ ' filter_zone ' ] ;
end ,
set = function ( i , v )
QuestHelper_Pref [ ' filter_zone ' ] = v ;
QH_Route_Filter_Rescan ( " filter_zone " ) ;
end ,
} ,
Done = {
type = " toggle " ,
order = 6 ,
name = L [ " FilterDoneName " ] ,
desc = L [ " FilterDoneDesc " ] ,
width = " double " ,
get = function ( i )
return QuestHelper_Pref [ ' filter_done ' ] ;
end ,
set = function ( i , v )
QuestHelper_Pref [ ' filter_done ' ] = v ;
QH_Route_Filter_Rescan ( " filter_quest_done " ) ;
end ,
} ,
Blocked = {
type = " toggle " ,
order = 7 ,
name = L [ " FilterBlockedName " ] ,
desc = L [ " FilterBlockedDesc " ] ,
width = " double " ,
get = function ( i )
return QuestHelper_Pref [ ' filter_blocked ' ] ;
end ,
set = function ( i , v )
QuestHelper_Pref [ ' filter_blocked ' ] = v ;
QH_Route_Filter_Rescan ( " filter_blocked " ) ;
end ,
} ,
Watched = {
type = " toggle " ,
order = 8 ,
name = L [ " FilterWatchedName " ] ,
desc = L [ " FilterWatchedDesc " ] ,
width = " double " ,
get = function ( i )
return QuestHelper_Pref [ ' filter_watched ' ] ;
end ,
set = function ( i , v )
QuestHelper_Pref [ ' filter_watched ' ] = v ;
QH_Route_Filter_Rescan ( " filter_quest_watched " ) ;
end ,
} ,
Wintergrasp = {
type = " toggle " ,
order = 9 ,
name = L [ " FilterWGName " ] ,
desc = L [ " FilterWGDesc " ] ,
width = " double " ,
get = function ( i )
return QuestHelper_Pref [ ' filter_wintergrasp ' ] ;
end ,
set = function ( i , v )
QuestHelper_Pref [ ' filter_wintergrasp ' ] = v ;
QH_Route_Filter_Rescan ( " filter_quest_wintergrasp " ) ;
end ,
} ,
Raid = {
type = " toggle " ,
order = 10 ,
name = L [ " FilterRaidName " ] ,
desc = L [ " FilterRaidDesc " ] ,
width = " double " ,
get = function ( i )
return QuestHelper_Pref [ ' filter_raid_accessible ' ] ;
end ,
set = function ( i , v )
QuestHelper_Pref [ ' filter_raid_accessible ' ] = v ;
QH_Route_Filter_Rescan ( " filter_quest_raid_accessible " ) ;
end ,
} ,
} ,
} ,
} ,
} ,
Plugins = {
order = 3 ,
type = " group " ,
name = L [ " PluginOptionsName " ] ,
desc = L [ " PluginOptionsDesc " ] ,
disabled = function ( )
return QuestHelper_Pref [ ' hide ' ] ;
end ,
args = {
intro = {
order = 1 ,
type = " description " ,
name = L [ " PluginIntro " ] ,
} ,
TomTom = {
2011-02-05 14:59:20 +01:00
order = 2 ,
2010-10-24 23:17:33 +02:00
type = " group " ,
guiInline = true ,
name = L [ " PluginTomTomName " ] ,
desc = L [ " PluginTomTomDesc " ] ,
disabled = function ( )
return not TomTom or QuestHelper_Pref [ ' hide ' ] ;
end ,
args = {
Arrow = {
order = 1 ,
type = " toggle " ,
name = L [ " TomTomArrowName " ] ,
desc = L [ " TomTomArrowDesc " ] ,
get = function ( i )
return QuestHelper_Pref [ ' tomtom_wp_new ' ] ;
end ,
set = function ( i , v )
QuestHelper_Pref [ ' tomtom_wp_new ' ] = v ;
if QuestHelper_Pref [ ' tomtom_wp_new ' ] then
QuestHelper : EnableTomTom ( ) ;
else
QuestHelper : DisableTomTom ( ) ;
end
end ,
} ,
} ,
} ,
} ,
} ,
} ,
} ;
end
function addon : GenerateQHLocales ( )
local l = { } ;
for loc , tbl in pairs ( QuestHelper_Translations ) do
if tbl.LOCALE_NAME and tbl.LOCALE_NAME ~= ' ??? ' then
l [ loc ] = tbl.LOCALE_NAME ;
end
end
addon.QHLocales = l ;
end
if not addon then
error ( " QuestHelperConfig did not load properly. " ) ;
end
local locale = {
Data = { } ,
CurLocale = " enUS " ,
} ;
function locale : SetCurrentLocale ( loc )
if not loc then -- reset locale
loc = GetLocale ( ) ; -- default to client locale
end
if self.Data [ loc ] then -- only change if data is available
self.CurLocale = loc ;
end
end
--[[
loc : locale to register data for
data : key - value pairs to register
force : clear existing data before adding new data
--]]
function locale : RegisterData ( loc , data , force )
local d = self.Data [ loc ] ;
if force and d then
self : ClearTable ( d ) ;
end
if not d then
self.Data [ loc ] = { } ;
d = self.Data [ loc ] ;
end
for k , v in pairs ( data ) do -- add the new data
d [ k ] = v ;
end
end
local function locale__index ( t , k )
local d , l = t.Data , t.CurLocale ;
if d [ l ] and d [ l ] [ k ] then
return d [ l ] [ k ] ;
elseif d [ " enUS " ] and d [ " enUS " ] [ k ] then
return d [ " enUS " ] [ k ] ;
else
return k ;
end
end
local function locale__newindex ( t , k , v )
local d , l = t.Data , t.CurLocale ;
if d [ l ] then
d [ l ] [ k ] = v ;
else
d [ l ] = { } ;
d [ l ] [ k ] = v ;
end
return v ;
end
setmetatable ( locale , {
__index = locale__index ,
__newindex = locale__newindex ,
} ) ;
addon.Locale = locale ;
-- this is pretty dang grim isn't it
if not QHConfig or not QHConfig.Locale then
return ; -- if we made it this far, one or more errors are already shown
-- error("QuestHelperConfig did not load properly.");
end
local l = QHConfig.Locale ;
l : RegisterData ( " enUS " , {
[ " GlobalOptionsName " ] = " Interface options " ,
[ " GlobalOptionsDesc " ] = " Configure QuestHelper interface options " ,
[ " FilterBlockedName " ] = " Blocked Objectives " ,
[ " FilterBlockedDesc " ] = " Hide objectives that rely on incomplete objectives, such as quest turn-ins for incomplete quests " ,
[ " FilterDoneName " ] = " Complete Objectives " ,
[ " FilterDoneDesc " ] = " Only show objectives for complete quests " ,
[ " FilterLevelName " ] = " Quest level " ,
[ " FilterLevelDesc " ] = " Filter quests that are higher level than you " ,
[ " FilterGroupName " ] = " Group Quests " ,
[ " FilterGroupDesc " ] = " Filters objectives that require groups " ,
[ " FilterWatchedName " ] = " Watched quests " ,
[ " FilterWatchedDesc " ] = " Only show quests tracked in the Quest Log " ,
[ " FilterZoneName " ] = " Zone filter " ,
[ " FilterZoneDesc " ] = " Filter objectives outside the current zone " ,
[ " TooltipOpenConfig " ] = " Right click: Open configuration window " ,
[ " GlobalEnableName " ] = " Enable QuestHelper " ,
[ " GlobalEnableDesc " ] = " Enable/Disable QuestHelper " ,
[ " PerfName " ] = " Performance Options " ,
[ " PerfDesc " ] = " " ,
[ " PerfRouteName " ] = " Routing Performance " ,
[ " PerfRouteDesc " ] = " Percentage of default resources to use for calculating the route " ,
[ " PerfLoadName " ] = " Loading Performance " ,
[ " PerfLoadDesc " ] = " Percentage of default resources to use when loading quest and achievement data " ,
[ " ArrowOptionsName " ] = " Waypoint Arrow Options " ,
[ " ArrowOptionsDesc " ] = " " ,
[ " ArrowEnableName " ] = " Enable " ,
[ " ArrowEnableDesc " ] = " Show/Hide the waypoint arrow " ,
[ " ArrowLockedName " ] = " Lock " ,
[ " ArrowLockedDesc " ] = " Lock the waypoint arrow in place " ,
[ " ArrowScaleName " ] = " Size " ,
[ " ArrowScaleDesc " ] = " Size of the waypoint arrow (100% is normal size) " ,
[ " ArrowTextSizeName " ] = " Text Size " ,
[ " ArrowTextSizeDesc " ] = " Size of waypoint arrow text (100% is normal size) " ,
[ " TrackerOptionsName " ] = " Quest Tracker Options " ,
[ " TrackerOptionsDesc " ] = " " ,
[ " TrackerEnableName " ] = " Enable " ,
[ " TrackerEnableDesc " ] = " Show/Hide the QuestHelper quest tracker " ,
[ " TrackerMinimizeName " ] = " Minimize " ,
[ " TrackerMinimizeDesc " ] = " Minimize the QuestHelper quest tracker " ,
[ " TrackScaleName " ] = " Quest Tracker Size " ,
[ " TrackScaleDesc " ] = " Size of the quest tracker (100% is normal size) " ,
[ " TrackerLevelName " ] = " Quest Level " ,
[ " TrackerLevelDesc " ] = " Show/Hide quest level in the tracker " ,
[ " TrackerQColorName " ] = " Quest Color " ,
[ " TrackerQColorDesc " ] = " Color quest names in the tracker based on level " ,
[ " TrackerOColorName " ] = " Objective Color " ,
[ " TrackerOColorDesc " ] = " Color quest objectives based on progress " ,
[ " RouteOptionsName " ] = " Route Calculation Options " ,
[ " RouteOptionsDesc " ] = " Options to control route calculation " ,
[ " RouteIntro " ] = " Options to control route calculation " ,
[ " InterfaceIntro " ] = " Options to control how QuestHelper interacts with the interface " ,
[ " RouteSoloName " ] = " Solo mode " ,
[ " RouteSoloDesc " ] = " Ignore party members and disable communications with party members. " ,
[ " RouteShareName " ] = " Objective Sharing " ,
[ " RouteShareDesc " ] = " Inform your party members of objectives you have and have not completed. " ,
[ " RouteFiltersName " ] = " Objective Filter Options " ,
[ " RouteFiltersDesc " ] = " " ,
[ " FilterGroupSizeName " ] = " Group size " ,
[ " FilterGroupSizeDesc " ] = " Threshold party size for filtering group quests " ,
[ " FilterLevelOffsetName " ] = " Level difference " ,
[ " FilterLevelOffsetDesc " ] = " Threshold level difference for filtering quests " ,
[ " FilterRaidName " ] = " Raid Accessible Quests " ,
[ " FilterRaidDesc " ] = " Hide non-raid quests while in a raid group " ,
[ " FilterWGName " ] = " Lake Wintergrasp Quests " ,
[ " FilterWGDesc " ] = " Hide PvP-quests for Lake Wintergrasp while outside Lake Wintergrasp " ,
[ " PluginOptionsName " ] = " Plugin Options " ,
[ " PluginOptionsDesc " ] = " " ,
[ " PluginIntro " ] = " Options for 3rd party addons. 3rd party addons need to be installed for these options to be available " ,
[ " PluginTomTomName " ] = " TomTom options " ,
[ " PluginTomTomDesc " ] = " " ,
[ " TomTomArrowName " ] = " Waypoint Arrow " ,
[ " TomTomArrowDesc " ] = " Use the TomTom Waypoint Arrow instead of the built-in QuestHelper arrow " ,
[ " MapOptionsName " ] = " Map Options " ,
[ " MapOptionsDesc " ] = " " ,
[ " MapAntsName " ] = " Ant Trails " ,
[ " MapAntsDesc " ] = " Show ant trails on the world map " ,
[ " MapScaleName " ] = " Map Icon Size " ,
[ " MapScaleDesc " ] = " Size of icons, ant trails, etc on the world map and minimap (100 is normal size) " ,
[ " AdditionalInfoName " ] = " Miscellaneous options " ,
[ " AdditionalInfoDesc " ] = " " ,
[ " InfoTooltipName " ] = " Tooltip info " ,
[ " InfoTooltipDesc " ] = " Show quest progress in the tooltips of monsters, items, etc " ,
[ " InfoMetricName " ] = " Distance metric " ,
[ " InfoMetricDesc " ] = " Unit of measure to use when calculating distances " ,
[ " InfoFlightName " ] = " Show flight times " ,
[ " InfoFlightDesc " ] = " Show an estimated flight time onscreen while flying " ,
[ " InfoTravelName " ] = " Show travel times " ,
[ " InfoTravelDesc " ] = " Show an estimated travel time in objective tooltips " ,
[ " MapButtonName " ] = " World map button " ,
[ " MapButtonDesc " ] = " Show the QuestHelper button on the world map " ,
[ " InfoMiniName " ] = " Minimap item transparency " ,
[ " InfoMiniDesc " ] = " Adjust the transparency of QuestHelper items on the minimap " ,
[ " MapBlizzMapName " ] = " Blizzard map points " ,
[ " MapBlizzMapDesc " ] = " Show the built-in Blizzard map points " ,
[ " MapZonesName " ] = " Map zones " ,
[ " MapZonesDesc " ] = " Highlight areas of the world map where the current objective is located " ,
[ " IncompleteToggleTooltip " ] = " Shift+Left Click: Toggle incomplete quest start locations " ,
[ " TrackLinesName " ] = " Objectives shown " ,
[ " TrackLinesDesc " ] = " Change the number of objectives shown in the tracker. Watched quests will always be shown in the tracker. " ,
[ " ErrorName " ] = " This version of QuestHelperConfig is designed for a newer version of the QuestHelper addon. Please visit Curse or WoW Interface to update your version of QuestHelper. \n Current QuestHelper version: %s. \n Target QuestHelper version: %s. " ,
[ " ArrowResetName " ] = " Reset arrow position " ,
[ " ArrowResetDesc " ] = " Unlock the waypoint arrow and bring it to the center of the screen. Use this if you can't find the arrow onscreen. " ,
[ " ActionsName " ] = " Useful commands " ,
[ " ActionsDesc " ] = " " ,
[ " ActionsHiddenName " ] = " /qh hidden " ,
[ " ActionsHiddenDesc " ] = " Display a list of hidden objectives and why those objectives are hidden. " ,
[ " ActionsIncompName " ] = " /qh incomplete " ,
[ " ActionsIncompDesc " ] = " Toggle map markers for incomplete quests. " ,
[ " ActionsPurgeName " ] = " /qh purge " ,
[ " ActionsPurgeDesc " ] = " Purge the local database of collected information. Deletes all collected data. \n Please submit your data to qhaddon@gmail.com before performing a purge. " ,
[ " ActionsPurgeDialogText " ] = " Are you sure you want to purge the local database? \n This will delete all collected data. \n Enter /qh submit for instructions on how to submit your collected data. " ,
[ " ActionsResetName " ] = " /qh hardreset " ,
[ " ActionsResetDesc " ] = " Reset QuestHelper to \" factory default \" settings. Deletes all collected data and preferences. \n Please submit your data to qhaddon@gmail.com before performing a hard reset. " ,
[ " ActionsResetDialogText " ] = " Are you sure you want to reset QuestHelper? \n This will delete all collected data and preferences. \n Enter /qh submit for instructions on how to submit your collected data. " ,
[ " ActionsDialogPurge " ] = " Purge " ,
[ " ActionsDialogCancel " ] = " Cancel " ,
[ " ActionsDialogReset " ] = " Reset " ,
[ " ActionsChangesName " ] = " /qh changes " ,
[ " ActionsChangesDesc " ] = " View the changelog for the current version. " ,
[ " InterfaceOptionsName " ] = " " ,
[ " InterfaceOptionsDesc " ] = " " ,
[ " ActionsSubmitName " ] = " /qh submit " ,
[ " ActionsSubmitDesc " ] = " View information on how to submit collected data. " ,
} ) ;
if not QHConfig or not QHConfig.Locale then
return ; -- if we made it this far, one or more errors are already shown
-- error("QuestHelperConfig did not load properly.");
end
local l = QHConfig.Locale ;
local L = { } ;
L [ " ActionsDialogCancel " ] = " Abbrechen "
L [ " AdditionalInfoName " ] = " Verschiedene Einstellungen "
L [ " ArrowEnableDesc " ] = " Wegepfeil zeigen/verbergen "
L [ " ArrowEnableName " ] = " ein "
L [ " ArrowLockedDesc " ] = " Wegpfeil sperren "
L [ " ArrowLockedName " ] = " gesperrt "
L [ " ArrowOptionsName " ] = " Wegepfeil Einstellungen "
L [ " ArrowScaleDesc " ] = " Wegpfeilgr \195 \182 \195 \159 e (100% ist Normalgr \195 \182 \195 \159 e) "
L [ " ArrowScaleName " ] = " Gr \195 \182 \195 \159 e "
L [ " ArrowTextSizeDesc " ] = " Gr \195 \182 \195 \159 e des Wegpfeiltextes (100% ist Normalgr \195 \182 \195 \159 e) "
L [ " ArrowTextSizeName " ] = " Textgr \195 \182 \195 \159 e "
L [ " FilterGroupName " ] = " Gruppenquests "
L [ " FilterGroupSizeName " ] = " Gruppengr \195 \182 \195 \159 e "
L [ " FilterLevelDesc " ] = " Quests ausblenden, die ein h \195 \182 heres Level haben als man selbst "
L [ " FilterLevelName " ] = " Questlevel "
L [ " FilterLevelOffsetName " ] = " Levelunterschied "
l : RegisterData ( " deDE " , L ) ;