Mercurial > wow > wowdb-profiler
comparison Comments.lua @ 261:2f493bc054e5
Added support for quest comments. Left-justified the text of the link dialog box as well as highlighting the name of the comment subject.
author | James D. Callahan III <jcallahan@curse.com> |
---|---|
date | Tue, 19 Mar 2013 12:29:24 -0500 |
parents | 3558ba83eacd |
children | 7f5982e01953 |
comparison
equal
deleted
inserted
replaced
260:3558ba83eacd | 261:2f493bc054e5 |
---|---|
18 -- CONSTANTS ---------------------------------------------------------- | 18 -- CONSTANTS ---------------------------------------------------------- |
19 | 19 |
20 local EDIT_MAXCHARS = 3000 | 20 local EDIT_MAXCHARS = 3000 |
21 local EDIT_DESCRIPTION_FORMAT = "Enter your comment below, being as descriptive as possible. Comments are limited to %s characters, including newlines and spaces." | 21 local EDIT_DESCRIPTION_FORMAT = "Enter your comment below, being as descriptive as possible. Comments are limited to %s characters, including newlines and spaces." |
22 local LINK_COMMENT_TOOLTIP = "Click here to create a link to the comment page on WoWDB." | 22 local LINK_COMMENT_TOOLTIP = "Click here to create a link to the comment page on WoWDB." |
23 local LINK_EDITBOX_DESC_FORMAT = "Copy the highlighted text and paste it into your browser to visit the comments for %s." | 23 local LINK_EDITBOX_DESC_FORMAT = "Copy the highlighted text and paste it into your browser to visit the comments for |cffffd200%s|r." |
24 | 24 |
25 local URL_BASE = "http://www.wowdb.com/" | 25 local URL_BASE = "http://www.wowdb.com/" |
26 | 26 |
27 local URL_TYPE_MAP = { | 27 local URL_TYPE_MAP = { |
28 ITEM = "items", | 28 ITEM = "items", |
29 OBJECT = "objects", | 29 OBJECT = "objects", |
30 NPC = "npcs", | 30 NPC = "npcs", |
31 QUEST = "quests", | |
31 SPELL = "spells", | 32 SPELL = "spells", |
32 VEHICLE = "npcs", | 33 VEHICLE = "npcs", |
33 } | 34 } |
34 | 35 |
35 Dialog:Register("WDP_CommentLink", { | 36 Dialog:Register("WDP_CommentLink", { |
55 editbox:SetWidth(self:GetWidth() - 20) | 56 editbox:SetWidth(self:GetWidth() - 20) |
56 editbox:SetText(("%s%s/%d#related:comments"):format(URL_BASE, URL_TYPE_MAP[data.type_name], data.id)) | 57 editbox:SetText(("%s%s/%d#related:comments"):format(URL_BASE, URL_TYPE_MAP[data.type_name], data.id)) |
57 editbox:HighlightText() | 58 editbox:HighlightText() |
58 editbox:SetFocus() | 59 editbox:SetFocus() |
59 | 60 |
61 self.text:SetJustifyH("LEFT") | |
60 self.text:SetFormattedText(LINK_EDITBOX_DESC_FORMAT:format(data.label)) | 62 self.text:SetFormattedText(LINK_EDITBOX_DESC_FORMAT:format(data.label)) |
61 end, | 63 end, |
62 }) | 64 }) |
63 | 65 |
64 local comment_subject = {} | 66 local comment_subject = {} |
331 CURSOR_DATA_FUNCS[data_type](DATA_TYPE_MAPPING[data_type] or data_type:upper(), data, data_subtype, subdata) | 333 CURSOR_DATA_FUNCS[data_type](DATA_TYPE_MAPPING[data_type] or data_type:upper(), data, data_subtype, subdata) |
332 comment_frame.scroll_frame.edit_box:SetText("") | 334 comment_frame.scroll_frame.edit_box:SetText("") |
333 comment_frame:Show() | 335 comment_frame:Show() |
334 end | 336 end |
335 | 337 |
338 local function CreateQuestComment() | |
339 local index = _G.GetQuestLogSelection() | |
340 | |
341 if not index or not _G.QuestLogFrame:IsShown() then | |
342 WDP:Print("You must select a quest from the Quest frame.") | |
343 return | |
344 end | |
345 local title, _, tag, _, is_header, _, _, _, idnum = _G.GetQuestLogTitle(index) | |
346 | |
347 if is_header then | |
348 WDP:Print("You must select a quest from the Quest frame.") | |
349 return | |
350 end | |
351 comment_subject.type_name = "QUEST" | |
352 comment_subject.id = idnum | |
353 comment_subject.label = title | |
354 | |
355 comment_frame.subject_name:SetText(title) | |
356 comment_frame.subject_data:SetFormattedText("(%s #%d)", "QUEST", idnum) | |
357 comment_frame.scroll_frame.edit_box:SetText("") | |
358 comment_frame:Show() | |
359 end | |
360 | |
336 -- METHODS ------------------------------------------------------------ | 361 -- METHODS ------------------------------------------------------------ |
337 | 362 |
338 function private.ProcessCommentCommand(arg) | 363 function private.ProcessCommentCommand(arg) |
339 if not arg or arg == "" then | 364 if not arg or arg == "" then |
340 WDP:Print("You must supply a valid comment type.") | 365 WDP:Print("You must supply a valid comment type.") |
342 end | 367 end |
343 | 368 |
344 if arg == "cursor" then | 369 if arg == "cursor" then |
345 CreateCursorComment() | 370 CreateCursorComment() |
346 return | 371 return |
372 elseif arg == "quest" then | |
373 CreateQuestComment() | |
374 return | |
347 end | 375 end |
348 CreateUnitComment(arg) | 376 CreateUnitComment(arg) |
349 end | 377 end |