void RL::Heap::on_edit_form_submitted (bool submitted, Ekiga::Form& result) { if (!submitted) return; std::string name_str = result.text ("name"); std::string root_str = result.text ("root"); std::string user_str = result.text ("user"); std::string username_str = result.text ("username"); std::string password_str = result.private_text ("password"); bool writable = result.boolean ("writable"); if (writable) xmlSetProp (node, BAD_CAST "writable", BAD_CAST "1"); else xmlSetProp (node, BAD_CAST "writable", BAD_CAST "0"); robust_xmlNodeSetContent (node, &name, "name", name_str); robust_xmlNodeSetContent (node, &root, "root", root_str); robust_xmlNodeSetContent (node, &user, "user", user_str); robust_xmlNodeSetContent (node, &username, "username", username_str); robust_xmlNodeSetContent (node, &password, "password", password_str); trigger_saving.emit (); updated.emit (); refresh (); }
void LM::Account::on_edit_form_submitted (bool submitted, Ekiga::Form &result) { if (!submitted) return; disable (); // don't stay connected! std::string name = result.text ("name"); std::string user = result.text ("user"); std::string server = result.text ("server"); std::string port = result.text ("port"); std::string resource = result.text ("resource"); std::string password = result.private_text ("password"); bool enable_on_startup = result.boolean ("enabled"); xmlSetProp (node, BAD_CAST "name", BAD_CAST name.c_str ()); xmlSetProp (node, BAD_CAST "user", BAD_CAST user.c_str ()); xmlSetProp (node, BAD_CAST "server", BAD_CAST server.c_str ()); xmlSetProp (node, BAD_CAST "port", BAD_CAST port.c_str ()); xmlSetProp (node, BAD_CAST "resource", BAD_CAST resource.c_str ()); xmlSetProp (node, BAD_CAST "password", BAD_CAST password.c_str ()); if (enable_on_startup) { xmlSetProp (node, BAD_CAST "startup", BAD_CAST "true"); enable (); } else { xmlSetProp (node, BAD_CAST "startup", BAD_CAST "false"); updated (); } }
void Opal::Bank::on_new_account_form_submitted (Ekiga::Form &result, Account::Type t) { try { Ekiga::FormRequestSimple request; std::string error; std::string new_name = (t == Opal::Account::SIP || t == Opal::Account::H323) ? result.text ("name") : result.hidden ("name"); std::string new_host = (t == Opal::Account::SIP || t == Opal::Account::H323) ? result.text ("host") : result.hidden ("host"); std::string new_user = result.text ("user"); std::string new_authentication_user = (t == Opal::Account::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 ((t == Opal::Account::SIP || t == Opal::Account::H323) ? result.text ("timeout").c_str () : result.hidden ("timeout").c_str ()); result.visit (request); if (new_name.empty ()) error = _("You did not supply a name for that account."); else if (new_host.empty ()) error = _("You did not supply a host to register to."); else if (new_user.empty ()) error = _("You did not supply a user name for that account."); else if (new_timeout < 10) error = _("The timeout should have a bigger value."); if (!error.empty ()) { request.error (error); request.submitted.connect (sigc::bind (sigc::mem_fun (this, &Opal::Bank::on_new_account_form_submitted) ,t)); if (!questions.handle_request (&request)) { #ifdef __GNUC__ std::cout << "Unhandled form request in " << __PRETTY_FUNCTION__ << std::endl; #endif } } else { add (t, new_name, new_host, new_user, new_authentication_user, new_password, new_enabled, new_timeout); save (); } } catch (Ekiga::Form::not_found) { std::cerr << "Invalid result form" << std::endl; } }
void Opal::Bank::on_new_account_form_submitted (bool submitted, Ekiga::Form &result, Account::Type acc_type) { if (!submitted) return; boost::shared_ptr<Ekiga::FormRequestSimple> request = boost::shared_ptr<Ekiga::FormRequestSimple> (new Ekiga::FormRequestSimple (boost::bind (&Opal::Bank::on_new_account_form_submitted, this, _1, _2, acc_type))); std::string error; std::string new_name = (acc_type == Opal::Account::SIP || acc_type == Opal::Account::H323) ? result.text ("name") : result.hidden ("name"); std::string new_host = (acc_type == Opal::Account::SIP || acc_type == Opal::Account::H323) ? result.text ("host") : result.hidden ("host"); std::string new_user = result.text ("user"); std::string new_authentication_user = (acc_type == Opal::Account::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 ((acc_type == Opal::Account::SIP || acc_type == Opal::Account::H323) ? result.text ("timeout").c_str () : result.hidden ("timeout").c_str ()); result.visit (*request); if (new_name.empty ()) error = _("You did not supply a name for that account."); else if (new_host.empty ()) error = _("You did not supply a host to register to."); else if (new_user.empty ()) error = _("You did not supply a user name for that account."); else if (new_timeout < 10) error = _("The timeout should be at least 10 seconds."); if (!error.empty ()) { request->error (error); questions (request); } else { add (acc_type, new_name, new_host, new_user, new_authentication_user, new_password, new_enabled, new_timeout); save (); } }
void OPENLDAP::Source::on_new_book_form_submitted (Ekiga::Form &result) { try { std::string name = result.text ("name"); std::string hostname = result.text ("hostname"); std::string port_string = result.text ("port"); std::string base = result.text ("base"); std::string scope = result.single_choice ("scope"); std::string call_attribute = result.text ("call-attribute"); std::string password = result.private_text ("password"); int port = atoi (port_string.c_str ()); add (name, hostname, port, base, scope, call_attribute, password); save (); } catch (Ekiga::Form::not_found) { std::cerr << "Invalid result form" << std::endl; // FIXME: do better } }
void LM::Bank::on_new_account_form_submitted (bool submitted, Ekiga::Form &result) { if (!submitted) return; std::string name = result.text ("name"); std::string user = result.text ("user"); std::string server = result.text ("server"); std::string resource = result.text ("resource"); std::string password = result.private_text ("password"); bool enable_on_startup = result.boolean ("enabled"); boost::shared_ptr<Account> account (new Account (details, dialect, cluster, name, user, server, LM_CONNECTION_DEFAULT_PORT, resource, password, enable_on_startup)); xmlNodePtr root = xmlDocGetRootElement (doc); xmlAddChild (root, account->get_node ()); save (); add (account); }