Exemple #1
0
        public static RootFolder Import(XDocument opml)
        {
            var root = new RootFolder();
            var opmlElement = opml.Element("opml");

            if (opmlElement != null)
            {
                var element = opmlElement.Element("body");

                if (element != null)
                {
                    var topLevel = element.Elements("outline");

                    foreach (var outlineElement in topLevel)
                    {
                        if (outlineElement.HasElements)
                        {
                            root.AddFolder(new Folder
                                {
                                    Name = outlineElement.Attribute("title").Value,
                                    Feeds = (from feed in outlineElement.Elements("outline")
                                             select new Feed(new Uri(feed.Attribute("xmlUrl").Value),
                                                      feed.Attribute("title").Value,
                                                      new Uri(feed.Attribute("htmlUrl").Value)
                                                 ))
                                });
                        }
                        else
                        {
                            root.AddFeed(
                                new Feed(new Uri(outlineElement.Attribute("xmlUrl").Value),
                                         outlineElement.Attribute("title").Value,
                                         new Uri(outlineElement.Attribute("htmlUrl").Value))
                                );
                        }
                    }

                    return root;
                }
            }

            return new RootFolder();
        }
Exemple #2
0
 private void AddContentFolderExecute(string folderName)
 {
     RootFolder.AddFolder(folderName);
 }
Exemple #3
0
        public void AddDraggedAndDroppedFiles(PackageFolder folder, string[] fileNames)
        {
            if (folder == null)
            {
                bool?rememberedAnswer = null;

                for (var i = 0; i < fileNames.Length; i++)
                {
                    var file = fileNames[i];
                    if (File.Exists(file))
                    {
                        bool movingFile;

                        PackageFolder targetFolder;
                        var           guessFolderName = FileHelper.GuessFolderNameFromFile(file);

                        if (rememberedAnswer == null)
                        {
                            // ask user if he wants to move file
                            var answer = UIServices.ConfirmMoveFile(
                                Path.GetFileName(file),
                                guessFolderName, fileNames.Length - i - 1);

                            if (answer.Item1 == null)
                            {
                                // user presses Cancel
                                break;
                            }

                            movingFile = (bool)answer.Item1;
                            if (answer.Item2)
                            {
                                rememberedAnswer = answer.Item1;
                            }
                        }
                        else
                        {
                            movingFile = (bool)rememberedAnswer;
                        }

                        if (movingFile)
                        {
                            if (RootFolder.ContainsFolder(guessFolderName))
                            {
                                targetFolder = (PackageFolder)RootFolder[guessFolderName];
                            }
                            else
                            {
                                targetFolder = RootFolder.AddFolder(guessFolderName);
                            }
                        }
                        else
                        {
                            targetFolder = RootFolder;
                        }

                        targetFolder.AddFile(file);
                    }
                    else if (Directory.Exists(file))
                    {
                        RootFolder.AddPhysicalFolder(file);
                    }
                }
            }
            else
            {
                foreach (var file in fileNames)
                {
                    if (File.Exists(file))
                    {
                        folder.AddFile(file);
                    }
                    else if (Directory.Exists(file))
                    {
                        folder.AddPhysicalFolder(file);
                    }
                }
            }
        }
        private void AddContentFolderExecute(string folderName)
        {
            DiagnosticsClient.TrackEvent("PackageViewModel_AddContentFolderExecute");

            RootFolder.AddFolder(folderName);
        }