Beispiel #1
0
        static void LoadFile(object obj)
        {
            var    fileList      = (FileList)obj;
            string directoryPath = null;

            if (!string.IsNullOrEmpty(fileList._fileName))
            {
                directoryPath = File.Exists(fileList._fileName) ? Path.GetDirectoryName(fileList._fileName) : fileList._fileName;

                if (!string.IsNullOrEmpty(directoryPath))
                {
                    fileList._directory = EtoDirectoryInfo.GetDirectory(directoryPath);
                }
            }

            if (fileList._directory != null)
            {
                fileList.UpdateDirectory();
                if (directoryPath != fileList._fileName)
                {
                    int index = fileList.items.FindIndex(r => r.FullName.Equals(fileList._fileName, StringComparison.InvariantCultureIgnoreCase));
                    if (index >= 0)
                    {
                        Application.Instance.AsyncInvoke(() => fileList.SelectedIndex = index);
                    }
                }
            }
        }
Beispiel #2
0
 public PabloApplication(Eto.Platform platform = null)
     : base(platform ?? Eto.Platform.Detect)
 {
     this.Style = "pablo";
     EtoDirectoryInfo.AddVirtualDirectoryType <SharpCompressDirectoryInfo>(".rar");
     EtoDirectoryInfo.AddVirtualDirectoryType <SharpCompressDirectoryInfo>(".zip");
 }
Beispiel #3
0
        void PerformUpdate(object state)
        {
            var directory = (EtoDirectoryInfo)state;

            try
            {
                var newitems = new List <EtoSystemObjectInfo>();

                newitems.AddRange(directory.GetDirectories());
                var formats = settings.Infos.GetFormats();

                var extensions = formats.Values.Where(r => r.CanLoad).SelectMany(s => s.Extensions).Select(r => "*." + r).Distinct();
                newitems.Sort((x, y) => string.Compare(x.Name, y.Name, StringComparison.CurrentCultureIgnoreCase));

                var alFiles = directory.GetFiles(extensions).ToList();
                alFiles.Sort((x, y) => string.Compare(x.Name, y.Name, StringComparison.CurrentCultureIgnoreCase));
                newitems.AddRange(alFiles);

                if (directory is DiskDirectoryInfo)
                {
                    newitems.Insert(0, new Sixteencolors.SixteenBrowser(directory));

                    //newitems.Insert (0, new WebDav.WebDavBrowser (directory, "SixteenColors", "https://github.com/sixteencolors/sixteencolors-archive.git"));
                    //newitems.Insert (0, new WebDav.WebDavBrowser (directory, "SixteenColors", "http://sixteencolors.picoe.ca"));
                }

                var parent = directory.Parent;
                if (parent != null)
                {
                    newitems.Insert(0, parent);
                }

                items = newitems;

                PabloApplication.Instance.Invoke(delegate
                {
                    Enabled        = true;
                    this.directory = directory;
                    Populate();
                    if (hasfocus != null && hasfocus.Value)
                    {
                        Focus();
                    }
                    hasfocus = null;
                });
            }
            catch (Exception ex)
            {
                PabloApplication.Instance.Invoke(delegate
                {
                    Enabled = true;
                    MessageBox.Show(this, string.Format("Error loading directory contents\n{0}", ex));
                    Populate();
                });
            }
        }
Beispiel #4
0
 public PabloApplication(Platform platform)
     : base(platform)
 {
     this.Name  = "PabloDraw";
     this.Style = "application";
     EtoDirectoryInfo.AddVirtualDirectoryType <SharpCompressDirectoryInfo>(".rar");
     EtoDirectoryInfo.AddVirtualDirectoryType <SharpCompressDirectoryInfo>(".7z");
     //EtoDirectoryInfo.AddVirtualDirectoryType<SharpCompressDirectoryInfo>(".tar.gz");
     //EtoDirectoryInfo.AddVirtualDirectoryType<SharpCompressDirectoryInfo>(".tgz");
     //EtoDirectoryInfo.AddVirtualDirectoryType<SharpCompressDirectoryInfo>(".bz2");
     EtoDirectoryInfo.AddVirtualDirectoryType <SharpCompressDirectoryInfo>(".zip");
 }
Beispiel #5
0
 public void Initialize(EtoDirectoryInfo directory, bool forceReload = false)
 {
     if (forceReload || this.directory != directory)
     {
         olddir = this.directory;
         UpdateDirectory(directory);
     }
     else
     {
         SetFileName();
     }
 }
Beispiel #6
0
        public void Initialize(string fileName, bool forceReload = false)
        {
            var directoryPath = !File.Exists(fileName) ? fileName : Path.GetDirectoryName(fileName);

            if (!string.IsNullOrEmpty(directoryPath))
            {
                if (directoryPath != fileName)
                {
                    newFileName = fileName;
                }
                Initialize(EtoDirectoryInfo.GetDirectory(directoryPath), forceReload);
            }
        }
Beispiel #7
0
        public PabloApplication(Platform platform)
            : base(platform)
        {
            Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

            this.Name  = "PabloDraw";
            this.Style = "application";
            EtoDirectoryInfo.AddVirtualDirectoryType <SharpCompressDirectoryInfo>(".rar");
            EtoDirectoryInfo.AddVirtualDirectoryType <SharpCompressDirectoryInfo>(".7z");
            //EtoDirectoryInfo.AddVirtualDirectoryType<SharpCompressDirectoryInfo>(".tar.gz");
            //EtoDirectoryInfo.AddVirtualDirectoryType<SharpCompressDirectoryInfo>(".tgz");
            //EtoDirectoryInfo.AddVirtualDirectoryType<SharpCompressDirectoryInfo>(".bz2");
            EtoDirectoryInfo.AddVirtualDirectoryType <SharpCompressDirectoryInfo>(".zip");
        }
 public PabloApplication(Platform platform)
     : base(platform)
 {
     this.Name  = "PabloDraw";
     this.Style = "application";
     Eto.Style.Add <TableLayout>(null, widget =>
     {
         widget.Padding = new Padding(10);
         widget.Spacing = new Size(5, 5);
     });
     EtoDirectoryInfo.AddVirtualDirectoryType <SharpCompressDirectoryInfo>(".rar");
     EtoDirectoryInfo.AddVirtualDirectoryType <SharpCompressDirectoryInfo>(".7z");
     //EtoDirectoryInfo.AddVirtualDirectoryType<SharpCompressDirectoryInfo>(".tar.gz");
     //EtoDirectoryInfo.AddVirtualDirectoryType<SharpCompressDirectoryInfo>(".tgz");
     //EtoDirectoryInfo.AddVirtualDirectoryType<SharpCompressDirectoryInfo>(".bz2");
     EtoDirectoryInfo.AddVirtualDirectoryType <SharpCompressDirectoryInfo>(".zip");
 }
Beispiel #9
0
        public void UpdateDirectory(EtoDirectoryInfo directory = null)
        {
            directory = directory ?? this.directory;
            hasfocus  = HasFocus;
            if (Platform.IsWinForms && this.Loaded)             // hack since winforms doesn't set focus if disabled
            {
                Enabled = false;
            }
            var listitems = new ListItemCollection();

            listitems.Add(new ListItem {
                Text = "Loading..."
            });
            DataStore = listitems;
            var task = new System.Threading.Tasks.Task(new Action <object>(PerformUpdate), directory);

            task.Start();
        }
Beispiel #10
0
        void Populate()
        {
            var listitems = new ListItemCollection();

            listitems.AddRange(items.Select(r => r.Equals(directory.Parent) ? ".." : r.Name).Select(r => new ListItem {
                Text = r
            }));
            DataStore = listitems;

            if (!string.IsNullOrEmpty(newFileName))
            {
                SetFileName();
            }
            else if (olddir != null && olddir.Parent != null && olddir.Parent.Equals(directory))
            {
                int index = items.IndexOf(olddir);
                if (index >= 0)
                {
                    SelectedIndex = index;
                }
            }
            olddir = null;
        }
Beispiel #11
0
 public GalleryFiles(EtoDirectoryInfo parent, PackInfo packInfo)
     : base(parent)
 {
     this.Info = packInfo;
 }
Beispiel #12
0
 public WebDavBrowser(EtoDirectoryInfo parent, string name, string url)
     : base(parent, url)
 {
     this.name = name;
 }
Beispiel #13
0
 public GalleryFile(EtoDirectoryInfo parent, FileInfo fileInfo)
 {
     this.FileInfo = fileInfo;
     this.parent   = parent;
 }
Beispiel #14
0
 public SixteenPacks(EtoDirectoryInfo parent, YearInfo year)
     : base(parent)
 {
     this.Info = year;
 }
Beispiel #15
0
 public SixteenFiles(EtoDirectoryInfo parent, PackInfo packInfo)
     : base(parent)
 {
     this.Info = packInfo;
 }
Beispiel #16
0
 public GalleryPacks(EtoDirectoryInfo parent, YearInfo year)
     : base(parent)
 {
     this.Info = year;
 }
Beispiel #17
0
 public SixteenBrowser(EtoDirectoryInfo parent)
     : base(parent)
 {
 }
Beispiel #18
0
 public SixteenFile(EtoDirectoryInfo parent, FileInfo fileInfo)
 {
     this.FileInfo = fileInfo;
     this.parent   = parent;
 }
Beispiel #19
0
 public WebDavDirectory(EtoDirectoryInfo parent, string url, string path = "/")
 {
     this.parent = parent;
     this.Path   = path;
     this.Url    = url;
 }
Beispiel #20
0
 public void Initialize(string fileName)
 {
     _directory = null;
     _fileName  = fileName;
     LoadItems();
 }
Beispiel #21
0
 public void Initialize(EtoDirectoryInfo directory)
 {
     _fileName  = null;
     _directory = directory;
     LoadItems();
 }
Beispiel #22
0
 public GalleryBrowser(EtoDirectoryInfo parent)
     : base(parent)
 {
 }
 protected GenericDirectory(EtoDirectoryInfo parent)
     : base(parent)
 {
 }