Esempio n. 1
0
    private ExternalContentEntry GetDirectoryEntry(string internalPath, bool scanContents)
    {
        ExternalContentEntry externalContentEntry = new ExternalContentEntry();

        externalContentEntry.Type = ExternalContentType.Directory;
        externalContentEntry.Path = ToExternalPath(internalPath);
        externalContentEntry.Time = new DateTime(1970, 1, 1);
        if (scanContents)
        {
            string[] directories = Directory.GetDirectories(internalPath);
            foreach (string internalPath2 in directories)
            {
                externalContentEntry.ChildEntries.Add(GetDirectoryEntry(internalPath2, scanContents: false));
            }
            directories = Directory.GetFiles(internalPath);
            foreach (string text in directories)
            {
                FileInfo             fileInfo = new FileInfo(text);
                ExternalContentEntry externalContentEntry2 = new ExternalContentEntry();
                externalContentEntry2.Type = ExternalContentManager.ExtensionToType(Path.GetExtension(text));
                externalContentEntry2.Path = ToExternalPath(text);
                externalContentEntry2.Size = fileInfo.Length;
                externalContentEntry2.Time = fileInfo.CreationTime;
                externalContentEntry.ChildEntries.Add(externalContentEntry2);
            }
        }
        return(externalContentEntry);
    }
 private static string GetFilterDisplayName(ExternalContentType filter)
 {
     if (filter == ExternalContentType.Unknown)
     {
         return(LanguageControl.Get(fName, 8));
     }
     return(ExternalContentManager.GetEntryTypeDescription(filter));
 }
    public override void Update()
    {
        ListItem selectedItem = (ListItem)m_contentList.SelectedItem;

        m_deleteButton.IsEnabled = (selectedItem != null && !selectedItem.IsBuiltIn);
        m_uploadButton.IsEnabled = (selectedItem != null && !selectedItem.IsBuiltIn);
        m_filterLabel.Text       = GetFilterDisplayName(m_filter);
        if (m_deleteButton.IsClicked)
        {
            string smallMessage = (selectedItem.UseCount <= 0) ? string.Format(LanguageControl.Get(fName, 5), selectedItem.DisplayName) : string.Format(LanguageControl.Get(fName, 6), selectedItem.DisplayName, selectedItem.UseCount);
            DialogsManager.ShowDialog(null, new MessageDialog(LanguageControl.Get(fName, 9), smallMessage, LanguageControl.Get("Usual", "yes"), LanguageControl.Get("Usual", "no"), delegate(MessageDialogButton button)
            {
                if (button == MessageDialogButton.Button1)
                {
                    ExternalContentManager.DeleteExternalContent(selectedItem.Type, selectedItem.Name);
                    UpdateList();
                }
            }));
        }
        if (m_uploadButton.IsClicked)
        {
            ExternalContentManager.ShowUploadUi(selectedItem.Type, selectedItem.Name);
        }
        if (m_changeFilterButton.IsClicked)
        {
            List <ExternalContentType> list = new List <ExternalContentType>();
            list.Add(ExternalContentType.Unknown);
            list.Add(ExternalContentType.BlocksTexture);
            list.Add(ExternalContentType.CharacterSkin);
            list.Add(ExternalContentType.FurniturePack);
            DialogsManager.ShowDialog(null, new ListSelectionDialog(LanguageControl.Get(fName, 7), list, 60f, (object item) => GetFilterDisplayName((ExternalContentType)item), delegate(object item)
            {
                if ((ExternalContentType)item != m_filter)
                {
                    m_filter = (ExternalContentType)item;
                    UpdateList();
                }
            }));
        }
        if (base.Input.Back || base.Input.Cancel || Children.Find <ButtonWidget>("TopBar.Back").IsClicked)
        {
            ScreensManager.SwitchScreen(ScreensManager.PreviousScreen);
        }
    }
Esempio n. 4
0
 public DigitizationOrderConsumer(ExternalContentManager externalContentManager)
 {
     this.externalContentManager = externalContentManager;
 }