Minion Beta! - Help us test our new AddOn updater. Get it now!
Download
(54 Kb)
Download
Updated: 08-03-10 06:00 PM
Pictures
File Info
Updated:08-03-10 06:00 PM
Created:07-19-10 02:44 PM
Downloads:2,104
Favorites:22
MD5:

GadgetsOn'Stick

Version: r4
by: Dawn [More]

Gadgets on a Stick

Granted, this won't affect your riding speed, like carrot on a stick. But It'll make your characters life easier! Gadgets on a Stick is a very lightweight, highly modular, yet pretty customizable collection of small things anyone needs, combined in one addon.


Features
* config via config.lua
* auto repair and selling of grey crap
* buy a full stack of some vendor crap with ALT + click (to fill up reagents, fast ...)
* sets camera distance to max (if you zoom out...)
* allows you to change your screenshots quality (via config)
* filter error messages you can add exceptions via /error
* adds the following slash commands
- reload ui = /rl
- ready check = /rc
- Need to speak with a GM? = /ticket or /gm
- calendar = /cl or /calendar
* several Gadgets (think of modules...)



Gadgets
* minimap (middle mouse click on the map allows you to choose your tracking type, right click will open your calendar)
* zone text
* bags
* money
* fps
* latency and memory
* clock (including wintergrasp timer and calendar on click)
* durability
* compass
* gold
* tooltip
* viewport (including customizable texture overlay, colors, etc.)



General Gadget Notes
* gadgets (including minimap) are moveable, by holding down ALT
* gadgets can be enabled/disabled separately
* gadgets can either have a custom set border color or a class colored border
- it only loads what you choose to load, saves memory and displays only what you want to see
* you can choose to show/hide the border and backgrounds of gadgets
* gadgets can be set to show/hide on mouseover separately, except minimap (always visible)
* gadget positions are saved in your characters layout-local.txt
- you can either edit this file or delete it, to change/reset positions you don't want or messed up (you have to log out if you want to edit/delete the file)

note: Gadgets will not trigger mouseover fading, you have to mouseover the top edge of your screen.



FAQ

1. Where'z teh options?
Take a look into your World of Warcraft folder: Interface\Addons\dSidebar\config.lua. You can open this file with Wordpad, Notepad or any other text editor. I recommend Notepad++ - it's free, google it. The config is fairly well commented, just take your time to read through it.

note: If you change anything in config.lua, you have to reload your interface, either via /rl or a relog.



ToDo
* fix minimap sticking to the mouse while moving - for now, place the map, stop moving and type /rl
* fix tooltip error when you mouse over a player in a vehicle unit...



Credits
Alleykat - wintergrasp timer implementation idea
Vrul - parts of compass code



Config
The layout's setup code below can be found in "AddOns\GadgetsOnAStick\config.lua". You can edit and save your changes via Wordpad, Notepad or something similar. I recommend getting Notepad++ (it's a free editor, google it).

Code:


------------
-- colors --
------------

	cfg.maincolor = {44/255, 40/255, 67/255}				-- bar and panel color
	cfg.sndcolor = {208/255, 172/255, 146/255}				-- font color
	cfg.trdcolor = {90/255, 110/255, 120/255}				-- wintergrasp timer bar color
	cfg.brdcolor = {80/255, 80/255, 80/255}					-- border color
	
	cfg.CreateGadgetBGandBorder	= true						-- show/hide gadget border and background
	cfg.GadgetsClassColorBorder = false						-- enable class coloured gadget border (instead of "brdcolor")
	
-----------	
-- media --
-----------

	cfg.BarTex = mediaFolder.."dM3"							-- bar texture
	cfg.PanelTex = mediaFolder.."dM3"						-- texture
	cfg.ViewportTex = mediaFolder.."dM3"					-- texture
	
	-- border texture, can be - dEBorderD = round edges, dEBorderE = solid 2px border + 1px inline and 1px outline (default), dEBorderF = solid 2px border
	cfg.BorderTex = mediaFolder.."dEBorderE"

	cfg.MaskTex = mediaFolder.."mask"						-- don't touch this ...
	
	cfg.Font = mediaFolder.."Prototype.ttf"					-- font
	cfg.FS = 10												-- font size
	cfg.FontF = "THINOUTLINE" 								-- fontF = nil -- use "OUTLINE MONOCHROME" for pixel fonts

--------------	
-- settings --
--------------

	cfg.ScreenshotQuality = 10		-- quality of screenshots, can be 1-10, format will be jpg

	-- enable/disable gadgets - true/false (on/off)
	cfg.showBags = true
	cfg.showClock = true
	cfg.showCompass = false
	cfg.showDurability = true
	cfg.showFPS = true	
	cfg.showGold = true	
	cfg.showLatencyMemory = true	-- latency and memory gadget, memory shows on mouseover, it can be cleaned (garbage collected) via mouseclick
	cfg.showViewport = true	
	cfg.showZone = true	

	cfg.useMinimap = true
	cfg.useTooltip = true
	
	cfg.FilterErrors = true		-- filter error messages (like "spell is not ready", etc.)

------------------------------------------------------------------------------------------------------------------------------	
-- Mouseover - if enabled, gadgets will be shown on mouseover, only - they will fade in fast and fade out slowly by default --
------------------------------------------------------------------------------------------------------------------------------
	
	cfg.FadeGadgets = true				-- fade gadgets in/out (required, as long as you choose not to mouseover all, but at least one gadget)
	cfg.timeToFadeIN = 0.8				-- time in seconds to fade IN the gadgets
	cfg.timeToFadeOUT = 10				-- time in seconds to fade OUT the gadgets
	cfg.startAlpha = 0.0				-- think of "minimum alpha" - that's where the FadeIN starts at, and the FadeOUT ends at
	cfg.endAlpha = 1.0					-- think of "maximum alpha" - that's where the FadeOUT starts at, and the FadeIN ends at
	
	cfg.MouseOverBags = true
	cfg.MouseOverClock = false
	cfg.MouseOverCompass = true
	cfg.MouseOverDurability = true
	cfg.MouseOverGold = true
	cfg.MouseOverFPS = false
	cfg.MouseOverLatencyMemory = false
	cfg.MouseOverZone = false
	
	
-------------
-- Tooltip --
-------------
	
	cfg.TooltipScale = 0.84				-- scale ...
	cfg.HPonTOP = false					-- show healthbar on top of the tooltip, bottom otherwise
	cfg.HPheight = 14					-- healthbar height	
	
	-- sticky position
	cfg.TooltipAnchor1 = "TOPRIGHT"
	cfg.TooltipAnchor2 = "BOTTOMRIGHT"
	cfg.TooltipParent = "Minimap"
	cfg.TooltipOffset_X = 2
	cfg.TooltipOffset_Y = -30

	cfg.AnchorToCursor = false			-- anchor tooltip to cursor, replaces default anchor above
	
	-- cursor anchors and positions only apply if - cfg.AnchorToCursor = true
	cfg.CursorAnchor1 = "TOPLEFT"
	cfg.CursorAnchor2 = "BOTTOMLEFT"
	cfg.CursorOffset_X = 30
	cfg.CursorOffset_Y = -24
	
---------------------------------------------------	
-- Minimap - you can move it by holding down ALT --
---------------------------------------------------
	
	cfg.MiniMapScale = 0.78				-- minimap scale 
	cfg.mailIconScale = 1.2				-- mail icon scale
	cfg.MiniClassColorBorder = false	-- enable class coloured minimap border
	
	-- PvP tracker position ("watchframe", whatever it's called...)
	cfg.PvPStateAnchor = "TOP"
	cfg.PvPStateX = 0
	cfg.PvPStateY = -30
	
--------------	
-- Viewport --
--------------
	
	cfg.ViewportClassColorBorder = false		-- enable class coloured viewport border
	
	-- viewport size (0 = hidden)
	cfg.ViewTop = 20	
	cfg.ViewBottom = 0
	cfg.ViewLeft = 0
	cfg.ViewRight = 0

	-- viewport texture size (normally slightly larger value than viewport size, required - depends on UIScale and which viewport size you choose)
	cfg.ViewTopTexH	= 26
	cfg.ViewBottomTexH = 26	


r4
* fixed tooltip lag on dead mobs

r3
* removed wintergrasp statusbar, time to wintergrasp is still available on mouseover!
* some tooltip tweaks
* fix Boss levels shown as "-1"
* added an option to disable tooltip fading (enabled by default)
* added an option to turn off auto repair and auto selling of grey junk

note:
* config settings are currently set to my settings (disabled viewport, ...)


r2
* added tooltip gadget - switch this off if you want to use another tooltip addon
planned tooltip features are:
- border color based on item quality, etc.
- maybe add power bar (possibly mana bar only) and power value
...

* fixed wintergrasp bartimer's frame strata
* cleaned up some code
* replaced some OnUpdate with OnEvent code - thanks to Vrul :)
* compass gadget is now deactivated by default
* removed an unused texture and the pixel fonts from the package...


r1
* initial release
Optional Files (0)


Archived Files (3)
File Name
Version
Size
Author
Date
r3
54kB
Dawn
07-28-10 05:06 PM
r2
53kB
Dawn
07-22-10 10:08 AM
r1
73kB
Dawn
07-19-10 02:44 PM


Post A Reply Comment Options
Unread 08-20-10, 09:35 AM  
Dawn
A Molten Giant
 
Dawn's Avatar
AddOn Author - Click to view AddOns

Forum posts: 907
File comments: 949
Uploads: 24
Already rewrote it, had no time to update it though, because I changed a lot of things around for personal preference and I'm to lazy to reverse all of that for an upload.

However you could open tooltip.lua, select all (Ctrl + A) and paste this code in there (aka replace everything).

Note: This has no "anchor tooltip to cursor" feature and no health value, yet. Shouldn't lag, however. *crosses fingers*

Code:
local addon, ns = ...
local cfg = ns.cfg

if cfg.useTooltip then

    --========[ disable fade ]========--
if cfg.disableTooltipFade then
	GameTooltip.FadeOut = function(self)
		GameTooltip:Hide()
	end
	
	local hasUnit
	local updateFrame = CreateFrame"Frame"
	updateFrame:SetScript("OnUpdate", function(self)
		local _, unit = GameTooltip:GetUnit()
		if hasUnit and not unit then
			GameTooltip:Hide()
			hasUnit = nil
		elseif unit then
			hasUnit = true
		end
	end)
end

-- Texture tooltips
local tooltips = {
	GameTooltip,
	ItemRefTooltip,
	ShoppingTooltip1,
	ShoppingTooltip2,
	ShoppingTooltip3,
	DropDownList1MenuBackdrop,
	DropDownList2MenuBackdrop,
	WorldMapTooltip
}

for _, tt in pairs(tooltips) do
	tt:SetBackdrop{bgFile = "Interface\\Buttons\\WHITE8x8", edgeFile = cfg.BorderTex, edgeSize = 10, insets = {left = 2, right = 2, top = 2, bottom = 2}}	
	tt:HookScript("OnShow", function(self)
		self:SetBackdropColor(44/255, 40/255, 67/255, 0.8)
		self:SetBackdropBorderColor(unpack(cfg.brdcolor))
	end)
end

-- Hide PVP text
PVP_ENABLED = ""

	-- hp position
	if cfg.HPonTOP then
		GameTooltipStatusBar:ClearAllPoints()
		GameTooltipStatusBar:SetPoint("TOPLEFT", 2.25, (cfg.HPheight+2))
		GameTooltipStatusBar:SetPoint("TOPRIGHT", -2.25, (cfg.HPheight+2))
	else
		GameTooltipStatusBar:ClearAllPoints()
		GameTooltipStatusBar:SetPoint("BOTTOMLEFT", 2.25, -(cfg.HPheight+2))
		GameTooltipStatusBar:SetPoint("BOTTOMRIGHT", -2.25, -(cfg.HPheight+2))
	end

	GameTooltipStatusBar:SetHeight(cfg.HPheight)
	GameTooltipStatusBar:SetStatusBarTexture(cfg.BarTex)
	
	-- hp border
	GameTooltipStatusBar.border = CreateFrame("Frame", nil, GameTooltipStatusBar)
	GameTooltipStatusBar.border:SetPoint("TOPLEFT", GameTooltipStatusBar, "TOPLEFT", -2, 2)
	GameTooltipStatusBar.border:SetPoint("BOTTOMRIGHT", GameTooltipStatusBar, "BOTTOMRIGHT", 2, -2)	
	GameTooltipStatusBar.border:SetBackdrop{edgeFile = cfg.BorderTex, edgeSize = 8, insets = {left = 2, right = 2, top = 2, bottom = 2}}
	GameTooltipStatusBar.border:SetBackdropBorderColor(unpack(cfg.brdcolor))	

	-- hp bg
	GameTooltipStatusBar.background = GameTooltipStatusBar:CreateTexture("GameTooltipStatusBarBackground", "BACKGROUND")
	GameTooltipStatusBar.background:SetPoint("TOPLEFT")
	GameTooltipStatusBar.background:SetPoint("BOTTOMRIGHT")
	GameTooltipStatusBar.background:SetTexture(cfg.BarTex)
	GameTooltipStatusBar.background:SetVertexColor(44/255, 40/255, 67/255, 0.8)

-- Position default anchor
local function defaultPosition(tt, parent)
		tt:ClearAllPoints()
		tt:SetOwner(parent, "ANCHOR_NONE")
		tt:SetPoint(cfg.TooltipAnchor1, cfg.TooltipParent, cfg.TooltipAnchor2, cfg.TooltipOffset_X, cfg.TooltipOffset_Y)

end
hooksecurefunc("GameTooltip_SetDefaultAnchor", defaultPosition)

local function gtUpdate(self, ...)
	if self:GetAnchorType() == "ANCHOR_NONE" then
			self:ClearAllPoints()
			self:SetPoint(cfg.TooltipAnchor1, cfg.TooltipParent, cfg.TooltipAnchor2, cfg.TooltipOffset_X, cfg.TooltipOffset_Y)
			self:SetScale(cfg.TooltipScale)
	end		
end

-- Unit tooltip style
local OnTooltipSetUnit = function(self)
	local lines = self:NumLines()
	local name, unit = self:GetUnit()

	if not unit then return end

	_G["GameTooltipTextLeft1"]:SetText(name)

	local level		= UnitLevel(unit)
	local levelColor	= GetQuestDifficultyColor(level)

	if level == -1 then
		level = "??"
		levelColor = { r = 1.00, g = 0.00, b = 0.00 }
	end

	if UnitIsPlayer(unit) then
		local race	= UnitRace(unit)

		if GetGuildInfo(unit) then
			_G["GameTooltipTextLeft2"]:SetFormattedText("<%s>", GetGuildInfo(unit))
		end

		local n = GetGuildInfo(unit) and 3 or 2
		if GetCVar("colorblindMode") == "1" then n = n + 1 end
		_G["GameTooltipTextLeft"..n]:SetFormattedText("|cff%02x%02x%02x%s|r %s", levelColor.r*255, levelColor.g*255, levelColor.b*255, level, race)
	else
		local classification	= UnitClassification(unit)
		local creatureType	= UnitCreatureType(unit)

		classification = (classification == "rareelite" and " R+") or
			(classification == "rare" and " R") or
			(classification == "elite" and "+") or ""

		for i = 2, lines do
			local line = _G["GameTooltipTextLeft"..i]
			if not line or not line:GetText() then return end
			if (level and line:GetText():find("^"..LEVEL)) or (creatureType and line:GetText():find("^"..creatureType)) then
				line:SetFormattedText("|cff%02x%02x%02x%s%s|r %s", levelColor.r*255, levelColor.g*255, levelColor.b*255, level, classification, creatureType or "")
				break
			end
		end
	end

	-- ToT line
	if UnitExists(unit.."target") and unit~="player" then
		local r, g, b = GameTooltip_UnitColor(unit.."target")
		GameTooltip:AddLine(UnitName(unit.."target"), r, g, b)
	elseif UnitExists(unit.."target") and unit=="player" then
		GameTooltip:AddLine("|cff00ffff" .. string.upper("<YOU>") .. "|r")
	end
end

-- Unit class color
function GameTooltip_UnitColor(unit)
	local c
	if UnitIsPlayer(unit) then
		-- Class color
		c = oUF.colors.class[select(2, UnitClass(unit))]
	elseif UnitIsTapped(unit) and not UnitIsTappedByPlayer(unit) then
		-- Tapped coloring
		c = { .5, .5, .5 }
	elseif unit == "pet" and GetPetHappiness() then
		-- Pet happiness color
		c = oUF.colors.happiness[GetPetHappiness()]
	else
		-- Reaction Color
		c = oUF.colors.reaction[UnitReaction(unit, "player")]
	end
	
	if not c then
		c = {.5, .5, .5}
	end

    return c[1], c[2], c[3]
end

GameTooltip:HookScript("OnTooltipSetUnit", OnTooltipSetUnit)
GameTooltip:HookScript("OnUpdate", gtUpdate)
end
__________________
Rock: "We're sub-standard DPS. Nerf Paper, Scissors are fine."
Paper: "OMG, WTF, Scissors!"
Scissors: "Rock is OP and Paper are QQers. We need PvP buffs."

"neeh the game wont be remembered as the game who made blizz the most money, it will be remembered as the game who had the most QQ'ers that just couldnt quit the game for some reason..."

Last edited by Dawn : 08-20-10 at 09:37 AM.
Dawn is offline Report comment to moderator  
Reply With Quote
Unread 08-20-10, 09:11 AM  
tmcnabb
A Fallenroot Satyr
 
tmcnabb's Avatar

Forum posts: 22
File comments: 25
Uploads: 0
aww

I R sad panda. Great addon and I love the tooltip. the lag or FPS stall is every time a mob dies or changing targets.

The tool tip is so clean I love it ..but I too had to turn this off.
tmcnabb is offline Report comment to moderator  
Reply With Quote
Unread 08-13-10, 05:26 PM  
daradara
A Kobold Labourer

Forum posts: 0
File comments: 5
Uploads: 0
auto repair/sell junk

Is there an easy way to separate auto repair/sell junk? I love selling junk on auto but I only auto repair at the guild's expense in raids--every other time I handle that cost myself, issue is guild repair is always on. thanks in advance
daradara is offline Report comment to moderator  
Reply With Quote
Unread 08-10-10, 07:34 PM  
Dawn
A Molten Giant
 
Dawn's Avatar
AddOn Author - Click to view AddOns

Forum posts: 907
File comments: 949
Uploads: 24
I don't get any lags neither, but that might dependent on the PC. It should work for all PCs though so... it needs some work.

I'll include feature requests once I find the time to work on any addons of mine, again. Very busy, atm. Sorry for having to wait.
__________________
Rock: "We're sub-standard DPS. Nerf Paper, Scissors are fine."
Paper: "OMG, WTF, Scissors!"
Scissors: "Rock is OP and Paper are QQers. We need PvP buffs."

"neeh the game wont be remembered as the game who made blizz the most money, it will be remembered as the game who had the most QQ'ers that just couldnt quit the game for some reason..."

Dawn is offline Report comment to moderator  
Reply With Quote
Unread 08-10-10, 10:11 AM  
jasje
A Chromatic Dragonspawn
 
jasje's Avatar
AddOn Author - Click to view AddOns

Forum posts: 150
File comments: 281
Uploads: 8
Using your addon to and w/o any lag, only thing i want to know is how to move the tooltip that pops up when hovering over the ms. Is there any change your gonna write a guild/friend list module or is that to much to ask...?
__________________

Tukui | Github
Last edited by jasje : 08-10-10 at 10:11 AM.
jasje is offline Report comment to moderator  
Reply With Quote
Unread 08-09-10, 09:35 PM  
Dawn
A Molten Giant
 
Dawn's Avatar
AddOn Author - Click to view AddOns

Forum posts: 907
File comments: 949
Uploads: 24
The tooltip module needs a complete rewrite. However, like I said before, you could disable the tooltip via config and still use everything else.
__________________
Rock: "We're sub-standard DPS. Nerf Paper, Scissors are fine."
Paper: "OMG, WTF, Scissors!"
Scissors: "Rock is OP and Paper are QQers. We need PvP buffs."

"neeh the game wont be remembered as the game who made blizz the most money, it will be remembered as the game who had the most QQ'ers that just couldnt quit the game for some reason..."

Dawn is offline Report comment to moderator  
Reply With Quote
Unread 08-09-10, 11:15 AM  
Msunderstood
A Kobold Labourer

Forum posts: 0
File comments: 9
Uploads: 0
Love your addon! It has everything I want, however, I had to stop using it. Same issue as others mentioned, the lag. Unfortunate, hope you can sort out what the problem is
Msunderstood is offline Report comment to moderator  
Reply With Quote
Unread 08-08-10, 09:53 AM  
Dawn
A Molten Giant
 
Dawn's Avatar
AddOn Author - Click to view AddOns

Forum posts: 907
File comments: 949
Uploads: 24
Clean install won't help it's an issue with one of the features, I suppose the health value/display and/or of dead/rip/ghost.

I recommend to disable the tooltip for now, until I find the time to look into it. Sorry.
__________________
Rock: "We're sub-standard DPS. Nerf Paper, Scissors are fine."
Paper: "OMG, WTF, Scissors!"
Scissors: "Rock is OP and Paper are QQers. We need PvP buffs."

"neeh the game wont be remembered as the game who made blizz the most money, it will be remembered as the game who had the most QQ'ers that just couldnt quit the game for some reason..."

Last edited by Dawn : 08-08-10 at 09:53 AM.
Dawn is offline Report comment to moderator  
Reply With Quote
Unread 08-08-10, 09:45 AM  
Foppy
A Kobold Labourer

Forum posts: 0
File comments: 5
Uploads: 0
same problem with r4, still lagging
i don't know if this help, but the lag appear only after several time you logged in, or did a /rl
Foppy is offline Report comment to moderator  
Reply With Quote
Unread 08-07-10, 12:54 PM  
Darxon
A Warpwood Thunder Caller
AddOn Compiler - Click to view compilations

Forum posts: 92
File comments: 65
Uploads: 2
Originally posted by Dawn
Can you explain when it happens or when it's more likely to happen or does it happen all the time no matter what? I need to figure out which part of the tooltip code is causing it. Do you have it anchored to the mouse or a sticky anchor?
Only when a mob has lost som hp, not sure how much.
I have a sticky anchor.

Got a spot in an icc 25 raid ( all thrash was cleared). The lag started as soon as the first boss lost som hp.
When he was dead the lag stoped, i disabled the tooltip after that and no lags.
I will try with a clean install of your amazing addon and see
__________________
Last edited by Darxon : 08-07-10 at 12:55 PM.
Darxon is offline Report comment to moderator  
Reply With Quote
Unread 08-07-10, 06:55 AM  
Dawn
A Molten Giant
 
Dawn's Avatar
AddOn Author - Click to view AddOns

Forum posts: 907
File comments: 949
Uploads: 24
Can you explain when it happens or when it's more likely to happen or does it happen all the time no matter what? I need to figure out which part of the tooltip code is causing it. Do you have it anchored to the mouse or a sticky anchor?
__________________
Rock: "We're sub-standard DPS. Nerf Paper, Scissors are fine."
Paper: "OMG, WTF, Scissors!"
Scissors: "Rock is OP and Paper are QQers. We need PvP buffs."

"neeh the game wont be remembered as the game who made blizz the most money, it will be remembered as the game who had the most QQ'ers that just couldnt quit the game for some reason..."

Dawn is offline Report comment to moderator  
Reply With Quote
Unread 08-07-10, 12:28 AM  
Darxon
A Warpwood Thunder Caller
AddOn Compiler - Click to view compilations

Forum posts: 92
File comments: 65
Uploads: 2
I belive i do.....
__________________
Darxon is offline Report comment to moderator  
Reply With Quote
Unread 08-06-10, 10:14 PM  
Dawn
A Molten Giant
 
Dawn's Avatar
AddOn Author - Click to view AddOns

Forum posts: 907
File comments: 949
Uploads: 24
Originally posted by Darxon
Really nice addon, buuuut getting insane lags in raids with tooltip enabled :/
You are using r4?
__________________
Rock: "We're sub-standard DPS. Nerf Paper, Scissors are fine."
Paper: "OMG, WTF, Scissors!"
Scissors: "Rock is OP and Paper are QQers. We need PvP buffs."

"neeh the game wont be remembered as the game who made blizz the most money, it will be remembered as the game who had the most QQ'ers that just couldnt quit the game for some reason..."

Dawn is offline Report comment to moderator  
Reply With Quote
Unread 08-06-10, 04:39 PM  
Darxon
A Warpwood Thunder Caller
AddOn Compiler - Click to view compilations

Forum posts: 92
File comments: 65
Uploads: 2
Really nice addon, buuuut getting insane lags in raids with tooltip enabled :/
__________________
Darxon is offline Report comment to moderator  
Reply With Quote
Unread 08-04-10, 12:35 AM  
Rhaine
A Kobold Labourer

Forum posts: 0
File comments: 1
Uploads: 0
Suggestion

Very nice gadgets =)
I would suggest adding a small toggleable calculator into it also, it would be really helpful.
Rhaine is offline Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: