llfirstuse.cpp
上传用户:king477883
上传日期:2021-03-01
资源大小:9553k
文件大小:6k
源码类别:

游戏引擎

开发平台:

C++ Builder

  1. /** 
  2.  * @file llfirstuse.cpp
  3.  * @brief Methods that spawn "first-use" dialogs
  4.  *
  5.  * $LicenseInfo:firstyear=2003&license=viewergpl$
  6.  * 
  7.  * Copyright (c) 2003-2010, Linden Research, Inc.
  8.  * 
  9.  * Second Life Viewer Source Code
  10.  * The source code in this file ("Source Code") is provided by Linden Lab
  11.  * to you under the terms of the GNU General Public License, version 2.0
  12.  * ("GPL"), unless you have obtained a separate licensing agreement
  13.  * ("Other License"), formally executed by you and Linden Lab.  Terms of
  14.  * the GPL can be found in doc/GPL-license.txt in this distribution, or
  15.  * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
  16.  * 
  17.  * There are special exceptions to the terms and conditions of the GPL as
  18.  * it is applied to this Source Code. View the full text of the exception
  19.  * in the file doc/FLOSS-exception.txt in this software distribution, or
  20.  * online at
  21.  * http://secondlifegrid.net/programs/open_source/licensing/flossexception
  22.  * 
  23.  * By copying, modifying or distributing this software, you acknowledge
  24.  * that you have read and understood your obligations described above,
  25.  * and agree to abide by those obligations.
  26.  * 
  27.  * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
  28.  * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
  29.  * COMPLETENESS OR PERFORMANCE.
  30.  * $/LicenseInfo$
  31.  */
  32. #include "llviewerprecompiledheaders.h"
  33. #include "llfirstuse.h"
  34. // library includes
  35. #include "indra_constants.h"
  36. #include "llnotificationsutil.h"
  37. // viewer includes
  38. #include "llagent.h" // for gAgent.inPrelude()
  39. #include "llviewercontrol.h"
  40. #include "llui.h"
  41. #include "llappviewer.h"
  42. #include "lltracker.h"
  43. /*
  44. // static
  45. std::set<std::string> LLFirstUse::sConfigVariables;
  46. // static
  47. void LLFirstUse::addConfigVariable(const std::string& var)
  48. {
  49. sConfigVariables.insert(var);
  50. }
  51. // static
  52. void LLFirstUse::disableFirstUse()
  53. {
  54. // Set all first-use warnings to disabled
  55. for (std::set<std::string>::iterator iter = sConfigVariables.begin();
  56.  iter != sConfigVariables.end(); ++iter)
  57. {
  58. gWarningSettings.setBOOL(*iter, FALSE);
  59. }
  60. }
  61. // static
  62. void LLFirstUse::resetFirstUse()
  63. {
  64. // Set all first-use warnings to disabled
  65. for (std::set<std::string>::iterator iter = sConfigVariables.begin();
  66.  iter != sConfigVariables.end(); ++iter)
  67. {
  68. gWarningSettings.setBOOL(*iter, TRUE);
  69. }
  70. }
  71. */
  72. /*
  73. // Called whenever the viewer detects that your balance went up
  74. void LLFirstUse::useBalanceIncrease(S32 delta)
  75. {
  76. if (gWarningSettings.getBOOL("FirstBalanceIncrease"))
  77. {
  78. gWarningSettings.setBOOL("FirstBalanceIncrease", FALSE);
  79. LLSD args;
  80. args["AMOUNT"] = llformat("%d",delta);
  81. LLNotificationsUtil::add("FirstBalanceIncrease", args);
  82. }
  83. }
  84. // Called whenever the viewer detects your balance went down
  85. void LLFirstUse::useBalanceDecrease(S32 delta)
  86. {
  87. if (gWarningSettings.getBOOL("FirstBalanceDecrease"))
  88. {
  89. gWarningSettings.setBOOL("FirstBalanceDecrease", FALSE);
  90. LLSD args;
  91. args["AMOUNT"] = llformat("%d",-delta);
  92. LLNotificationsUtil::add("FirstBalanceDecrease", args);
  93. }
  94. }
  95. // static
  96. void LLFirstUse::useSit()
  97. {
  98. // Our orientation island uses sitting to teach vehicle driving
  99. // so just never show this message. JC
  100. //if (gWarningSettings.getBOOL("FirstSit"))
  101. //{
  102. // gWarningSettings.setBOOL("FirstSit", FALSE);
  103.         //
  104. // LLNotificationsUtil::add("FirstSit");
  105. //}
  106. }
  107. // static
  108. void LLFirstUse::useMap()
  109. {
  110. if (gWarningSettings.getBOOL("FirstMap"))
  111. {
  112. gWarningSettings.setBOOL("FirstMap", FALSE);
  113. LLNotificationsUtil::add("FirstMap");
  114. }
  115. }
  116. // static
  117. void LLFirstUse::useGoTo()
  118. {
  119. // nothing for now JC
  120. }
  121. // static
  122. void LLFirstUse::useBuild()
  123. {
  124. if (gWarningSettings.getBOOL("FirstBuild"))
  125. {
  126. gWarningSettings.setBOOL("FirstBuild", FALSE);
  127. LLNotificationsUtil::add("FirstBuild");
  128. }
  129. }
  130.  
  131.  */
  132. /*
  133. // static
  134. void LLFirstUse::useLeftClickNoHit()
  135. if (gWarningSettings.getBOOL("FirstLeftClickNoHit"))
  136. {
  137. gWarningSettings.setBOOL("FirstLeftClickNoHit", FALSE);
  138. LLNotificationsUtil::add("FirstLeftClickNoHit");
  139. }
  140. }
  141. */
  142. /*
  143. // static
  144. void LLFirstUse::useTeleport()
  145. {
  146. if (gWarningSettings.getBOOL("FirstTeleport"))
  147. {
  148. LLVector3d teleportDestination = LLTracker::getTrackedPositionGlobal();
  149. if(teleportDestination != LLVector3d::zero)
  150. {
  151. gWarningSettings.setBOOL("FirstTeleport", FALSE);
  152.         LLNotificationsUtil::add("FirstTeleport");
  153. }
  154. }
  155. }
  156. */
  157. // static
  158. void LLFirstUse::useOverrideKeys()
  159. {
  160. // Our orientation island uses key overrides to teach vehicle driving
  161. // so don't show this message until you get off OI. JC
  162. if (!gAgent.inPrelude())
  163. {
  164. if (gWarningSettings.getBOOL("FirstOverrideKeys"))
  165. {
  166. gWarningSettings.setBOOL("FirstOverrideKeys", FALSE);
  167. LLNotificationsUtil::add("FirstOverrideKeys");
  168. }
  169. }
  170. }
  171. /*
  172. // static
  173. void LLFirstUse::useAttach()
  174. {
  175. // nothing for now
  176. }
  177. // static
  178. void LLFirstUse::useAppearance()
  179. {
  180. if (gWarningSettings.getBOOL("FirstAppearance"))
  181. {
  182. gWarningSettings.setBOOL("FirstAppearance", FALSE);
  183. LLNotificationsUtil::add("FirstAppearance");
  184. }
  185. }
  186. // static
  187. void LLFirstUse::useInventory()
  188. {
  189. if (gWarningSettings.getBOOL("FirstInventory"))
  190. {
  191. gWarningSettings.setBOOL("FirstInventory", FALSE);
  192. LLNotificationsUtil::add("FirstInventory");
  193. }
  194. }
  195. */
  196. // static
  197. void LLFirstUse::useSandbox()
  198. {
  199. if (gWarningSettings.getBOOL("FirstSandbox"))
  200. {
  201. gWarningSettings.setBOOL("FirstSandbox", FALSE);
  202. LLSD args;
  203. args["HOURS"] = llformat("%d",SANDBOX_CLEAN_FREQ);
  204. args["TIME"] = llformat("%d",SANDBOX_FIRST_CLEAN_HOUR);
  205. LLNotificationsUtil::add("FirstSandbox", args);
  206. }
  207. }
  208. /*
  209. // static
  210. void LLFirstUse::useFlexible()
  211. {
  212. if (gWarningSettings.getBOOL("FirstFlexible"))
  213. {
  214. gWarningSettings.setBOOL("FirstFlexible", FALSE);
  215. LLNotificationsUtil::add("FirstFlexible");
  216. }
  217. }
  218. // static
  219. void LLFirstUse::useDebugMenus()
  220. {
  221. if (gWarningSettings.getBOOL("FirstDebugMenus"))
  222. {
  223. gWarningSettings.setBOOL("FirstDebugMenus", FALSE);
  224. LLNotificationsUtil::add("FirstDebugMenus");
  225. }
  226. }
  227. // static
  228. void LLFirstUse::useSculptedPrim()
  229. {
  230. if (gWarningSettings.getBOOL("FirstSculptedPrim"))
  231. {
  232. gWarningSettings.setBOOL("FirstSculptedPrim", FALSE);
  233. LLNotificationsUtil::add("FirstSculptedPrim");
  234. }
  235. }
  236. // static 
  237. void LLFirstUse::useMedia()
  238. {
  239. if (gWarningSettings.getBOOL("FirstMedia"))
  240. {
  241. gWarningSettings.setBOOL("FirstMedia", FALSE);
  242. // Popup removed as a short-term fix for EXT-1643.
  243. // Ultimately, the plan is to kill all First Use dialogs
  244. //LLNotificationsUtil::add("FirstMedia");
  245. }
  246. }
  247. */