ekiga r6466 - in trunk: . src/endpoints
- From: dsandras svn gnome org
- To: svn-commits-list gnome org
- Subject: ekiga r6466 - in trunk: . src/endpoints
- Date: Wed, 16 Jul 2008 20:21:25 +0000 (UTC)
Author: dsandras
Date: Wed Jul 16 20:21:24 2008
New Revision: 6466
URL: http://svn.gnome.org/viewvc/ekiga?rev=6466&view=rev
Log:
Added two new "simplified" menu entries to add Ekiga.net
and Ekiga Call Out accounts.
Modified:
trunk/ChangeLog
trunk/src/endpoints/opal-bank.cpp
trunk/src/endpoints/opal-bank.h
Modified: trunk/src/endpoints/opal-bank.cpp
==============================================================================
--- trunk/src/endpoints/opal-bank.cpp (original)
+++ trunk/src/endpoints/opal-bank.cpp Wed Jul 16 20:21:24 2008
@@ -52,34 +52,59 @@
bool Opal::Bank::populate_menu (Ekiga::MenuBuilder & builder)
{
- builder.add_action ("new", _("_New"),
- sigc::mem_fun (this, &Opal::Bank::new_account));
+ builder.add_action ("new", _("_New Ekiga.net Account"),
+ sigc::bind (sigc::mem_fun (this, &Opal::Bank::new_account), Ekiga));
+ builder.add_action ("new", _("_New Ekiga Call Out Account"),
+ sigc::bind (sigc::mem_fun (this, &Opal::Bank::new_account), DiamondCard));
+ builder.add_action ("new", _("_New SIP Account"),
+ sigc::bind (sigc::mem_fun (this, &Opal::Bank::new_account), SIP));
return true;
}
-void Opal::Bank::new_account ()
+void Opal::Bank::new_account (Type t)
{
Ekiga::FormRequestSimple request;
request.title (_("Edit account"));
-
request.instructions (_("Please update the following fields:"));
- request.text ("name", _("Name:"), std::string ());
- request.text ("host", _("Host"), std::string ());
- request.text ("user", _("User:"), std::string ());
- request.text ("authentication_user", _("Authentication User:"), std::string ());
- request.private_text ("password", _("Password:"), std::string ());
- request.text ("timeout", _("Timeout:"), "3600");
+ switch (t) {
+
+ case Ekiga:
+ request.hidden ("name", "Ekiga.net");
+ request.hidden ("host", "ekiga.net");
+ request.text ("user", _("User:"), std::string ());
+ request.hidden ("authentication_user", std::string ());
+ request.private_text ("password", _("Password:"), std::string ());
+ request.hidden ("timeout", "3600");
+ break;
+
+ case DiamondCard:
+ request.hidden ("name", "Ekiga Call Out");
+ request.hidden ("host", "sip.diamondcard.us");
+ request.text ("user", _("User:"), std::string ());
+ request.hidden ("authentication_user", std::string ());
+ request.private_text ("password", _("Password:"), std::string ());
+ request.hidden ("timeout", "3600");
+ break;
+
+ case SIP:
+ default:
+ request.text ("name", _("Name:"), std::string ());
+ request.text ("host", _("Host"), std::string ());
+ request.text ("user", _("User:"), std::string ());
+ request.text ("authentication_user", _("Authentication User:"), std::string ());
+ request.private_text ("password", _("Password:"), std::string ());
+ request.text ("timeout", _("Timeout:"), "3600");
+ break;
+ }
request.boolean ("enabled", _("Enable Account"), true);
- request.submitted.connect (sigc::mem_fun (this, &Opal::Bank::on_new_account_form_submitted));
+ request.submitted.connect (sigc::bind (sigc::mem_fun (this, &Opal::Bank::on_new_account_form_submitted), t));
if (!questions.handle_request (&request)) {
-
- // FIXME: better error reporting
#ifdef __GNUC__
std::cout << "Unhandled form request in "
<< __PRETTY_FUNCTION__ << std::endl;
@@ -88,20 +113,21 @@
}
-void Opal::Bank::on_new_account_form_submitted (Ekiga::Form &result)
+void Opal::Bank::on_new_account_form_submitted (Ekiga::Form &result,
+ Type t)
{
try {
Ekiga::FormRequestSimple request;
std::string error;
- std::string new_name = result.text ("name");
- std::string new_host = result.text ("host");
+ std::string new_name = (t == SIP) ? result.text ("name") : result.hidden ("name");
+ std::string new_host = (t == SIP) ? result.text ("host") : result.hidden ("host");
std::string new_user = result.text ("user");
- std::string new_authentication_user = result.text ("authentication_user");
+ std::string new_authentication_user = (t == SIP) ? result.text ("authentication_user") : new_user;
std::string new_password = result.private_text ("password");
bool new_enabled = result.boolean ("enabled");
- unsigned new_timeout = atoi (result.text ("timeout").c_str ());
+ unsigned new_timeout = atoi ((t == SIP) ? result.text ("timeout").c_str () : result.hidden ("timeout").c_str ());
result.visit (request);
@@ -116,7 +142,7 @@
if (!error.empty ()) {
request.error (error);
- request.submitted.connect (sigc::mem_fun (this, &Opal::Bank::on_new_account_form_submitted));
+ request.submitted.connect (sigc::bind (sigc::mem_fun (this, &Opal::Bank::on_new_account_form_submitted) ,t));
if (!questions.handle_request (&request)) {
#ifdef __GNUC__
@@ -133,7 +159,7 @@
} catch (Ekiga::Form::not_found) {
- std::cerr << "Invalid result form" << std::endl; // FIXME: do better
+ std::cerr << "Invalid result form" << std::endl;
}
}
Modified: trunk/src/endpoints/opal-bank.h
==============================================================================
--- trunk/src/endpoints/opal-bank.h (original)
+++ trunk/src/endpoints/opal-bank.h Wed Jul 16 20:21:24 2008
@@ -55,10 +55,12 @@
bool populate_menu (Ekiga::MenuBuilder & builder);
- void new_account ();
-
private:
- void on_new_account_form_submitted (Ekiga::Form & form);
+ typedef enum { SIP, Ekiga, DiamondCard } Type;
+
+ void new_account (Type t);
+
+ void on_new_account_form_submitted (Ekiga::Form & form, Type t);
void add (std::string name,
std::string host,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]