Reduced minimum password retry level from 6 to 3
[barry/pauldeden.git] / gui / src / PasswordDlg.cc
blobe4dcb0dcf1b6f8e07ea74fe02dcefa9aea6ecb63
1 ///
2 /// \file PasswordDlg.cc
3 /// Dialog wrapper class for password entry
4 ///
6 /*
7 Copyright (C) 2007-2008, Net Direct Inc. (http://www.netdirect.ca/)
9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 2 of the License, or
12 (at your option) any later version.
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18 See the GNU General Public License in the COPYING file at the
19 root directory of this project for more details.
22 #include "PasswordDlg.h"
23 #include "util.h"
24 #include <sstream>
26 PasswordDlg::PasswordDlg(int remaining_tries)
27 : m_pPromptLabel(0),
28 m_pPasswordEntry(0)
30 Glib::RefPtr<Gnome::Glade::Xml> xml = LoadXml("PasswordDlg.glade");
32 Gtk::Dialog *pD = 0;
33 xml->get_widget("PasswordDlg", pD);
34 m_pDialog.reset(pD);
36 xml->get_widget("prompt_label", m_pPromptLabel);
37 xml->get_widget("password_entry", m_pPasswordEntry);
39 std::ostringstream oss;
40 oss << "Please enter device password: (" << remaining_tries << " tries remaining)";
41 m_pPromptLabel->set_text(oss.str());
44 PasswordDlg::~PasswordDlg()
46 // do our part in blanking passwords in memory...
47 for( size_t i = 0; i < m_password.size(); i++ ) {
48 m_password[i] = 0;
52 int PasswordDlg::run()
54 int ret = m_pDialog->run();
55 if( ret == Gtk::RESPONSE_OK ) {
56 m_password = m_pPasswordEntry->get_text();
58 return ret;