aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/newview/llconfirmationmanager.cpp
diff options
context:
space:
mode:
authorJacek Antonelli2008-08-15 23:44:46 -0500
committerJacek Antonelli2008-08-15 23:44:46 -0500
commit38d6d37f2d982fa959e9e8a4a3f7e1ccfad7b5d4 (patch)
treeadca584755d22ca041a2dbfc35d4eca01f70b32c /linden/indra/newview/llconfirmationmanager.cpp
parentREADME.txt (diff)
downloadmeta-impy-38d6d37f2d982fa959e9e8a4a3f7e1ccfad7b5d4.zip
meta-impy-38d6d37f2d982fa959e9e8a4a3f7e1ccfad7b5d4.tar.gz
meta-impy-38d6d37f2d982fa959e9e8a4a3f7e1ccfad7b5d4.tar.bz2
meta-impy-38d6d37f2d982fa959e9e8a4a3f7e1ccfad7b5d4.tar.xz
Second Life viewer sources 1.13.2.12
Diffstat (limited to '')
-rw-r--r--linden/indra/newview/llconfirmationmanager.cpp119
1 files changed, 119 insertions, 0 deletions
diff --git a/linden/indra/newview/llconfirmationmanager.cpp b/linden/indra/newview/llconfirmationmanager.cpp
new file mode 100644
index 0000000..b3a50f0
--- /dev/null
+++ b/linden/indra/newview/llconfirmationmanager.cpp
@@ -0,0 +1,119 @@
1/**
2 * @file llconfirmationmanager.cpp
3 * @brief LLConfirmationManager class implementation
4 *
5 * Copyright (c) 2006-2007, Linden Research, Inc.
6 *
7 * The source code in this file ("Source Code") is provided by Linden Lab
8 * to you under the terms of the GNU General Public License, version 2.0
9 * ("GPL"), unless you have obtained a separate licensing agreement
10 * ("Other License"), formally executed by you and Linden Lab. Terms of
11 * the GPL can be found in doc/GPL-license.txt in this distribution, or
12 * online at http://secondlife.com/developers/opensource/gplv2
13 *
14 * There are special exceptions to the terms and conditions of the GPL as
15 * it is applied to this Source Code. View the full text of the exception
16 * in the file doc/FLOSS-exception.txt in this software distribution, or
17 * online at http://secondlife.com/developers/opensource/flossexception
18 *
19 * By copying, modifying or distributing this software, you acknowledge
20 * that you have read and understood your obligations described above,
21 * and agree to abide by those obligations.
22 *
23 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
24 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
25 * COMPLETENESS OR PERFORMANCE.
26 */
27
28#include "llviewerprecompiledheaders.h"
29
30#include "llconfirmationmanager.h"
31
32#include "lluictrlfactory.h"
33
34// viewer includes
35#include "llviewerwindow.h"
36#include "lllineeditor.h"
37#include "llstring.h"
38
39LLConfirmationManager::ListenerBase::~ListenerBase()
40{
41}
42
43
44static void onConfirmAlert(S32 option, void* data)
45{
46 LLConfirmationManager::ListenerBase* listener
47 = (LLConfirmationManager::ListenerBase*)data;
48
49 if (option == 0)
50 {
51 listener->confirmed("");
52 }
53
54 delete listener;
55}
56
57static void onConfirmAlertPassword(
58 S32 option, const LLString& text, void* data)
59{
60 LLConfirmationManager::ListenerBase* listener
61 = (LLConfirmationManager::ListenerBase*)data;
62
63 if (option == 0)
64 {
65 listener->confirmed(text);
66 }
67
68 delete listener;
69}
70
71
72void LLConfirmationManager::confirm(Type type,
73 const std::string& action,
74 ListenerBase* listener)
75{
76 LLString::format_map_t args;
77 args["[ACTION]"] = action;
78
79 switch (type)
80 {
81 case TYPE_CLICK:
82 gViewerWindow->alertXml("ConfirmPurchase", args,
83 onConfirmAlert, listener);
84 break;
85
86 case TYPE_PASSWORD:
87 gViewerWindow->alertXmlEditText("ConfirmPurchasePassword", args,
88 NULL, NULL,
89 onConfirmAlertPassword, listener,
90 LLString::format_map_t(),
91 TRUE);
92 break;
93 case TYPE_NONE:
94 default:
95 listener->confirmed("");
96 break;
97 }
98}
99
100
101void LLConfirmationManager::confirm(
102 const std::string& type,
103 const std::string& action,
104 ListenerBase* listener)
105{
106 Type decodedType = TYPE_NONE;
107
108 if (type == "click")
109 {
110 decodedType = TYPE_CLICK;
111 }
112 else if (type == "password")
113 {
114 decodedType = TYPE_PASSWORD;
115 }
116
117 confirm(decodedType, action, listener);
118}
119