static void nmt_newt_entry_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { NmtNewtEntry *entry = NMT_NEWT_ENTRY (object); NmtNewtEntryPrivate *priv = NMT_NEWT_ENTRY_GET_PRIVATE (entry); switch (prop_id) { case PROP_TEXT: nmt_newt_entry_set_text (entry, g_value_get_string (value)); break; case PROP_WIDTH: nmt_newt_entry_set_width (entry, g_value_get_int (value)); break; case PROP_FLAGS: priv->flags = g_value_get_uint (value); nmt_newt_widget_needs_rebuild (NMT_NEWT_WIDGET (entry)); break; case PROP_PASSWORD: if (g_value_get_boolean (value)) priv->flags |= NMT_NEWT_ENTRY_PASSWORD; else priv->flags &= ~NMT_NEWT_ENTRY_PASSWORD; nmt_newt_widget_needs_rebuild (NMT_NEWT_WIDGET (entry)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } }
static void nmt_password_fields_set_password (NmtPasswordFields *fields, const char *password) { NmtPasswordFieldsPrivate *priv = NMT_PASSWORD_FIELDS_GET_PRIVATE (fields); if (!g_strcmp0 (password, nmt_newt_entry_get_text (priv->entry))) return; nmt_newt_entry_set_text (priv->entry, password); g_object_notify (G_OBJECT (fields), "password"); }
static void mode_changed (GObject *object, GParamSpec *pspec, gpointer user_data) { NMSettingIPTunnel *s_ip_tunnel = NM_SETTING_IP_TUNNEL (object); NmtPageIPTunnel *ip_tunnel = NMT_PAGE_IP_TUNNEL (user_data); NmtPageIPTunnelPrivate *priv = NMT_PAGE_IP_TUNNEL_GET_PRIVATE (ip_tunnel); NMIPTunnelMode mode; gboolean enable_keys; mode = nm_setting_ip_tunnel_get_mode (s_ip_tunnel); enable_keys = NM_IN_SET (mode, NM_IP_TUNNEL_MODE_GRE, NM_IP_TUNNEL_MODE_IP6GRE); nmt_newt_widget_set_visible (NMT_NEWT_WIDGET (priv->input_key), enable_keys); nmt_newt_widget_set_visible (NMT_NEWT_WIDGET (priv->output_key), enable_keys); if (!enable_keys) { nmt_newt_entry_set_text (priv->input_key, ""); nmt_newt_entry_set_text (priv->output_key, ""); } }
static char * nmtui_hostname_run_dialog (void) { NmtNewtForm *form; NmtNewtWidget *widget, *ok, *cancel; NmtNewtGrid *grid; NmtNewtEntry *entry; NmtNewtButtonBox *bbox; char *hostname, *ret = NULL; form = g_object_new (NMT_TYPE_NEWT_FORM, "title", _("Set Hostname"), "escape-exits", TRUE, NULL); widget = nmt_newt_grid_new (); nmt_newt_form_set_content (form, widget); grid = NMT_NEWT_GRID (widget); widget = nmt_newt_label_new (_("Hostname")); nmt_newt_grid_add (grid, widget, 0, 0); widget = nmt_newt_entry_new (40, 0); nmt_newt_widget_set_exit_on_activate (widget, TRUE); nmt_newt_grid_add (grid, widget, 1, 0); nmt_newt_widget_set_padding (widget, 1, 0, 0, 0); entry = NMT_NEWT_ENTRY (widget); widget = nmt_newt_button_box_new (NMT_NEWT_BUTTON_BOX_HORIZONTAL); nmt_newt_grid_add (grid, widget, 1, 1); nmt_newt_widget_set_padding (widget, 0, 1, 0, 0); bbox = NMT_NEWT_BUTTON_BOX (widget); cancel = nmt_newt_button_box_add_end (bbox, _("Cancel")); nmt_newt_widget_set_exit_on_activate (cancel, TRUE); ok = nmt_newt_button_box_add_end (bbox, _("OK")); nmt_newt_widget_set_exit_on_activate (ok, TRUE); g_object_get (G_OBJECT (nm_client), NM_CLIENT_HOSTNAME, &hostname, NULL); nmt_newt_entry_set_text (entry, hostname); g_free (hostname); widget = nmt_newt_form_run_sync (form); if (widget == (NmtNewtWidget *)entry || widget == ok) ret = g_strdup (nmt_newt_entry_get_text (entry)); g_object_unref (form); return ret; }
static void nmt_newt_entry_numeric_constructed (GObject *object) { NmtNewtEntryNumericPrivate *priv = NMT_NEWT_ENTRY_NUMERIC_GET_PRIVATE (object); if (!*nmt_newt_entry_get_text (NMT_NEWT_ENTRY (object))) { char buf[32]; g_snprintf (buf, sizeof (buf), "%d", priv->min); nmt_newt_entry_set_text (NMT_NEWT_ENTRY (object), buf); } G_OBJECT_CLASS (nmt_newt_entry_numeric_parent_class)->constructed (object); }
static gboolean mtu_validator (NmtNewtEntry *entry, const char *text, gpointer user_data) { NmtMtuEntryPrivate *priv = NMT_MTU_ENTRY_GET_PRIVATE (user_data); if (*text && !atoi (text)) { nmt_newt_entry_set_text (entry, ""); text = ""; } if (!*text) nmt_newt_label_set_text (priv->label, _("(default)")); else nmt_newt_label_set_text (priv->label, _("bytes")); return TRUE; }
static void bond_options_changed (GObject *object, GParamSpec *pspec, gpointer user_data) { NMSettingBond *s_bond = NM_SETTING_BOND (object); NmtPageBond *bond = NMT_PAGE_BOND (user_data); NmtPageBondPrivate *priv = NMT_PAGE_BOND_GET_PRIVATE (bond); const char *val; char **ips; if (priv->updating) return; priv->updating = TRUE; val = nm_setting_bond_get_option_by_name (s_bond, NM_SETTING_BOND_OPTION_MODE); nmt_newt_popup_set_active_id (priv->mode, val); if (!strcmp (val, "active-backup")) { nmt_newt_widget_set_visible (NMT_NEWT_WIDGET (priv->primary), TRUE); val = nm_setting_bond_get_option_by_name (s_bond, NM_SETTING_BOND_OPTION_PRIMARY); nmt_newt_entry_set_text (priv->primary, val); } else nmt_newt_widget_set_visible (NMT_NEWT_WIDGET (priv->primary), FALSE); if (priv->monitoring_mode == NMT_PAGE_BOND_MONITORING_UNKNOWN) { val = nm_setting_bond_get_option_by_name (s_bond, NM_SETTING_BOND_OPTION_ARP_INTERVAL); if (val && strcmp (val, "0") != 0) priv->monitoring_mode = NMT_PAGE_BOND_MONITORING_ARP; else priv->monitoring_mode = NMT_PAGE_BOND_MONITORING_MII; } nmt_newt_popup_set_active (priv->monitoring, priv->monitoring_mode); if (priv->monitoring_mode == NMT_PAGE_BOND_MONITORING_MII) { nmt_newt_widget_set_visible (NMT_NEWT_WIDGET (priv->miimon), TRUE); val = nm_setting_bond_get_option_by_name (s_bond, NM_SETTING_BOND_OPTION_MIIMON); nmt_newt_entry_set_text (priv->miimon, val); nmt_newt_widget_set_visible (NMT_NEWT_WIDGET (priv->updelay), TRUE); val = nm_setting_bond_get_option_by_name (s_bond, NM_SETTING_BOND_OPTION_UPDELAY); nmt_newt_entry_set_text (priv->updelay, val); nmt_newt_widget_set_visible (NMT_NEWT_WIDGET (priv->downdelay), TRUE); val = nm_setting_bond_get_option_by_name (s_bond, NM_SETTING_BOND_OPTION_DOWNDELAY); nmt_newt_entry_set_text (priv->downdelay, val); nmt_newt_widget_set_visible (NMT_NEWT_WIDGET (priv->arp_interval), FALSE); nmt_newt_widget_set_visible (NMT_NEWT_WIDGET (priv->arp_ip_target), FALSE); } else { nmt_newt_widget_set_visible (NMT_NEWT_WIDGET (priv->arp_interval), TRUE); val = nm_setting_bond_get_option_by_name (s_bond, NM_SETTING_BOND_OPTION_ARP_INTERVAL); nmt_newt_entry_set_text (priv->arp_interval, val); nmt_newt_widget_set_visible (NMT_NEWT_WIDGET (priv->arp_ip_target), TRUE); val = nm_setting_bond_get_option_by_name (s_bond, NM_SETTING_BOND_OPTION_ARP_IP_TARGET); ips = g_strsplit (val, ",", -1); g_object_set (G_OBJECT (priv->arp_ip_target), "strings", ips, NULL); g_strfreev (ips); nmt_newt_widget_set_visible (NMT_NEWT_WIDGET (priv->miimon), FALSE); nmt_newt_widget_set_visible (NMT_NEWT_WIDGET (priv->updelay), FALSE); nmt_newt_widget_set_visible (NMT_NEWT_WIDGET (priv->downdelay), FALSE); } priv->updating = FALSE; }