Exemplo n.º 1
0
 private void file_mouseEnter(FileVisualDisplay vis)
 {
     if (!vis.IsSelected)
     {
         vis.panel_Parent.BackColor = IconSelectedColor;
     }
 }
Exemplo n.º 2
0
        //private void testPaint(object sender, PaintEventArgs e)
        //{
        //    ControlPaint.DrawBorder(e.Graphics, this.panel_Test.ClientRectangle,
        //        Color.Red, ButtonBorderStyle.Solid);
        //}

        private void file_mouseLeave(FileVisualDisplay vis)
        {
            if (!vis.IsSelected)
            {
                vis.panel_Parent.BackColor = Color.Transparent;
            }
        }
Exemplo n.º 3
0
        private void DownloadNextFile()
        {
            if (!DownloadAllowed)
            {
                return;
            }

            for (int i = 0; i < CurrentShownFiles.Count; i++)
            {
                if (CurrentShownFiles[i] == null || CurrentShownFiles[i].CurrentState == FileStatus.Deleted)
                {
                    continue;
                }

                FileVisualDisplay vis = CurrentShownFiles[i];

                if (vis.IsSelected)
                {
                    if (vis.CurrentState == FileStatus.Finished)
                    {
                        return;
                    }

                    vis.CurrentState = FileStatus.QueuedForDownload;
                    StartFileDownload(i);
                    vis.IsSelected = false;
                    ChangeSelectedStatus(vis);
                    return;
                }
            }

            btn_DownloadSelected.Text      = "Download Selected";
            btn_DownloadSelected.ForeColor = Color.Black;
        }
Exemplo n.º 4
0
 private void ChangeSelectedStatus(FileVisualDisplay vis)
 {
     if (vis.IsSelected)
     {
         vis.panel_Parent.BackColor = IconSelectedColor;
     }
     else
     {
         vis.panel_Parent.BackColor = Color.Transparent;
     }
 }
Exemplo n.º 5
0
        private void IconPressed(FileVisualDisplay vis)
        {
            if (Control.ModifierKeys == Keys.Shift)
            {
                for (int i = LastSelectedIcon + 1; i <= vis.ID; i++)
                {
                    InvertSelectedStatus(i);
                }

                return;
            }

            if (Control.ModifierKeys == Keys.Control)
            {
                if (vis.IsSelected)
                {
                    vis.IsSelected = false;
                    ChangeSelectedStatus(vis);
                }
                else
                {
                    vis.IsSelected = true;
                    ChangeSelectedStatus(vis);
                }

                return;
            }

            // if no keys

            vis.IsSelected = true;
            ChangeSelectedStatus(vis);

            for (int i = 0; i < CurrentShownFiles.Count; i++)
            {
                if (CurrentShownFiles[i] == null || CurrentShownFiles[i].CurrentState == FileStatus.Deleted)
                {
                    continue;
                }

                if (vis.ID != i)
                {
                    CurrentShownFiles[i].IsSelected = false;
                    ChangeSelectedStatus(CurrentShownFiles[i]);
                }
            }



            LastSelectedIcon = vis.ID;
        }
Exemplo n.º 6
0
        private void AddFileVisual(OnlineFileStructure _fileStruct)
        {
            FileVisualDisplay fileVis = new FileVisualDisplay();

            fileVis.FileStructOnline = _fileStruct;

            fileVis.panel_Parent = new Panel()
            {
                Size     = new Size(75, 75),
                TabIndex = 1,
                Location = new Point(400, 245)
            };

            //this.Controls.Add(fileVis.panel_Parent);
            panel_FlowLayout.Controls.Add(fileVis.panel_Parent);

            fileVis.panel_MouseEvents = new TransparentControl()
            {
                Size = new Size(fileVis.panel_Parent.Width, fileVis.panel_Parent.Height),
            };



            // At the end need to push it to the top with BringToFront();
            fileVis.panel_Parent.Controls.Add(fileVis.panel_MouseEvents);

            fileVis.panel_MouseEvents.MouseEnter += (sender, args) =>
            {
                file_mouseEnter(fileVis);
            };

            fileVis.panel_MouseEvents.MouseLeave += (sender, args) =>
            {
                file_mouseLeave(fileVis);
            };

            fileVis.ID = CurrentShownFiles.Count;

            fileVis.panel_MouseEvents.Click += (sender, args) =>
            {
                IconPressed(fileVis);
            };


            fileVis.panel_Thumbnail = new Panel()
            {
                BackgroundImageLayout = ImageLayout.Zoom,
                Size = new Size(Convert.ToInt32(fileVis.panel_Parent.Width / 1.8f), Convert.ToInt32(fileVis.panel_Parent.Height / 1.5f)),
                //BackColor = Color.FromArgb(255, 240, 240, 240)
                BackColor = Color.Transparent,
            };

            fileVis.panel_Thumbnail.Location = new Point((fileVis.panel_Parent.Width / 2) - (fileVis.panel_Thumbnail.Width / 2),
                                                         3);

            fileVis.panel_Parent.Controls.Add(fileVis.panel_Thumbnail);


            fileVis.label_FileName = new Label()
            {
                Name        = "label_FileName",
                AutoSize    = true,
                Size        = new Size(60, 15),
                MaximumSize = new Size(60, 200),
                TextAlign   = ContentAlignment.MiddleCenter,
                Text        = _fileStruct.FullName,
                Location    = new Point(15, fileVis.panel_Thumbnail.Height + 3)
            };


            fileVis.label_FileName.Text = GUITools.ShortenFileName(_fileStruct.FullName, 9);

            fileVis.panel_Parent.Controls.Add(fileVis.label_FileName);

            fileVis.progress_Download = new ProgressBar()
            {
                BackColor = Color.Red,
                ForeColor = Color.Green,
                Minimum   = 0,
                Maximum   = 100,
                Size      = new Size(fileVis.panel_Thumbnail.Width, 8),
                Value     = 0
            };

            fileVis.progress_Download.Style   = ProgressBarStyle.Blocks;
            fileVis.progress_Download.Visible = false;

            fileVis.progress_Download.Location = new Point(fileVis.panel_Thumbnail.Location.X, fileVis.panel_Parent.Height - fileVis.progress_Download.Height);

            fileVis.panel_Parent.Controls.Add(fileVis.progress_Download);

            fileVis.panel_CheckMark = new TransparentControl()
            {
                Size = fileVis.panel_Parent.Size,
            };

            fileVis.panel_CheckMark.Paint += (sender, args) =>
            {
                Pen pen = new Pen(new SolidBrush(Color.FromArgb(255, 0, 255, 0)), 5);
                pen.EndCap = System.Drawing.Drawing2D.LineCap.Round;

                int startx = 23;

                args.Graphics.DrawLine(pen, startx, 20, startx + 10, 35);
                args.Graphics.DrawLine(pen, startx + 10, 35, startx + 30, 10);
            };

            fileVis.panel_Parent.Controls.Add(fileVis.panel_CheckMark);
            fileVis.panel_CheckMark.BringToFront();
            fileVis.panel_CheckMark.Visible = false;

            fileVis.panel_MouseEvents.BringToFront();

            CurrentShownFiles.Add(fileVis);
        }
Exemplo n.º 7
0
        private async void GetThumbnails()
        {
            if (FileDataList == null)
            {
                return;
            }

            for (int i = 0; i < CurrentShownFiles.Count; i++)
            {
                if (CurrentShownFiles[i] == null || CurrentShownFiles[i].CurrentState == FileStatus.Deleted)
                {
                    continue;
                }

                FileVisualDisplay fVis = CurrentShownFiles[i];

                if (fVis.FileStructOnline.Thumbnail.Length > 0)
                {
                    byte[] thumbnailBytes = await ApiCommunication.GetThumbnail(fVis.FileStructOnline.Thumbnail, UserSettings.UserAccessToken);

                    if (thumbnailBytes == null)
                    {
                        Image thumb = CreateThumbnailForFile(fVis.FileStructOnline.FileExtension);
                        fVis.panel_Thumbnail.BackgroundImage = thumb;
                        continue;
                    }

                    Image thumbnail = Image.FromStream(new MemoryStream(thumbnailBytes));

                    if (fVis != null)
                    {
                        fVis.panel_Thumbnail.BackgroundImage = ImageEditing.AddThumbnailShadow((Bitmap)thumbnail, shadow_base);
                    }
                }
                else
                {
                    Image thumb = CreateThumbnailForFile(fVis.FileStructOnline.FileExtension);
                    fVis.panel_Thumbnail.BackgroundImage = thumb;
                }
            }

            //foreach(FileVisualDisplay fVis in CurrentShownFiles)
            //{
            //    if(fVis.FileStructOnline.Thumbnail.Length > 0)
            //    {
            //        byte[] thumbnailBytes = await ApiCommunication.GetThumbnail(fVis.FileStructOnline.Thumbnail, UserSettings.UserAccessToken);

            //        if (thumbnailBytes == null)
            //        {
            //            Image thumb = CreateThumbnailForFile(fVis.FileStructOnline.FileExtension);
            //            fVis.panel_Thumbnail.BackgroundImage = thumb;
            //            continue;
            //        }

            //        Image thumbnail = Image.FromStream(new MemoryStream(thumbnailBytes));

            //        fVis.panel_Thumbnail.BackgroundImage = thumbnail;
            //    }
            //    else
            //    {
            //        Image thumb = CreateThumbnailForFile(fVis.FileStructOnline.FileExtension);
            //        fVis.panel_Thumbnail.BackgroundImage = thumb;
            //    }
            //}
        }