2005-06-16 David Zeuthen <davidz@redhat.com>

* properties/nm-vpnc.c: Include w_use_domain and w_domain
        (impl_get_widget): Reset w_domain, w_use_domain
        (impl_get_properties): Also pass Domain option if applicable
        (impl_is_valid): Add validation code for Domain
        (use_domain_toggled): New function
        (impl_get_confirmation_details): Also put out info about Domain if
        applicable
        (impl_get_object): Get w_domain, w_use_domain widgets and set
        up event listeners for them

        * properties/nm-vpnc-dialog.glade: Added the Domain optional
        setting


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@686 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
This commit is contained in:
David Zeuthen
2005-06-16 18:18:25 +00:00
parent c594bc261f
commit dd4fc8fc24
5 changed files with 171 additions and 13 deletions

View File

@@ -1,3 +1,18 @@
2005-06-16 David Zeuthen <davidz@redhat.com>
* properties/nm-vpnc.c: Include w_use_domain and w_domain
(impl_get_widget): Reset w_domain, w_use_domain
(impl_get_properties): Also pass Domain option if applicable
(impl_is_valid): Add validation code for Domain
(use_domain_toggled): New function
(impl_get_confirmation_details): Also put out info about Domain if
applicable
(impl_get_object): Get w_domain, w_use_domain widgets and set
up event listeners for them
* properties/nm-vpnc-dialog.glade: Added the Domain optional
setting
2005-06-12 David Zeuthen <davidz@redhat.com> 2005-06-12 David Zeuthen <davidz@redhat.com>
* doc/example-vpnc-system-wide-connection.sh: New file * doc/example-vpnc-system-wide-connection.sh: New file

View File

@@ -0,0 +1,4 @@
2005-06-16 David Zeuthen <davidz@redhat.com>
* da.po: Updated danish translations

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: NetworkManager-vpnc\n" "Project-Id-Version: NetworkManager-vpnc\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2005-06-12 09:24-0400\n" "POT-Creation-Date: 2005-06-16 14:01-0400\n"
"PO-Revision-Date: 2005-06-11 23:21-0400\n" "PO-Revision-Date: 2005-06-11 23:21-0400\n"
"Last-Translator: David Zeuthen <davidz@redhat.com>\n" "Last-Translator: David Zeuthen <davidz@redhat.com>\n"
"Language-Team: Danish <dansk@klid.dk>\n" "Language-Team: Danish <dansk@klid.dk>\n"
@@ -61,21 +61,26 @@ msgstr "Brugerverifikation til privat netværk"
msgid "_Group Password:" msgid "_Group Password:"
msgstr "_Gruppe nøgle:" msgstr "_Gruppe nøgle:"
#: properties/nm-vpnc.c:76 #: properties/nm-vpnc.c:81
msgid "Compatible Cisco VPN client (vpnc)" msgid "Compatible Cisco VPN client (vpnc)"
msgstr "Kompatibel Cisco VPN klient (vpnc)" msgstr "Kompatibel Cisco VPN klient (vpnc)"
#: properties/nm-vpnc.c:402 #: properties/nm-vpnc.c:446
#, fuzzy, c-format #, c-format
msgid "\tUsername: %s\n" msgid "\tUsername: %s\n"
msgstr "\tBrugernavn: %s\n" msgstr "\tBrugernavn: %s\n"
#: properties/nm-vpnc.c:403 #: properties/nm-vpnc.c:447
#, c-format #, c-format
msgid "\tRoutes: %s\n" msgid "\tRoutes: %s\n"
msgstr "\tRuter: %s\n" msgstr "\tRuter: %s\n"
#: properties/nm-vpnc.c:406 #: properties/nm-vpnc.c:448
#, c-format
msgid "\tDomain: %s\n"
msgstr "\tDomæne: %s\n"
#: properties/nm-vpnc.c:451
#, c-format #, c-format
msgid "" msgid ""
"The following vpnc VPN connection will be created:\n" "The following vpnc VPN connection will be created:\n"
@@ -84,7 +89,7 @@ msgid ""
"\n" "\n"
"\tGateway: %s\n" "\tGateway: %s\n"
"\tGroup Name: %s\n" "\tGroup Name: %s\n"
"%s%s\n" "%s%s%s\n"
"The connection details can be changed using the \"Edit\" button.\n" "The connection details can be changed using the \"Edit\" button.\n"
msgstr "" msgstr ""
"Flg. private netværks forbindelse via vpnc vil blive oprettet:\n" "Flg. private netværks forbindelse via vpnc vil blive oprettet:\n"
@@ -96,7 +101,7 @@ msgstr ""
"%s%s\n" "%s%s\n"
"Detaljer for forbindelsen kan senere redigeres vha. \"Redigér\" knappen\n" "Detaljer for forbindelsen kan senere redigeres vha. \"Redigér\" knappen\n"
#: properties/nm-vpnc.c:431 #: properties/nm-vpnc.c:478
msgid "Select file to import" msgid "Select file to import"
msgstr "Vælg fil der skal importeres" msgstr "Vælg fil der skal importeres"
@@ -141,14 +146,18 @@ msgid "Override user name"
msgstr "Overskriv brugernavn" msgstr "Overskriv brugernavn"
#: properties/nm-vpnc-dialog.glade:537 #: properties/nm-vpnc-dialog.glade:537
msgid "Use domain for authentication"
msgstr "Brug domæne til brugerverifikation"
#: properties/nm-vpnc-dialog.glade:613
msgid "Only use VPN connection for these addresses" msgid "Only use VPN connection for these addresses"
msgstr "Brug kun det private netværk til flg. adresser" msgstr "Brug kun det private netværk til flg. adresser"
#: properties/nm-vpnc-dialog.glade:592 #: properties/nm-vpnc-dialog.glade:668
msgid "<i>example: 172.16.0.0/16 10.11.12.0/24</i>" msgid "<i>example: 172.16.0.0/16 10.11.12.0/24</i>"
msgstr "<i>eksempel: 172.16.0.0/16 10.11.12.0/24</i>" msgstr "<i>eksempel: 172.16.0.0/16 10.11.12.0/24</i>"
#: properties/nm-vpnc-dialog.glade:715 #: properties/nm-vpnc-dialog.glade:791
msgid "_Import..." msgid "_Import..."
msgstr "_Importér..." msgstr "_Importér..."

View File

@@ -530,6 +530,82 @@
</packing> </packing>
</child> </child>
<child>
<widget class="GtkCheckButton" id="vpnc-use-domain">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">Use domain for authentication</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<property name="active">False</property>
<property name="inconsistent">False</property>
<property name="draw_indicator">True</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkHBox" id="hbox8">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">0</property>
<child>
<widget class="GtkLabel" id="label16">
<property name="visible">True</property>
<property name="label"></property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">12</property>
<property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">True</property>
</packing>
</child>
<child>
<widget class="GtkEntry" id="vpnc-domain">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="editable">True</property>
<property name="visibility">True</property>
<property name="max_length">0</property>
<property name="text" translatable="yes"></property>
<property name="has_frame">True</property>
<property name="invisible_char">*</property>
<property name="activates_default">False</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">True</property>
<property name="fill">True</property>
</packing>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">True</property>
<property name="fill">True</property>
</packing>
</child>
<child> <child>
<widget class="GtkCheckButton" id="vpnc-use-routes"> <widget class="GtkCheckButton" id="vpnc-use-routes">
<property name="visible">True</property> <property name="visible">True</property>
@@ -544,8 +620,8 @@
</widget> </widget>
<packing> <packing>
<property name="padding">0</property> <property name="padding">0</property>
<property name="expand">True</property> <property name="expand">False</property>
<property name="fill">True</property> <property name="fill">False</property>
</packing> </packing>
</child> </child>

View File

@@ -49,6 +49,8 @@ struct _NetworkManagerVpnUIImpl {
GtkEntry *w_group_name; GtkEntry *w_group_name;
GtkCheckButton *w_use_alternate_username; GtkCheckButton *w_use_alternate_username;
GtkEntry *w_username; GtkEntry *w_username;
GtkCheckButton *w_use_domain;
GtkEntry *w_domain;
GtkCheckButton *w_use_routes; GtkCheckButton *w_use_routes;
GtkEntry *w_routes; GtkEntry *w_routes;
GtkExpander *w_opt_info_expander; GtkExpander *w_opt_info_expander;
@@ -63,10 +65,13 @@ vpnc_clear_widget (NetworkManagerVpnUIImpl *impl)
gtk_entry_set_text (impl->w_group_name, ""); gtk_entry_set_text (impl->w_group_name, "");
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (impl->w_use_alternate_username), FALSE); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (impl->w_use_alternate_username), FALSE);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (impl->w_use_routes), FALSE); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (impl->w_use_routes), FALSE);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (impl->w_use_domain), FALSE);
gtk_entry_set_text (impl->w_username, ""); gtk_entry_set_text (impl->w_username, "");
gtk_entry_set_text (impl->w_routes, ""); gtk_entry_set_text (impl->w_routes, "");
gtk_entry_set_text (impl->w_domain, "");
gtk_widget_set_sensitive (GTK_WIDGET (impl->w_username), FALSE); gtk_widget_set_sensitive (GTK_WIDGET (impl->w_username), FALSE);
gtk_widget_set_sensitive (GTK_WIDGET (impl->w_routes), FALSE); gtk_widget_set_sensitive (GTK_WIDGET (impl->w_routes), FALSE);
gtk_widget_set_sensitive (GTK_WIDGET (impl->w_domain), FALSE);
gtk_expander_set_expanded (impl->w_opt_info_expander, FALSE); gtk_expander_set_expanded (impl->w_opt_info_expander, FALSE);
} }
@@ -112,6 +117,11 @@ impl_get_widget (NetworkManagerVpnUI *self, GSList *properties, GSList *routes,
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (impl->w_use_alternate_username), TRUE); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (impl->w_use_alternate_username), TRUE);
gtk_widget_set_sensitive (GTK_WIDGET (impl->w_username), TRUE); gtk_widget_set_sensitive (GTK_WIDGET (impl->w_username), TRUE);
should_expand = TRUE; should_expand = TRUE;
} else if (strcmp (key, "Domain") == 0) {
gtk_entry_set_text (impl->w_domain, value);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (impl->w_use_domain), TRUE);
gtk_widget_set_sensitive (GTK_WIDGET (impl->w_domain), TRUE);
should_expand = TRUE;
} }
} }
@@ -158,12 +168,16 @@ impl_get_properties (NetworkManagerVpnUI *self)
const char *secret; const char *secret;
gboolean use_alternate_username; gboolean use_alternate_username;
const char *username; const char *username;
gboolean use_domain;
const char *domain;
connectionname = gtk_entry_get_text (impl->w_connection_name); connectionname = gtk_entry_get_text (impl->w_connection_name);
gateway = gtk_entry_get_text (impl->w_gateway); gateway = gtk_entry_get_text (impl->w_gateway);
groupname = gtk_entry_get_text (impl->w_group_name); groupname = gtk_entry_get_text (impl->w_group_name);
use_alternate_username = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (impl->w_use_alternate_username)); use_alternate_username = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (impl->w_use_alternate_username));
username = gtk_entry_get_text (impl->w_username); username = gtk_entry_get_text (impl->w_username);
use_domain = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (impl->w_use_domain));
domain = gtk_entry_get_text (impl->w_domain);
data = NULL; data = NULL;
data = g_slist_append (data, g_strdup ("IPSec gateway")); data = g_slist_append (data, g_strdup ("IPSec gateway"));
@@ -174,6 +188,10 @@ impl_get_properties (NetworkManagerVpnUI *self)
data = g_slist_append (data, g_strdup ("Xauth username")); data = g_slist_append (data, g_strdup ("Xauth username"));
data = g_slist_append (data, g_strdup (username)); data = g_slist_append (data, g_strdup (username));
} }
if (use_domain) {
data = g_slist_append (data, g_strdup ("Domain"));
data = g_slist_append (data, g_strdup (domain));
}
return data; return data;
} }
@@ -244,6 +262,8 @@ impl_is_valid (NetworkManagerVpnUI *self)
const char *username; const char *username;
gboolean use_routes; gboolean use_routes;
const char *routes_entry; const char *routes_entry;
gboolean use_domain;
const char *domain_entry;
is_valid = FALSE; is_valid = FALSE;
@@ -254,13 +274,16 @@ impl_is_valid (NetworkManagerVpnUI *self)
username = gtk_entry_get_text (impl->w_username); username = gtk_entry_get_text (impl->w_username);
use_routes = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (impl->w_use_routes)); use_routes = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (impl->w_use_routes));
routes_entry = gtk_entry_get_text (impl->w_routes); routes_entry = gtk_entry_get_text (impl->w_routes);
use_domain = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (impl->w_use_domain));
domain_entry = gtk_entry_get_text (impl->w_domain);
/* initial sanity checking */ /* initial sanity checking */
if (strlen (connectionname) > 0 && if (strlen (connectionname) > 0 &&
strlen (gateway) > 0 && strlen (gateway) > 0 &&
strlen (groupname) > 0 && strlen (groupname) > 0 &&
((!use_alternate_username) || (use_alternate_username && strlen (username) > 0)) && ((!use_alternate_username) || (use_alternate_username && strlen (username) > 0)) &&
((!use_routes) || (use_routes && strlen (routes_entry) > 0))) ((!use_routes) || (use_routes && strlen (routes_entry) > 0)) &&
((!use_domain) || (use_domain && strlen (domain_entry) > 0)))
is_valid = TRUE; is_valid = TRUE;
/* validate gateway: can be a hostname or an IP; do not allow spaces or tabs */ /* validate gateway: can be a hostname or an IP; do not allow spaces or tabs */
@@ -351,6 +374,22 @@ use_routes_toggled (GtkToggleButton *togglebutton, gpointer user_data)
} }
} }
static void
use_domain_toggled (GtkToggleButton *togglebutton, gpointer user_data)
{
NetworkManagerVpnUIImpl *impl = (NetworkManagerVpnUIImpl *) user_data;
gtk_widget_set_sensitive (GTK_WIDGET (impl->w_domain),
gtk_toggle_button_get_active (togglebutton));
if (impl->callback != NULL) {
gboolean is_valid;
is_valid = impl_is_valid (&(impl->parent));
impl->callback (&(impl->parent), is_valid, impl->callback_user_data);
}
}
static void static void
editable_changed (GtkEditable *editable, gpointer user_data) editable_changed (GtkEditable *editable, gpointer user_data)
{ {
@@ -382,6 +421,7 @@ impl_get_confirmation_details (NetworkManagerVpnUI *self)
static char buf[512]; static char buf[512];
static char buf2[128]; static char buf2[128];
static char buf3[128]; static char buf3[128];
static char buf4[128];
NetworkManagerVpnUIImpl *impl = (NetworkManagerVpnUIImpl *) self->data; NetworkManagerVpnUIImpl *impl = (NetworkManagerVpnUIImpl *) self->data;
const char *connectionname; const char *connectionname;
const char *gateway; const char *gateway;
@@ -390,6 +430,8 @@ impl_get_confirmation_details (NetworkManagerVpnUI *self)
const char *username; const char *username;
gboolean use_routes; gboolean use_routes;
const char *routes; const char *routes;
gboolean use_domain;
const char *domain;
connectionname = gtk_entry_get_text (impl->w_connection_name); connectionname = gtk_entry_get_text (impl->w_connection_name);
gateway = gtk_entry_get_text (impl->w_gateway); gateway = gtk_entry_get_text (impl->w_gateway);
@@ -398,9 +440,12 @@ impl_get_confirmation_details (NetworkManagerVpnUI *self)
username = gtk_entry_get_text (impl->w_username); username = gtk_entry_get_text (impl->w_username);
use_routes = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (impl->w_use_routes)); use_routes = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (impl->w_use_routes));
routes = gtk_entry_get_text (impl->w_routes); routes = gtk_entry_get_text (impl->w_routes);
use_domain = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (impl->w_use_domain));
domain = gtk_entry_get_text (impl->w_domain);
g_snprintf (buf2, sizeof (buf2), _("\tUsername: %s\n"), username); g_snprintf (buf2, sizeof (buf2), _("\tUsername: %s\n"), username);
g_snprintf (buf3, sizeof (buf2), _("\tRoutes: %s\n"), routes); g_snprintf (buf3, sizeof (buf2), _("\tRoutes: %s\n"), routes);
g_snprintf (buf4, sizeof (buf4), _("\tDomain: %s\n"), domain);
g_snprintf (buf, sizeof (buf), g_snprintf (buf, sizeof (buf),
_("The following vpnc VPN connection will be created:\n" _("The following vpnc VPN connection will be created:\n"
@@ -411,12 +456,14 @@ impl_get_confirmation_details (NetworkManagerVpnUI *self)
"\tGroup Name: %s\n" "\tGroup Name: %s\n"
"%s" "%s"
"%s" "%s"
"%s"
"\n" "\n"
"The connection details can be changed using the \"Edit\" button.\n"), "The connection details can be changed using the \"Edit\" button.\n"),
connectionname, connectionname,
gateway, gateway,
groupname, groupname,
use_alternate_username ? buf2 : "", use_alternate_username ? buf2 : "",
use_domain ? buf4 : "",
use_routes ? buf3 : ""); use_routes ? buf3 : "");
return buf; return buf;
@@ -472,6 +519,8 @@ impl_get_object (void)
impl->w_username = GTK_ENTRY (glade_xml_get_widget (impl->xml, "vpnc-username")); impl->w_username = GTK_ENTRY (glade_xml_get_widget (impl->xml, "vpnc-username"));
impl->w_use_routes = GTK_CHECK_BUTTON (glade_xml_get_widget (impl->xml, "vpnc-use-routes")); impl->w_use_routes = GTK_CHECK_BUTTON (glade_xml_get_widget (impl->xml, "vpnc-use-routes"));
impl->w_routes = GTK_ENTRY (glade_xml_get_widget (impl->xml, "vpnc-routes")); impl->w_routes = GTK_ENTRY (glade_xml_get_widget (impl->xml, "vpnc-routes"));
impl->w_use_domain = GTK_CHECK_BUTTON (glade_xml_get_widget (impl->xml, "vpnc-use-domain"));
impl->w_domain = GTK_ENTRY (glade_xml_get_widget (impl->xml, "vpnc-domain"));
impl->w_opt_info_expander = GTK_EXPANDER (glade_xml_get_widget (impl->xml, impl->w_opt_info_expander = GTK_EXPANDER (glade_xml_get_widget (impl->xml,
"vpnc-optional-information-expander")); "vpnc-optional-information-expander"));
impl->w_import_button = GTK_BUTTON (glade_xml_get_widget (impl->xml, impl->w_import_button = GTK_BUTTON (glade_xml_get_widget (impl->xml,
@@ -484,6 +533,9 @@ impl_get_object (void)
gtk_signal_connect (GTK_OBJECT (impl->w_use_routes), gtk_signal_connect (GTK_OBJECT (impl->w_use_routes),
"toggled", GTK_SIGNAL_FUNC (use_routes_toggled), impl); "toggled", GTK_SIGNAL_FUNC (use_routes_toggled), impl);
gtk_signal_connect (GTK_OBJECT (impl->w_use_domain),
"toggled", GTK_SIGNAL_FUNC (use_domain_toggled), impl);
gtk_signal_connect (GTK_OBJECT (impl->w_connection_name), gtk_signal_connect (GTK_OBJECT (impl->w_connection_name),
"changed", GTK_SIGNAL_FUNC (editable_changed), impl); "changed", GTK_SIGNAL_FUNC (editable_changed), impl);
gtk_signal_connect (GTK_OBJECT (impl->w_gateway), gtk_signal_connect (GTK_OBJECT (impl->w_gateway),
@@ -494,6 +546,8 @@ impl_get_object (void)
"changed", GTK_SIGNAL_FUNC (editable_changed), impl); "changed", GTK_SIGNAL_FUNC (editable_changed), impl);
gtk_signal_connect (GTK_OBJECT (impl->w_routes), gtk_signal_connect (GTK_OBJECT (impl->w_routes),
"changed", GTK_SIGNAL_FUNC (editable_changed), impl); "changed", GTK_SIGNAL_FUNC (editable_changed), impl);
gtk_signal_connect (GTK_OBJECT (impl->w_domain),
"changed", GTK_SIGNAL_FUNC (editable_changed), impl);
gtk_signal_connect (GTK_OBJECT (impl->w_import_button), gtk_signal_connect (GTK_OBJECT (impl->w_import_button),
"clicked", GTK_SIGNAL_FUNC (import_button_clicked), impl); "clicked", GTK_SIGNAL_FUNC (import_button_clicked), impl);