241
rb_ipod_helpers_show_first_time_dialog (GMount *mount, const char *builder_file)
243
/* could be an uninitialised iPod, ask the user */
247
GtkWidget *name_widget;
248
GtkTreeModel *tree_model;
252
const Itdb_IpodInfo *info;
255
GError *error = NULL;
257
root = g_mount_get_root (mount);
261
mountpoint = g_file_get_path (root);
262
g_object_unref (G_OBJECT (root));
264
if (mountpoint == NULL) {
268
/* create message dialog with model-number combo box
269
* and asking whether they want to initialise the iPod
271
builder = rb_builder_load (builder_file, NULL);
272
if (builder == NULL) {
275
dialog = GTK_WIDGET (gtk_builder_get_object (builder, "ipod_init"));
276
widget = GTK_WIDGET (gtk_builder_get_object (builder, "model_combo"));
277
name_widget = GTK_WIDGET (gtk_builder_get_object (builder, "name_entry"));
278
fill_model_combo (widget, mountpoint);
279
g_object_unref (builder);
281
rb_debug ("showing init dialog for ipod mount on '%s'", mountpoint);
283
response = gtk_dialog_run (GTK_DIALOG (dialog));
284
if (response != GTK_RESPONSE_ACCEPT) {
285
gtk_widget_destroy (dialog);
290
/* get model number and name */
291
tree_model = gtk_combo_box_get_model (GTK_COMBO_BOX (widget));
292
if (!gtk_combo_box_get_active_iter (GTK_COMBO_BOX (widget), &iter)) {
293
gtk_widget_destroy (dialog);
297
gtk_tree_model_get (tree_model, &iter, COL_INFO, &info, -1);
298
ipod_name = g_strdup (gtk_entry_get_text (GTK_ENTRY (name_widget)));
300
gtk_widget_destroy (dialog);
302
rb_debug ("attempting to init ipod on '%s', with model '%s' and name '%s'",
303
mountpoint, info->model_number, ipod_name);
304
if (!itdb_init_ipod (mountpoint, info->model_number, ipod_name, &error)) {
305
rb_error_dialog (NULL, _("Unable to initialize new iPod"), "%s", error->message);
309
g_error_free (error);
320
241
rb_ipod_helpers_get_itunesdb_path (GMount *mount)