private bool HandleImportDialog(ItunesImportDialog dialog, ImportDialogHandler code) { try { if (dialog.Run() == (int)ResponseType.Ok) { if (code != null) { code(dialog); } data.get_ratings = dialog.Ratings; data.get_stats = dialog.Stats; data.get_playlists = dialog.Playliststs; } else { return(false); } } finally { dialog.Destroy(); dialog.Dispose(); } if (String.IsNullOrEmpty(data.library_uri)) { return(false); } // Make sure the library version is supported (version 1.1) string message = null; bool prompt = false; using (var xml_reader = new XmlTextReader(data.library_uri)) { xml_reader.ReadToFollowing("key"); do { xml_reader.Read(); string key = xml_reader.ReadContentAsString(); if (key == "Major Version" || key == "Minor Version") { xml_reader.Read(); xml_reader.Read(); if (xml_reader.ReadContentAsString() != "1") { message = Catalog.GetString( "Banshee is not familiar with this version of the iTunes library format." + " Importing may or may not work as expected, or at all. Would you like to attempt to import anyway?"); prompt = true; break; } } } while (xml_reader.ReadToNextSibling("key")); } if (prompt) { bool proceed = false; using (var message_dialog = new MessageDialog(null, 0, MessageType.Question, ButtonsType.YesNo, message)) { if (message_dialog.Run() == (int)ResponseType.Yes) { proceed = true; } message_dialog.Destroy(); } if (!proceed) { LogError(data.library_uri, "Unsupported version"); return(false); } } return(true); }
private bool HandleImportDialog (ItunesImportDialog dialog, ImportDialogHandler code) { try { if (dialog.Run () == (int)ResponseType.Ok) { if(code != null) { code (dialog); } data.get_ratings = dialog.Ratings; data.get_stats = dialog.Stats; data.get_playlists = dialog.Playliststs; } else { return false; } } finally { dialog.Destroy (); dialog.Dispose (); } if (String.IsNullOrEmpty (data.library_uri)) { return false; } // Make sure the library version is supported (version 1.1) string message = null; bool prompt = false; using (var xml_reader = new XmlTextReader (data.library_uri)) { xml_reader.ReadToFollowing ("key"); do { xml_reader.Read (); string key = xml_reader.ReadContentAsString (); if (key == "Major Version" || key == "Minor Version") { xml_reader.Read (); xml_reader.Read (); if(xml_reader.ReadContentAsString () != "1") { message = Catalog.GetString ( "Banshee is not familiar with this version of the iTunes library format." + " Importing may or may not work as expected, or at all. Would you like to attempt to import anyway?"); prompt = true; break; } } } while (xml_reader.ReadToNextSibling ("key")); } if (prompt) { bool proceed = false; using (var message_dialog = new MessageDialog (null, 0, MessageType.Question, ButtonsType.YesNo, message)) { if (message_dialog.Run () == (int)ResponseType.Yes) { proceed = true; } message_dialog.Destroy (); } if (!proceed) { LogError (data.library_uri, "Unsupported version"); return false; } } return true; }