Esempio n. 1
0
        private void OnSendToQueue(object obj)
        {
            ItemBase itemBase = obj as ItemBase;

            if (itemBase != null)
            {
                switch (itemBase.Type)
                {
                case ItemType.Content:
                {
                    this.multiScreen.PushMediaToTvQueue((Content)itemBase);
                    break;
                }

                case ItemType.Folder:
                {
                    MultimediaFolder multimediaFolder = (MultimediaFolder)itemBase;
                    this.multiScreen.PushMediaToTvQueue(multimediaFolder.GetFilesList());
                    return;
                }

                default:
                {
                    return;
                }
                }
            }
        }
Esempio n. 2
0
        private async void OnRemoveFolder(object obj)
        {
            bool             flag;
            MultimediaFolder multimediaFolder = obj as MultimediaFolder;

            if (multimediaFolder != null)
            {
                if (!Settings.Default.RemoveFolderNotificationDoNotShowAgain)
                {
                    using (PopupWrapper popupWrapper = base.Controller.CreatePopup(new YesNoPopupViewModel(ResourcesModel.Instanse.MAPP_SID_REMOVE_FOLDER, ResourcesModel.Instanse.MAPP_SID_SURE_WANT_TO_REMOVE_SELECTED_FOLDERS, true), false))
                    {
                        AlternativePopupEventArgs alternativePopupEventArg = await popupWrapper.ShowDialogAsync() as AlternativePopupEventArgs;

                        if (alternativePopupEventArg != null)
                        {
                            Settings.Default.RemoveFolderNotificationDoNotShowAgain = alternativePopupEventArg.CheckBoxState;
                            Settings.Default.Save();
                            bool?decision = alternativePopupEventArg.Decision;
                            flag = (!decision.GetValueOrDefault() ? true : !decision.HasValue);
                            if (flag)
                            {
                                return;
                            }
                        }
                        else
                        {
                            return;
                        }
                    }
                }
                switch (this.ContentType)
                {
                case MediaLibrary.DataModels.ContentType.Image:
                {
                    this.dataLibrary.DeleteFileOrFolder(this.dataLibrary.RootImageFolder, multimediaFolder);
                    goto case MediaLibrary.DataModels.ContentType.Track;
                }

                case MediaLibrary.DataModels.ContentType.Track:
                {
                    break;
                }

                case MediaLibrary.DataModels.ContentType.Video:
                {
                    this.dataLibrary.DeleteFileOrFolder(this.dataLibrary.RootVideoFolder, multimediaFolder);
                    goto case MediaLibrary.DataModels.ContentType.Track;
                }

                default:
                {
                    goto case MediaLibrary.DataModels.ContentType.Track;
                }
                }
            }
        }
        private XElement CreateFolder(ItemBase resource)
        {
            MultimediaFolder multimediaFolder = resource as MultimediaFolder;
            XName            xName            = this.didl + "container";

            object[] xAttribute = new object[] { new XAttribute("restricted", (object)0), new XAttribute("childCount", (object)multimediaFolder.ItemsList.Count), new XAttribute("id", (object)multimediaFolder.ID), null };
            xAttribute[3] = new XAttribute("parentID", (multimediaFolder.Parent == Guid.Empty ? "0" : multimediaFolder.Parent.ToString()));
            XElement xElement = new XElement(xName, xAttribute);

            xElement.Add(new XElement(this.dc + "title", multimediaFolder.Name));
            XName    xName1 = this.dc + "date";
            DateTime date   = multimediaFolder.Date;

            xElement.Add(new XElement(xName1, date.ToString("o")));
            xElement.Add(new XElement(this.upnp + "class", "object.container"));
            return(xElement);
        }
Esempio n. 4
0
 public VideoImageViewModel(IDataLibrary library, IMultiScreen multiScreen, MultimediaFolder rootfolder, MediaLibrary.DataModels.ContentType type)
 {
     if (library == null)
     {
         throw new Exception("multiScreen cant work with null library");
     }
     if (multiScreen == null)
     {
         throw new ArgumentNullException("multiScreen is null");
     }
     this.dataLibrary        = library;
     this.multiScreen        = multiScreen;
     this.rootFolder         = rootfolder;
     this.ContentType        = type;
     this.IsBackVisible      = false;
     this.IsCopyPasteVisible = Visibility.Collapsed;
     this.CurrentFolder      = this.rootFolder;
     this.ViewType           = VideoPhotoViewType.Date;
     this.ReloadItemsCollection();
     this.TemporaryDataLoaded = this.dataLibrary.IsDataLoaded;
     if (type != MediaLibrary.DataModels.ContentType.Image)
     {
         this.IsMenuPlayVisible   = Visibility.Visible;
         this.ImageIconVisibility = Visibility.Collapsed;
         this.VideoIconVisibility = Visibility.Visible;
     }
     else
     {
         this.IsMenuPlayVisible   = Visibility.Collapsed;
         this.ImageIconVisibility = Visibility.Visible;
         this.VideoIconVisibility = Visibility.Collapsed;
     }
     this.addFilesCommand        = new Command(new Action <object>(this.OnAddFiles));
     this.addFolderCommand       = new Command(new Action <object>(this.OnAddFolder));
     this.RemoveFolderCommand    = new Command(new Action <object>(this.OnRemoveFolder));
     this.deleteItemCommand      = new Command(new Action <object>(this.OnDeleteItem));
     this.itemDoubleClickCommand = new Command(new Action <object>(this.OnItemDoubleClick));
     this.videoImageBackCommand  = new Command(new Action <object>(this.OnVideoImageBack));
     this.sendToQueueCommand     = new Command(new Action <object>(this.OnSendToQueue));
     this.playLocalCommand       = new Command(new Action <object>(this.OnPlayLocal));
     this.mainViewChangedCommand = new Command(new Action <object>(this.OnMainViewChanged));
     this.playOnTvCommand        = new Command(new Action <object>(this.OnPlayOnTv));
     this.dragItem            = new Command(new Action <object>(this.OnDragItem));
     this.contentDropCommand  = new Command(new Action <object>(this.OnContentDrop));
     this.cancelAddingCommand = new Command(new Action <object>(this.OnCancelAdding));
 }
Esempio n. 5
0
        private void OnDragItem(object obj)
        {
            if (obj is ItemBase)
            {
                ItemBase itemBase = obj as ItemBase;
                if (itemBase == null)
                {
                    return;
                }
                if (itemBase.Type != ItemType.Content)
                {
                    MultimediaFolder multimediaFolder = obj as MultimediaFolder;
                    DragDrop.DoDragDrop(new UIElement(), multimediaFolder.GetAllFilesList(null), DragDropEffects.Copy);
                    return;
                }
                List <Content> contents = new List <Content>()
                {
                    obj as Content
                };
                DragDrop.DoDragDrop(new UIElement(), contents, DragDropEffects.Copy);
                return;
            }
            IEnumerable <object> objs = obj as IEnumerable <object>;

            if (objs != null)
            {
                Content[] array = objs.OfType <Content>().ToArray <Content>();
                if (array.Count <Content>() > 0)
                {
                    DragDrop.DoDragDrop(new UIElement(), array, DragDropEffects.Copy);
                    return;
                }
                MultimediaFolder[] multimediaFolderArray = objs.OfType <MultimediaFolder>().ToArray <MultimediaFolder>();
                if (multimediaFolderArray.Count <MultimediaFolder>() > 0)
                {
                    IEnumerable <Content> contents1 = ((IEnumerable <MultimediaFolder>)multimediaFolderArray).SelectMany <MultimediaFolder, Content>((MultimediaFolder p) => p.GetFilesList());
                    DragDrop.DoDragDrop(new UIElement(), contents1, DragDropEffects.Copy);
                }
            }
        }
Esempio n. 6
0
        private void OnVideoImageBack(object obj)
        {
            Guid             parent           = this.currentFolder.Parent;
            MultimediaFolder multimediaFolder = this.rootFolder.FindFolderByID(this.currentFolder.Parent);

            if (multimediaFolder != null)
            {
                this.CurrentFolder = multimediaFolder;
                IEnumerable <ItemBase> itemsList = this.currentFolder.ItemsList;
                if (this.ViewType == VideoPhotoViewType.Folder)
                {
                    itemsList =
                        from item in itemsList
                        orderby item.Date descending
                        select item;
                }
                this.ItemsList = new ObservableCollection <ItemBase>(itemsList);
                if (this.currentFolder == this.rootFolder)
                {
                    this.IsBackVisible = false;
                }
            }
            this.OnViewChanged();
        }
 public void GetFolderById(ref MultimediaFolder searchresult, Guid id, MultimediaFolder folderwheretosearch)
 {
 }
 private async Task AddMusics(MultimediaFolder folder, string[] filesPath)
 {
 }
Esempio n. 9
0
 public VideoImageViewModel(SavedVideoPhotoVisualstate visualstate, IDataLibrary library, IMultiScreen multiScreen, MultimediaFolder rootfolder, MediaLibrary.DataModels.ContentType type) : this(library, multiScreen, rootfolder, type)
 {
     if (visualstate == null)
     {
         return;
     }
     this.CurrentFolder = visualstate.CurrentItem;
     this.ViewType      = visualstate.ViewType;
     if (this.ViewType == VideoPhotoViewType.NoContent && rootfolder.GetAllFilesList(null).Count > 0)
     {
         this.ViewType        = VideoPhotoViewType.Date;
         visualstate.ViewType = VideoPhotoViewType.Date;
         this.ReloadItemsCollection();
     }
     this.ComboBoxCurrentState = (int)this.ViewType;
     if (this.currentFolder == this.rootFolder || this.ViewType != VideoPhotoViewType.Folder)
     {
         this.ReloadItemsCollection();
     }
     else
     {
         this.OnItemDoubleClick(this.currentFolder);
     }
     if (visualstate.PlayerState != null)
     {
         this.savedVisualState = visualstate;
     }
 }
 private void JustDecompileGenerated_set_RootFolder(MultimediaFolder value)
 {
 }
 private bool RemoveItemFromFolderById(MultimediaFolder folder, Guid guid)
 {
     return(true);
 }
 private bool AddFile(MultimediaFolder targetfolder, string filepath, ContentType type)
 {
     return(true);
 }
        private IEnumerable <XElement> HandleBrowse(HttpRequest request, Dictionary <string, string> sparams)
        {
            int    num;
            int    num1;
            string item = sparams["ObjectID"];
            string str  = sparams["BrowseFlag"];

            if (int.TryParse(sparams["RequestedCount"], out num) && num <= 0)
            {
                num = 20;
            }
            if (int.TryParse(sparams["StartingIndex"], out num1) && num1 <= 0)
            {
                num1 = 0;
            }
            MultimediaFolder rootFolder = null;
            string           str1       = item;
            string           str2       = str1;

            if (str1 == null)
            {
                goto Label0;
            }
            else if (str2 == "0")
            {
                rootFolder = this.dataLibrary.RootFolder;
            }
            else if (str2 == "I")
            {
                rootFolder = this.dataLibrary.RootImageFolder;
            }
            else if (str2 == "A")
            {
                rootFolder = this.dataLibrary.RootMusicFolder;
            }
            else
            {
                if (str2 != "V")
                {
                    goto Label0;
                }
                rootFolder = this.dataLibrary.RootVideoFolder;
            }
Label2:
            XName xName = this.didl + "DIDL-Lite";

            object[] xAttribute = new object[] { new XAttribute(XNamespace.Xmlns + "dc", this.dc), new XAttribute(XNamespace.Xmlns + "dlna", this.dlna), new XAttribute(XNamespace.Xmlns + "upnp", this.upnp), new XAttribute(XNamespace.Xmlns + "sec", this.sec) };
            XElement xElement   = new XElement(xName, xAttribute);

            if (str != "BrowseMetadata")
            {
                xElement.Add((
                                 from i in rootFolder.GetFoldersList()
                                 select this.CreateFolder(i)).Union <XElement>(
                                 from i in rootFolder.GetFilesList()
                                 select this.CreateItem(i)).Skip <XElement>(num1).Take <XElement>(num));
            }
            else
            {
                xElement.Add(this.CreateFolder(rootFolder));
            }
            yield return(new XElement("Result", xElement.ToString()));

            yield return(new XElement("NumberReturned", (object)xElement.Elements().Count <XElement>()));

            yield return(new XElement("TotalMatches", (object)rootFolder.ItemsList.Count));

            yield return(new XElement("UpdateID", (object)this.systemID));

            yield break;
Label0:
            rootFolder = this.dataLibrary.GetItemById(new Guid(item), this.dataLibrary.RootFolder) as MultimediaFolder;
            goto Label2;
            goto Label0;
        }
 public void DeleteItems(MultimediaFolder rootfolder, List <Content> itemstodelete)
 {
 }
 public void DeleteFileOrFolder(MultimediaFolder rootfolder, ItemBase itemtodelete)
 {
 }
 private bool CheckTrack(MultimediaFolder folder, string pathtotrack)
 {
     return(false);
 }
 private bool CheckFolderByName(MultimediaFolder item, string name)
 {
     return(false);
 }
 private MultimediaFolder CheckFolder(MultimediaFolder parentfolder, string name)
 {
     return(null);
 }
 private bool AddTrack(MultimediaFolder rootfolder, string musictrack)
 {
     return(true);
 }
Esempio n. 20
0
 public SavedVideoPhotoVisualstate(VideoPhotoViewType viewtype, MultimediaFolder currentitem, SavedPlayerState playerstate) : base(playerstate)
 {
     this.ViewType    = viewtype;
     this.CurrentItem = currentitem;
 }
 public ItemBase GetItemById(Guid id, MultimediaFolder root)
 {
     return(null);
 }
 private MultimediaFolder GetTargetFolder(MultimediaFolder rootfolder, string file)
 {
     return(null);
 }
Esempio n. 23
0
 public SavedMusicVisualState(MusicViewType viewtype, MultimediaFolder currentfolder, ItemBase currentitem, SavedPlayerState playerstate) : base(playerstate)
 {
     this.ViewType      = viewtype;
     this.CurrentFolder = currentfolder;
     this.CurrentItem   = currentitem;
 }