source: extensions/PiwigoLib/PiwigoUpload/Helper/MainAppHelper.cs @ 13520

Last change on this file since 13520 was 13520, checked in by bayral, 12 years ago

new project for windows live publish plugin
Well advance single uploader

File size: 3.1 KB
Line 
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Text;
5
6using System.IO;
7using Com.Piwigo.Uploader.DTO;
8
9namespace Com.Piwigo.Uploader.Helper
10{
11    internal static class MainAppHelper
12    {
13        internal static void showdErrorMessageBox(ApplicationException aEx)
14        {
15            System.Windows.Forms.MessageBox.Show(aEx.Message, "Error", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error);
16        }
17
18        internal static System.Windows.Forms.TreeNode buildAlbumToNode(LocalAlbum aAlbum)
19        {
20            System.Windows.Forms.TreeNode aNode = new System.Windows.Forms.TreeNode(aAlbum.Name,1,1);
21            aNode.ToolTipText = aAlbum.LocalDir;
22            aNode.Tag = aAlbum;
23
24            foreach (LocalImage Img in aAlbum.LocalImages)
25            {
26                System.Windows.Forms.TreeNode imgNode = new System.Windows.Forms.TreeNode(Img.Name, 2, 2);
27                imgNode.ToolTipText = Img.LocalFile;
28                imgNode.Tag = Img;
29                aNode.Nodes.Add(imgNode);
30            }
31
32            foreach (LocalAlbum Alb in aAlbum.SubAlbums)
33            {
34                aNode.Nodes.Add(buildAlbumToNode(Alb));
35            }
36
37            return aNode;
38        }
39
40        internal static void BuildAlbumTree(System.Windows.Forms.TreeView aTree, LocalAlbumList lstAlbum)
41        {
42            System.Windows.Forms.TreeNode root = aTree.Nodes[0];
43            if (root.Nodes.Count > 0)
44            {
45                root.Nodes.Clear();
46            }
47            //System.Windows.Forms.TreeNode root = new System.Windows.Forms.TreeNode("Albums", 0, 0);
48            //aTree.Nodes.Add(root);
49            //ModelManager.Instance.SelectedNode = root;
50            //aTree.SelectedNode = root;
51
52            foreach (LocalAlbum Alb in lstAlbum)
53                {
54                root.Nodes.Add(buildAlbumToNode(Alb));
55                }
56
57            aTree.ExpandAll();
58        }
59
60        #region thumb
61        internal static string MakeThumb(FileInfo fi, String ext, int size)
62        {
63            // create an image object, using the filename we just retrieved
64            System.Drawing.Image image = System.Drawing.Image.FromFile(fi.FullName);
65
66            // create the actual thumbnail image
67            System.Drawing.Image thumbnailImage = image.GetThumbnailImage(size, size, new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback), IntPtr.Zero);
68
69            // make a memory stream to work with the image bytes
70            FileStream imageStream = new FileStream(ext, FileMode.OpenOrCreate);
71
72            // put the image into the memory stream
73            thumbnailImage.Save(imageStream, System.Drawing.Imaging.ImageFormat.Jpeg);
74
75            imageStream.Close();
76            return ext;
77        }
78
79        /// <summary>
80        /// Required, but not used
81        /// </summary>
82        /// <returns>true</returns>
83        internal static bool ThumbnailCallback()
84        {
85            return true;
86        }
87
88        #endregion thumb
89    }
90}
Note: See TracBrowser for help on using the repository browser.