GtkWidget * applet_mobile_password_dialog_new (NMDevice *device, NMConnection *connection, GtkEntry **out_secret_entry) { GtkDialog *dialog; GtkWidget *w; GtkBox *box; char *dev_str; NMSettingConnection *s_con; char *tmp; const char *id; dialog = GTK_DIALOG (gtk_dialog_new ()); gtk_window_set_modal (GTK_WINDOW (dialog), TRUE); gtk_window_set_title (GTK_WINDOW (dialog), _("Mobile broadband network password")); w = gtk_dialog_add_button (dialog, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT); w = gtk_dialog_add_button (dialog, GTK_STOCK_OK, GTK_RESPONSE_OK); gtk_window_set_default (GTK_WINDOW (dialog), w); s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION)); id = nm_setting_connection_get_id (s_con); g_assert (id); tmp = g_strdup_printf (_("A password is required to connect to '%s'."), id); w = gtk_label_new (tmp); g_free (tmp); gtk_box_pack_start (GTK_BOX (dialog->vbox), w, TRUE, TRUE, 0); dev_str = g_strdup_printf ("<b>%s</b>", utils_get_device_description (device)); w = gtk_label_new (NULL); gtk_label_set_markup (GTK_LABEL (w), dev_str); g_free (dev_str); gtk_box_pack_start (GTK_BOX (dialog->vbox), w, TRUE, TRUE, 0); w = gtk_alignment_new (0.5, 0.5, 0, 1.0); gtk_box_pack_start (GTK_BOX (dialog->vbox), w, TRUE, TRUE, 0); box = GTK_BOX (gtk_hbox_new (FALSE, 6)); gtk_container_set_border_width (GTK_CONTAINER (box), 6); gtk_container_add (GTK_CONTAINER (w), GTK_WIDGET (box)); gtk_box_pack_start (box, gtk_label_new (_("Password:")), FALSE, FALSE, 0); w = gtk_entry_new (); *out_secret_entry = GTK_ENTRY (w); gtk_entry_set_activates_default (GTK_ENTRY (w), TRUE); gtk_box_pack_start (box, w, FALSE, FALSE, 0); gtk_widget_show_all (dialog->vbox); return GTK_WIDGET (dialog); }
static void add_device_to_model (GtkListStore *model, NMDevice *device) { GtkTreeIter iter; char *desc; desc = (char *) utils_get_device_description (device); if (!desc) desc = (char *) nm_device_get_iface (device); g_assert (desc); gtk_list_store_append (model, &iter); gtk_list_store_set (model, &iter, D_NAME_COLUMN, desc, D_DEV_COLUMN, device, -1); }
static void bt_add_menu_item (NMDevice *device, guint32 n_devices, NMConnection *active, GtkWidget *menu, NMApplet *applet) { const char *text; GtkWidget *item; GSList *connections, *all; all = applet_get_all_connections (applet); connections = nm_device_filter_connections (device, all); g_slist_free (all); text = nm_device_bt_get_name (NM_DEVICE_BT (device)); if (!text) { text = utils_get_device_description (device); if (!text) text = nm_device_get_iface (device); g_assert (text); } item = applet_menu_item_create_device_item_helper (device, applet, text); gtk_widget_set_sensitive (item, FALSE); gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); gtk_widget_show (item); if (g_slist_length (connections)) add_connection_items (device, connections, active, ADD_ACTIVE, menu, applet); /* Notify user of unmanaged or unavailable device */ item = nma_menu_device_get_menu_item (device, applet, NULL); if (item) { gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); gtk_widget_show (item); } if (!nma_menu_device_check_unusable (device)) { /* Add menu items for existing bluetooth connections for this device */ if (g_slist_length (connections)) { applet_menu_item_add_complex_separator_helper (menu, applet, _("Available"), -1); add_connection_items (device, connections, active, ADD_INACTIVE, menu, applet); } } g_slist_free (connections); }