network: Move GtkBuilder code from WirelessSecurity to subclasses
This commit is contained in:
parent
0f1cff9130
commit
4b182dd7c0
7 changed files with 94 additions and 55 deletions
|
@ -171,7 +171,6 @@ wireless_security_unref (WirelessSecurity *self)
|
|||
g_clear_pointer (&priv->username, g_free);
|
||||
g_clear_pointer (&priv->password, g_free);
|
||||
|
||||
g_clear_object (&self->builder);
|
||||
g_slice_free1 (priv->obj_size, self);
|
||||
g_free (priv);
|
||||
}
|
||||
|
@ -183,15 +182,12 @@ wireless_security_init (gsize obj_size,
|
|||
WSValidateFunc validate,
|
||||
WSAddToSizeGroupFunc add_to_size_group,
|
||||
WSFillConnectionFunc fill_connection,
|
||||
WSDestroyFunc destroy,
|
||||
const char *ui_resource)
|
||||
WSDestroyFunc destroy)
|
||||
{
|
||||
g_autoptr(WirelessSecurity) self = NULL;
|
||||
WirelessSecurityPrivate *priv;
|
||||
g_autoptr(GError) error = NULL;
|
||||
|
||||
g_return_val_if_fail (obj_size > 0, NULL);
|
||||
g_return_val_if_fail (ui_resource != NULL, NULL);
|
||||
|
||||
g_type_ensure (WIRELESS_TYPE_SECURITY);
|
||||
|
||||
|
@ -206,14 +202,6 @@ wireless_security_init (gsize obj_size,
|
|||
priv->validate = validate;
|
||||
priv->add_to_size_group = add_to_size_group;
|
||||
priv->fill_connection = fill_connection;
|
||||
|
||||
self->builder = gtk_builder_new ();
|
||||
if (!gtk_builder_add_from_resource (self->builder, ui_resource, &error)) {
|
||||
g_warning ("Couldn't load UI builder resource %s: %s",
|
||||
ui_resource, error->message);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
priv->destroy = destroy;
|
||||
priv->adhoc_compatible = TRUE;
|
||||
|
||||
|
|
|
@ -40,7 +40,6 @@ typedef GtkWidget* (*WSGetWidgetFunc) (WirelessSecurity *sec);
|
|||
|
||||
struct _WirelessSecurity {
|
||||
WirelessSecurityPrivate *priv;
|
||||
GtkBuilder *builder;
|
||||
};
|
||||
|
||||
#define WIRELESS_SECURITY(x) ((WirelessSecurity *) x)
|
||||
|
@ -92,8 +91,7 @@ WirelessSecurity *wireless_security_init (gsize obj_size,
|
|||
WSValidateFunc validate,
|
||||
WSAddToSizeGroupFunc add_to_size_group,
|
||||
WSFillConnectionFunc fill_connection,
|
||||
WSDestroyFunc destroy,
|
||||
const char *ui_resource);
|
||||
WSDestroyFunc destroy);
|
||||
|
||||
void wireless_security_notify_changed (WirelessSecurity *sec);
|
||||
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
struct _WirelessSecurityDynamicWEP {
|
||||
WirelessSecurity parent;
|
||||
|
||||
GtkBuilder *builder;
|
||||
GtkComboBox *auth_combo;
|
||||
GtkLabel *auth_label;
|
||||
GtkGrid *grid;
|
||||
|
@ -45,6 +46,7 @@ destroy (WirelessSecurity *parent)
|
|||
{
|
||||
WirelessSecurityDynamicWEP *self = (WirelessSecurityDynamicWEP *) parent;
|
||||
|
||||
g_clear_object (&self->builder);
|
||||
g_clear_object (&self->size_group);
|
||||
}
|
||||
|
||||
|
@ -105,22 +107,28 @@ ws_dynamic_wep_new (NMConnection *connection,
|
|||
{
|
||||
WirelessSecurity *parent;
|
||||
WirelessSecurityDynamicWEP *self;
|
||||
g_autoptr(GError) error = NULL;
|
||||
|
||||
parent = wireless_security_init (sizeof (WirelessSecurityDynamicWEP),
|
||||
get_widget,
|
||||
validate,
|
||||
add_to_size_group,
|
||||
fill_connection,
|
||||
destroy,
|
||||
"/org/gnome/ControlCenter/network/ws-dynamic-wep.ui");
|
||||
destroy);
|
||||
if (!parent)
|
||||
return NULL;
|
||||
self = (WirelessSecurityDynamicWEP *) parent;
|
||||
|
||||
self->auth_combo = GTK_COMBO_BOX (gtk_builder_get_object (parent->builder, "auth_combo"));
|
||||
self->auth_label = GTK_LABEL (gtk_builder_get_object (parent->builder, "auth_label"));
|
||||
self->grid = GTK_GRID (gtk_builder_get_object (parent->builder, "grid"));
|
||||
self->method_box = GTK_BOX (gtk_builder_get_object (parent->builder, "method_box"));
|
||||
self->builder = gtk_builder_new ();
|
||||
if (!gtk_builder_add_from_resource (self->builder, "/org/gnome/ControlCenter/network/ws-dynamic-wep.ui", &error)) {
|
||||
g_warning ("Couldn't load UI builder resource: %s", error->message);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
self->auth_combo = GTK_COMBO_BOX (gtk_builder_get_object (self->builder, "auth_combo"));
|
||||
self->auth_label = GTK_LABEL (gtk_builder_get_object (self->builder, "auth_label"));
|
||||
self->grid = GTK_GRID (gtk_builder_get_object (self->builder, "grid"));
|
||||
self->method_box = GTK_BOX (gtk_builder_get_object (self->builder, "method_box"));
|
||||
|
||||
wireless_security_set_adhoc_compatible (parent, FALSE);
|
||||
|
||||
|
|
|
@ -33,6 +33,7 @@
|
|||
struct _WirelessSecurityLEAP {
|
||||
WirelessSecurity parent;
|
||||
|
||||
GtkBuilder *builder;
|
||||
GtkGrid *grid;
|
||||
GtkEntry *password_entry;
|
||||
GtkLabel *password_label;
|
||||
|
@ -44,6 +45,14 @@ struct _WirelessSecurityLEAP {
|
|||
const char *password_flags_name;
|
||||
};
|
||||
|
||||
static void
|
||||
destroy (WirelessSecurity *parent)
|
||||
{
|
||||
WirelessSecurityLEAP *self = (WirelessSecurityLEAP *) parent;
|
||||
|
||||
g_clear_object (&self->builder);
|
||||
}
|
||||
|
||||
static void
|
||||
show_toggled_cb (WirelessSecurityLEAP *self)
|
||||
{
|
||||
|
@ -151,14 +160,14 @@ ws_leap_new (NMConnection *connection, gboolean secrets_only)
|
|||
WirelessSecurity *parent;
|
||||
WirelessSecurityLEAP *self;
|
||||
NMSettingWirelessSecurity *wsec = NULL;
|
||||
g_autoptr(GError) error = NULL;
|
||||
|
||||
parent = wireless_security_init (sizeof (WirelessSecurityLEAP),
|
||||
get_widget,
|
||||
validate,
|
||||
add_to_size_group,
|
||||
fill_connection,
|
||||
NULL,
|
||||
"/org/gnome/ControlCenter/network/ws-leap.ui");
|
||||
destroy);
|
||||
if (!parent)
|
||||
return NULL;
|
||||
|
||||
|
@ -179,12 +188,18 @@ ws_leap_new (NMConnection *connection, gboolean secrets_only)
|
|||
self->editing_connection = secrets_only ? FALSE : TRUE;
|
||||
self->password_flags_name = NM_SETTING_WIRELESS_SECURITY_LEAP_PASSWORD;
|
||||
|
||||
self->grid = GTK_GRID (gtk_builder_get_object (parent->builder, "grid"));
|
||||
self->password_entry = GTK_ENTRY (gtk_builder_get_object (parent->builder, "password_entry"));
|
||||
self->password_label = GTK_LABEL (gtk_builder_get_object (parent->builder, "password_label"));
|
||||
self->show_password_check = GTK_CHECK_BUTTON (gtk_builder_get_object (parent->builder, "show_password_check"));
|
||||
self->username_entry = GTK_ENTRY (gtk_builder_get_object (parent->builder, "username_entry"));
|
||||
self->username_label = GTK_LABEL (gtk_builder_get_object (parent->builder, "username_label"));
|
||||
self->builder = gtk_builder_new ();
|
||||
if (!gtk_builder_add_from_resource (self->builder, "/org/gnome/ControlCenter/network/ws-leap.ui", &error)) {
|
||||
g_warning ("Couldn't load UI builder resource: %s", error->message);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
self->grid = GTK_GRID (gtk_builder_get_object (self->builder, "grid"));
|
||||
self->password_entry = GTK_ENTRY (gtk_builder_get_object (self->builder, "password_entry"));
|
||||
self->password_label = GTK_LABEL (gtk_builder_get_object (self->builder, "password_label"));
|
||||
self->show_password_check = GTK_CHECK_BUTTON (gtk_builder_get_object (self->builder, "show_password_check"));
|
||||
self->username_entry = GTK_ENTRY (gtk_builder_get_object (self->builder, "username_entry"));
|
||||
self->username_label = GTK_LABEL (gtk_builder_get_object (self->builder, "username_label"));
|
||||
|
||||
g_signal_connect_swapped (self->password_entry, "changed", G_CALLBACK (changed_cb), self);
|
||||
|
||||
|
|
|
@ -33,6 +33,7 @@
|
|||
struct _WirelessSecurityWEPKey {
|
||||
WirelessSecurity parent;
|
||||
|
||||
GtkBuilder *builder;
|
||||
GtkComboBox *auth_method_combo;
|
||||
GtkLabel *auth_method_label;
|
||||
GtkGrid *grid;
|
||||
|
@ -89,6 +90,7 @@ destroy (WirelessSecurity *parent)
|
|||
WirelessSecurityWEPKey *self = (WirelessSecurityWEPKey *) parent;
|
||||
int i;
|
||||
|
||||
g_clear_object (&self->builder);
|
||||
for (i = 0; i < 4; i++)
|
||||
memset (self->keys[i], 0, sizeof (self->keys[i]));
|
||||
}
|
||||
|
@ -264,26 +266,32 @@ ws_wep_key_new (NMConnection *connection,
|
|||
guint8 default_key_idx = 0;
|
||||
gboolean is_adhoc = adhoc_create;
|
||||
gboolean is_shared_key = FALSE;
|
||||
g_autoptr(GError) error = NULL;
|
||||
|
||||
parent = wireless_security_init (sizeof (WirelessSecurityWEPKey),
|
||||
get_widget,
|
||||
validate,
|
||||
add_to_size_group,
|
||||
fill_connection,
|
||||
destroy,
|
||||
"/org/gnome/ControlCenter/network/ws-wep-key.ui");
|
||||
destroy);
|
||||
if (!parent)
|
||||
return NULL;
|
||||
self = (WirelessSecurityWEPKey *) parent;
|
||||
|
||||
self->auth_method_combo = GTK_COMBO_BOX (gtk_builder_get_object (parent->builder, "auth_method_combo"));
|
||||
self->auth_method_label = GTK_LABEL (gtk_builder_get_object (parent->builder, "auth_method_label"));
|
||||
self->grid = GTK_GRID (gtk_builder_get_object (parent->builder, "grid"));
|
||||
self->key_entry = GTK_ENTRY (gtk_builder_get_object (parent->builder, "key_entry"));
|
||||
self->key_index_combo = GTK_COMBO_BOX (gtk_builder_get_object (parent->builder, "key_index_combo"));
|
||||
self->key_index_label = GTK_LABEL (gtk_builder_get_object (parent->builder, "key_index_label"));
|
||||
self->key_label = GTK_LABEL (gtk_builder_get_object (parent->builder, "key_label"));
|
||||
self->show_key_check = GTK_CHECK_BUTTON (gtk_builder_get_object (parent->builder, "show_key_check"));
|
||||
self->builder = gtk_builder_new ();
|
||||
if (!gtk_builder_add_from_resource (self->builder, "/org/gnome/ControlCenter/network/ws-wep-key.ui", &error)) {
|
||||
g_warning ("Couldn't load UI builder resource: %s", error->message);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
self->auth_method_combo = GTK_COMBO_BOX (gtk_builder_get_object (self->builder, "auth_method_combo"));
|
||||
self->auth_method_label = GTK_LABEL (gtk_builder_get_object (self->builder, "auth_method_label"));
|
||||
self->grid = GTK_GRID (gtk_builder_get_object (self->builder, "grid"));
|
||||
self->key_entry = GTK_ENTRY (gtk_builder_get_object (self->builder, "key_entry"));
|
||||
self->key_index_combo = GTK_COMBO_BOX (gtk_builder_get_object (self->builder, "key_index_combo"));
|
||||
self->key_index_label = GTK_LABEL (gtk_builder_get_object (self->builder, "key_index_label"));
|
||||
self->key_label = GTK_LABEL (gtk_builder_get_object (self->builder, "key_label"));
|
||||
self->show_key_check = GTK_CHECK_BUTTON (gtk_builder_get_object (self->builder, "show_key_check"));
|
||||
|
||||
self->editing_connection = secrets_only ? FALSE : TRUE;
|
||||
self->password_flags_name = NM_SETTING_WIRELESS_SECURITY_WEP_KEY0;
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
struct _WirelessSecurityWPAEAP {
|
||||
WirelessSecurity parent;
|
||||
|
||||
GtkBuilder *builder;
|
||||
GtkComboBox *auth_combo;
|
||||
GtkLabel *auth_label;
|
||||
GtkGrid *grid;
|
||||
|
@ -40,12 +41,12 @@ struct _WirelessSecurityWPAEAP {
|
|||
GtkSizeGroup *size_group;
|
||||
};
|
||||
|
||||
|
||||
static void
|
||||
destroy (WirelessSecurity *parent)
|
||||
{
|
||||
WirelessSecurityWPAEAP *self = (WirelessSecurityWPAEAP *) parent;
|
||||
|
||||
g_clear_object (&self->builder);
|
||||
g_clear_object (&self->size_group);
|
||||
}
|
||||
|
||||
|
@ -106,22 +107,28 @@ ws_wpa_eap_new (NMConnection *connection,
|
|||
{
|
||||
WirelessSecurity *parent;
|
||||
WirelessSecurityWPAEAP *self;
|
||||
g_autoptr(GError) error = NULL;
|
||||
|
||||
parent = wireless_security_init (sizeof (WirelessSecurityWPAEAP),
|
||||
get_widget,
|
||||
validate,
|
||||
add_to_size_group,
|
||||
fill_connection,
|
||||
destroy,
|
||||
"/org/gnome/ControlCenter/network/ws-wpa-eap.ui");
|
||||
destroy);
|
||||
if (!parent)
|
||||
return NULL;
|
||||
self = (WirelessSecurityWPAEAP *) parent;
|
||||
|
||||
self->auth_combo = GTK_COMBO_BOX (gtk_builder_get_object (parent->builder, "auth_combo"));
|
||||
self->auth_label = GTK_LABEL (gtk_builder_get_object (parent->builder, "auth_label"));
|
||||
self->grid = GTK_GRID (gtk_builder_get_object (parent->builder, "grid"));
|
||||
self->method_box = GTK_BOX (gtk_builder_get_object (parent->builder, "method_box"));
|
||||
self->builder = gtk_builder_new ();
|
||||
if (!gtk_builder_add_from_resource (self->builder, "/org/gnome/ControlCenter/network/ws-wpa-eap.ui", &error)) {
|
||||
g_warning ("Couldn't load UI builder resource: %s", error->message);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
self->auth_combo = GTK_COMBO_BOX (gtk_builder_get_object (self->builder, "auth_combo"));
|
||||
self->auth_label = GTK_LABEL (gtk_builder_get_object (self->builder, "auth_label"));
|
||||
self->grid = GTK_GRID (gtk_builder_get_object (self->builder, "grid"));
|
||||
self->method_box = GTK_BOX (gtk_builder_get_object (self->builder, "method_box"));
|
||||
|
||||
wireless_security_set_adhoc_compatible (parent, FALSE);
|
||||
|
||||
|
|
|
@ -36,6 +36,7 @@
|
|||
struct _WirelessSecurityWPAPSK {
|
||||
WirelessSecurity parent;
|
||||
|
||||
GtkBuilder *builder;
|
||||
GtkGrid *grid;
|
||||
GtkEntry *password_entry;
|
||||
GtkLabel *password_label;
|
||||
|
@ -47,6 +48,14 @@ struct _WirelessSecurityWPAPSK {
|
|||
const char *password_flags_name;
|
||||
};
|
||||
|
||||
static void
|
||||
destroy (WirelessSecurity *parent)
|
||||
{
|
||||
WirelessSecurityWPAPSK *self = (WirelessSecurityWPAPSK *) parent;
|
||||
|
||||
g_clear_object (&self->builder);
|
||||
}
|
||||
|
||||
static GtkWidget *
|
||||
get_widget (WirelessSecurity *parent)
|
||||
{
|
||||
|
@ -181,24 +190,30 @@ ws_wpa_psk_new (NMConnection *connection, gboolean secrets_only)
|
|||
WirelessSecurity *parent;
|
||||
WirelessSecurityWPAPSK *self;
|
||||
NMSetting *setting = NULL;
|
||||
g_autoptr(GError) error = NULL;
|
||||
|
||||
parent = wireless_security_init (sizeof (WirelessSecurityWPAPSK),
|
||||
get_widget,
|
||||
validate,
|
||||
add_to_size_group,
|
||||
fill_connection,
|
||||
NULL,
|
||||
"/org/gnome/ControlCenter/network/ws-wpa-psk.ui");
|
||||
destroy);
|
||||
if (!parent)
|
||||
return NULL;
|
||||
self = (WirelessSecurityWPAPSK *) parent;
|
||||
|
||||
self->grid = GTK_GRID (gtk_builder_get_object (parent->builder, "grid"));
|
||||
self->password_entry = GTK_ENTRY (gtk_builder_get_object (parent->builder, "password_entry"));
|
||||
self->password_label = GTK_LABEL (gtk_builder_get_object (parent->builder, "password_label"));
|
||||
self->show_password_check = GTK_CHECK_BUTTON (gtk_builder_get_object (parent->builder, "show_password_check"));
|
||||
self->type_combo = GTK_COMBO_BOX (gtk_builder_get_object (parent->builder, "type_combo"));
|
||||
self->type_label = GTK_LABEL (gtk_builder_get_object (parent->builder, "type_label"));
|
||||
self->builder = gtk_builder_new ();
|
||||
if (!gtk_builder_add_from_resource (self->builder, "/org/gnome/ControlCenter/network/ws-wpa-psk.ui", &error)) {
|
||||
g_warning ("Couldn't load UI builder resource: %s", error->message);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
self->grid = GTK_GRID (gtk_builder_get_object (self->builder, "grid"));
|
||||
self->password_entry = GTK_ENTRY (gtk_builder_get_object (self->builder, "password_entry"));
|
||||
self->password_label = GTK_LABEL (gtk_builder_get_object (self->builder, "password_label"));
|
||||
self->show_password_check = GTK_CHECK_BUTTON (gtk_builder_get_object (self->builder, "show_password_check"));
|
||||
self->type_combo = GTK_COMBO_BOX (gtk_builder_get_object (self->builder, "type_combo"));
|
||||
self->type_label = GTK_LABEL (gtk_builder_get_object (self->builder, "type_label"));
|
||||
|
||||
wireless_security_set_adhoc_compatible (parent, FALSE);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue