Пример #1
0
        /// <summary>
        /// //加载子文件
        /// </summary>
        /// <param name="xmlNode"></param>
        /// <param name="listView"></param>
        /// <param name="FlterType"></param>
        private void InitListViewSubFile(XmlNodeList xmlNode, ListViewEx listView, string FlterType)
        {
            foreach (XmlNode node in xmlNode)
            {
                if (node is FileSimpleExXmlElement)
                {
                    FileSimpleExXmlElement fileEle = (FileSimpleExXmlElement)node;

                    string exfile = Path.GetExtension(fileEle.AbsoluteFilePath).ToLower();
                    if (!FlterType.Contains(exfile))
                    {
                        continue;
                    }

                    MyListFileItem myFileItem = new MyListFileItem(fileEle);
                    if (fileEle.IsDeleted)
                    {
                        continue;
                    }
                    myFileItem.Element = fileEle;
                    myFileItem.Text    = fileEle.Title;
                    listView.Items.Add(myFileItem);
                }
            }
        }
Пример #2
0
        /// <summary>
        /// 将srcFile拷贝到System资源文件夹里,返回资源文件ID
        /// </summary>
        static string ImportResourceFile(string srcFile)
        {
            SdsiteXmlDocument      doc     = Service.Sdsite.CurrentDocument;
            FileSimpleExXmlElement fileEle = doc.CreateFileElement(doc.Resources.SystemFolder, srcFile);

            return(fileEle.Id);
        }
Пример #3
0
        public override string GetResourceAbsolutePath(string picId)
        {
            SdsiteXmlDocument      sdDoc   = Service.Sdsite.CurrentDocument;
            AnyXmlElement          anyEle  = sdDoc.GetElementById(picId);
            FileSimpleExXmlElement fileEle = anyEle as FileSimpleExXmlElement;

            return(fileEle.AbsoluteFilePath);
        }
Пример #4
0
        private void openDocumentBtn_Click(object sender, EventArgs e)
        {
            string resourceId = SiteResourceService.SelectResource(MediaFileType.Pic, this);

            if (!string.IsNullOrEmpty(resourceId))
            {
                SdsiteXmlDocument      doc     = Service.Sdsite.CurrentDocument;
                FileSimpleExXmlElement fileEle = doc.GetElementById(resourceId) as FileSimpleExXmlElement;
                picLinkPathTextBox.Text = fileEle.RelativeFilePath;
            }
        }
Пример #5
0
 public static string GetResourceUrl(string id)
 {
     try
     {
         FileSimpleExXmlElement fileEle = (FileSimpleExXmlElement)ToHtmlSdsiteService.SdsiteXmlDocument.GetElementById(id);
         return(fileEle.RelativeUrl);
     }
     catch
     {
         return(string.Empty);
     }
 }
Пример #6
0
        private void InitListViewSubFile(XmlNodeList xmlNode, ListViewEx listView, string FlterType)
        {
            //加载子文件
            foreach (XmlNode node in xmlNode)
            {
                if (node is FileSimpleExXmlElement)
                {
                    FileSimpleExXmlElement fileEle = (FileSimpleExXmlElement)node;

                    string exfile = Path.GetExtension(fileEle.AbsoluteFilePath).ToLower();
                    if (FlterType != _strAll && !FlterType.Contains(exfile))
                    {
                        continue;
                    }

                    MyListFileItem myFileItem = new MyListFileItem(fileEle);
                    if (fileEle.IsDeleted)
                    {
                        continue;
                    }
                    myFileItem.ItemMediaType = GetListItemType(exfile);
                    myFileItem.Element       = fileEle;
                    myFileItem.Text          = fileEle.Title;
                    listView.Items.Add(myFileItem);
                }
                else if (node is PageSimpleExXmlElement)
                {
                    PageSimpleExXmlElement fileEle = (PageSimpleExXmlElement)node;

                    if (FlterType != _strAll && fileEle.PageType.ToString() != FlterType)
                    {
                        continue;
                    }
                    MyListFileItem myFileItem = new MyListFileItem(fileEle);
                    if (fileEle.IsDeleted)
                    {
                        continue;
                    }
                    myFileItem.Element = fileEle;
                    myFileItem.Text    = fileEle.Title;
                    listView.Items.Add(myFileItem);
                }
            }
        }
Пример #7
0
        /// <summary>
        ///  保存/替换文件
        /// </summary>
        /// <param name="isReplace">true 替换文件 , false 只保存</param>
        /// <returns>保存/替换成功 返回TRUE 失败 FALSE</returns>
        private bool SaveOrReplaceFile(bool isReplace, string fileName)
        {
            SdsiteXmlDocument doc = Service.Sdsite.CurrentDocument;

            if (isReplace)
            {
                DialogResult result = MessageService.Show("${res:Tree.msg.coverFile}", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
                if (result == DialogResult.Cancel)
                {
                    return(false);
                }

                //旧文件删除
                foreach (MyListItem item in listViewFodel.Items)
                {
                    if (item is MyListFileItem)
                    {
                        MyListFileItem fileItem = item as MyListFileItem;
                        if (fileName.Equals(fileItem.Element.FileName, StringComparison.CurrentCultureIgnoreCase))
                        {
                            MyListItem deleItem = fileItem as MyListItem;
                            doc.DeleteItem(deleItem.Element);
                            listViewFodel.Items.Remove(deleItem);
                        }
                    }
                }
            }
            //保存新文件
            if (myResourceCurrentItem != null)
            {
                string strSrcFile = Path.Combine(myResourceCurrentItem.Element.AbsoluteFilePath, fileName);
                _image.Save(strSrcFile, _imgFormat);
                FileSimpleExXmlElement fileEle = doc.CreateFileElement(myResourceCurrentItem.Element as FolderXmlElement, strSrcFile);
                InitListView(myResourceCurrentItem, listViewFodel, _resourceCurrentType);

                this.DialogResult = DialogResult.OK;
            }



            return(true);
        }
Пример #8
0
        /// <summary>
        /// 导入资源文件
        /// </summary>
        public void ImportResource()
        {
            SdsiteXmlDocument  doc      = Service.Sdsite.CurrentDocument;
            FormOpenFileDialog OpenFile = new FormOpenFileDialog();

            OpenFile.OpenDialog.Multiselect = true;
            OpenFile.OpenDialog.Filter      = "PIC files (*.jpg,*.png,*.gif)|*.jpg;*.png;*.gif;|Flash files (.swf)|*.swf|Media files (*.rmvb,*.rm,*.avi,*.wmv)|*.rmvb;*.rm;*.avi;*.wmv|Audio files (*.mp3,*.mdi,*.wma,*.wav)|*.mp3;*.mid;*.wma;*.wav";

            BaseFolderElementNode pathNode = CurrentNode as BaseFolderElementNode;
            string parentFolderID          = ((ElementNode)CurrentNode).Element.Id;

            if (OpenFile.ShowDialog(this) == DialogResult.OK)
            {
                string[] fileNames = OpenFile.OpenDialog.FileNames;
                foreach (string srcFilePath in fileNames)
                {
                    FileSimpleExXmlElement fileEle = doc.CreateFileElement(parentFolderID, srcFilePath);
                }
            }
        }
Пример #9
0
        public void SetFormedioPathChange(MediaFileType mediaType)
        {
            string resourceId = SiteResourceService.SelectResource(mediaType, this);

            if (resourceId != null)
            {
                SdsiteXmlDocument      doc     = Service.Sdsite.CurrentDocument;
                FileSimpleExXmlElement fileEle = doc.GetElementById(resourceId) as FileSimpleExXmlElement;
                pathTextBox.Text = fileEle.AbsoluteFilePath;
                try
                {
                    flashInfo = new FlashInfo(fileEle.AbsoluteFilePath);
                }
                catch
                { }
                if (flashInfo != null)
                {
                    widthNumUpDown.Value  = flashInfo.Width;
                    heightNumUpDown.Value = flashInfo.Height;
                    ratio = widthNumUpDown.Value / heightNumUpDown.Value;
                    limitScaleCheckBox.Visible = true;
                    limitScaleCheckBox.Enabled = true;
                }
                else
                {
                    widthNumUpDown.Value       = 100;
                    heightNumUpDown.Value      = 100;
                    limitScaleCheckBox.Visible = false;
                }
                widthUintComboBox.SelectedIndex = heightUintComboBox.SelectedIndex = 0;

                //设置窗体的一些默认值
                this.widthCheckBox.Checked    = true;
                this.heightCheckBox.Checked   = true;
                this.loopCheckBox.Checked     = true;
                this.autoPlayCheckBox.Checked = true;

                this.MediaID = resourceId;
            }
        }
Пример #10
0
        private void picPathBtn_Click(object sender, EventArgs e)
        {
            string resourceId = SiteResourceService.SelectResource(MediaFileType.Pic, this);

            if (!string.IsNullOrEmpty(resourceId))
            {
                SdsiteXmlDocument      doc     = Service.Sdsite.CurrentDocument;
                FileSimpleExXmlElement fileEle = doc.GetElementById(resourceId) as FileSimpleExXmlElement;
                picPathTextBox.Text = fileEle.AbsoluteFilePath;
                Size sizeofpic = GetSizeOfPic(picPathTextBox.Text.Trim());
                PicWidthNumericUpDown.Value  = sizeofpic.Width;
                PicHeightNumericUpDown.Value = sizeofpic.Height;
                ratio = Convert.ToDecimal(sizeofpic.Width) / Convert.ToDecimal(sizeofpic.Height);
                widthUnitComBox.SelectedIndex = heightUnitComboBox.SelectedIndex = 0;

                this.widthCheckBox.Checked  = true;
                this.heightCheckBox.Checked = true;
                this.limitCheckBox.Enabled  = true;
                this.limitCheckBox.Checked  = true;

                this.MediaID = resourceId;
            }
        }
Пример #11
0
 public ResourceFileNode(FileSimpleExXmlElement element)
     : base(element)
 {
 }
Пример #12
0
        /// <summary>
        /// 获取相对路径
        /// </summary>
        public static string GetResourcePath(string id)
        {
            FileSimpleExXmlElement fileEle = (FileSimpleExXmlElement)ToHtmlSdsiteService.SdsiteXmlDocument.GetElementById(id);

            return(fileEle.RelativeFilePath);
        }
Пример #13
0
        private void imageToolStripMenuItem_Click(object sender, EventArgs e)
        {//导入资源
            SdsiteXmlDocument doc            = Service.Sdsite.CurrentDocument;
            MyListItem        importFolder   = null;
            string            openfileFilter = "";

            ToolStripMenuItem menuItem = (ToolStripMenuItem)(sender);

            switch (menuItem.Name)
            {
            case "imageToolStripMenuItem":
                openfileFilter = "PIC files (*.jpg,*.gif)|*.jpg;*.gif;";
                break;

            case "medioFileToolStripMenuItem":
                openfileFilter  = "Audio files (*.mp3,*.mdi,*.wma,*.wav)|*.mp3;*.mid;*.wma;*.wav;|";
                openfileFilter += "Media files (*.rmvb,*.rm,*.avi,*.wmv)|*.rmvb;*.rm;*.avi;*.wmv;|";
                openfileFilter += "Flash files (.swf)|*.swf;";
                break;

            case "documentFileToolStripMenuItem":
                openfileFilter = "doc files (*.txt,*.doc)|*.txt;*.doc;";
                break;

            case "compressFileNewToolStripMenuItem":
                openfileFilter = "Compress files (*.rar,*.zip)|*.rar;*.zip;";
                break;
            }

            FormOpenFileDialog OpenFile = new FormOpenFileDialog();

            OpenFile.OpenDialog.Multiselect = true;
            OpenFile.OpenDialog.Filter      = openfileFilter;
            if (OpenFile.ShowDialog(this) == DialogResult.OK)
            {
                string[] fileNames = OpenFile.OpenDialog.FileNames;
                foreach (string srcFilePath in fileNames)
                {
                    if (resourceFilesListView.SelectedItems.Count > 0 && resourceFilesListView.SelectedItems[0] is MyListFolderItem)
                    {
                        importFolder = (resourceFilesListView.SelectedItems[0] as MyListItem);
                        MyListItem item = ItemContains(resourceFilePaths, importFolder);
                        if (item != null)
                        {
                            importFolder = item;
                        }
                        parentResToolStripButton.Enabled = true;
                        myResourceCurrentItem            = importFolder;
                    }
                    else
                    {
                        importFolder = myResourceCurrentItem;
                    }
                    FileSimpleExXmlElement fileEle = doc.CreateFileElement(importFolder._element as FolderXmlElement, srcFilePath);
                }
                if (importFolder != null)
                {
                    InitListView(importFolder, resourceFilesListView, _resourceCurrentType);
                }
            }
        }
Пример #14
0
        /// <summary>
        /// 加载项目
        /// </summary>
        /// <param name="initPath"></param>
        void InitListView(SimpleExIndexXmlElement folderEle)
        {
            listView.Items.Clear();
            SdsiteXmlDocument doc = Service.Sdsite.CurrentDocument;

            //加载子文件夹
            foreach (XmlNode node in folderEle.ChildNodes)
            {
                if (node is FolderXmlElement)
                {
                    FolderXmlElement folder = (FolderXmlElement)node;
                    if (folder.IsDeleted)
                    {
                        continue;
                    }

                    MyFolderItem mylvi      = new MyFolderItem(folder);
                    string       folderPath = folder.AbsoluteFilePath.Substring(0, folder.AbsoluteFilePath.Length - 1);
                    mylvi.Text = Path.GetFileName(folderPath);
                    mylvi.Text = folder.Title;
                    listView.Items.Add(mylvi);
                }
            }
            //加载子文件
            foreach (XmlNode node in folderEle.ChildNodes)
            {
                if (node is FileSimpleExXmlElement)
                {
                    FileSimpleExXmlElement fileEle    = (FileSimpleExXmlElement)node;
                    MyFileItem             myFileItem = new MyFileItem(fileEle);
                    if (fileEle.IsDeleted)
                    {
                        continue;
                    }

                    myFileItem.Element = fileEle;
                    myFileItem.Text    = Path.GetFileName(fileEle.AbsoluteFilePath);
                    myFileItem.Text    = fileEle.Title;

                    string exfile = Path.GetExtension(fileEle.AbsoluteFilePath).ToLower();
                    switch (FileType)
                    {
                    case MediaFileType.Pic:
                    {
                        if (exfile == ".jpg" || exfile == ".jpeg" /*|| exfile == ".png"*/ || exfile == ".gif")
                        {
                            myFileItem.ItemMediaType = MediaFileType.Pic;
                            string valuestr = "";
                            if (!picFilter.TryGetValue(FilterComboBox.Text, out valuestr) || valuestr == "all")
                            {
                                listView.Items.Add(myFileItem);
                            }
                            else
                            {
                                if (exfile == valuestr)
                                {
                                    listView.Items.Add(myFileItem);
                                }
                            }
                        }
                        break;
                    }

                    case MediaFileType.Flash:
                    {
                        if (exfile == ".swf")
                        {
                            myFileItem.ItemMediaType = MediaFileType.Flash;
                            listView.Items.Add(myFileItem);
                        }
                        break;
                    }

                    case MediaFileType.Audio:
                    {
                        if (exfile == ".mp3" || exfile == ".mdi" || exfile == ".wma" || exfile == "*.wav")
                        {
                            myFileItem.ItemMediaType = MediaFileType.Audio;
                            string valuestr = "";
                            if (!audioFilter.TryGetValue(FilterComboBox.Text, out valuestr) || valuestr == "all")
                            {
                                listView.Items.Add(myFileItem);
                            }
                            else
                            {
                                if (exfile == valuestr)
                                {
                                    listView.Items.Add(myFileItem);
                                }
                            }
                        }
                        break;
                    }

                    case MediaFileType.Video:
                    {
                        if (exfile == ".rmvb" || exfile == ".rm" || exfile == ".avi" || exfile == ".wmv")
                        {
                            myFileItem.ItemMediaType = MediaFileType.Video;
                            string valuestr = "";
                            if (!mediaFilter.TryGetValue(FilterComboBox.Text, out valuestr) || valuestr == "all")
                            {
                                listView.Items.Add(myFileItem);
                            }
                            else
                            {
                                if (exfile == valuestr)
                                {
                                    listView.Items.Add(myFileItem);
                                }
                            }
                        }
                        break;
                    }
                    }
                }
            }

            //加载图标
            foreach (MyItem lvitem in listView.Items)
            {
                string fullPath = lvitem.Element.AbsoluteFilePath;
                KeyValuePair <string, Image> keyImg = GetImageAndKey(fullPath);
                if (!listView.SmallImageList.Images.ContainsKey(keyImg.Key))
                {
                    listView.SmallImageList.Images.Add(keyImg.Key, keyImg.Value);
                }
                lvitem.ImageKey = keyImg.Key;
            }
        }
Пример #15
0
        /// <summary>
        /// 导入资源文件方法
        /// </summary>
        void ImportResources()
        {
            try
            {
                string newFilePath = string.Empty;
                SimpleExIndexXmlElement importFolder = null;
                SdsiteXmlDocument       doc          = Service.Sdsite.CurrentDocument;
                FormOpenFileDialog      OpenFile     = new FormOpenFileDialog();
                #region 筛选处理
                OpenFile.OpenDialog.Multiselect = true;
                string openfileFilter = "";
                switch (fileType)
                {
                case MediaFileType.Pic: openfileFilter = "PIC files (*.jpg,*.gif)|*.jpg;*.gif;"; break;

                case MediaFileType.Flash: openfileFilter = "Flash files (.swf)|*.swf"; break;

                case MediaFileType.Video: openfileFilter = "Media files (*.rmvb,*.rm,*.avi,*.wmv)|*.rmvb;*.rm;*.avi;*.wmv"; break;

                case MediaFileType.Audio: openfileFilter = "Audio files (*.mp3,*.mdi,*.wma,*.wav)|*.mp3;*.mid;*.wma;*.wav"; break;
                }
                OpenFile.OpenDialog.Filter = openfileFilter;
                #endregion
                if (OpenFile.ShowDialog(this) == DialogResult.OK)
                {
                    string[] fileNames = OpenFile.OpenDialog.FileNames;
                    foreach (string srcFilePath in fileNames)
                    {
                        if (listView.SelectedItems.Count > 0 && listView.SelectedItems[0] is MyFolderItem)
                        {
                            importFolder = (listView.SelectedItems[0] as MyItem)._element;// filePaths[pathNum].AbsoluteFilePath;
                            filePaths.Add(importFolder);
                            pathNum++;
                            backToolStripButton.Enabled = upToolStripButton.Enabled = true;
                        }
                        else
                        {
                            importFolder = filePaths[pathNum];
                            if (importFolder is FileSimpleExXmlElement)
                            {
                                importFolder = filePaths[pathNum - 1];
                            }
                        }

                        FileSimpleExXmlElement fileEle = doc.CreateFileElement(importFolder as FolderXmlElement, srcFilePath);
                        //#region 复制文件
                        /////将文件名翻译成拼音,生成一个不重名的文件名
                        //string fileName = Path.GetFileName(srcFilePath);
                        //string pinyinFileName = Utility.File.FormatFileName(fileName);
                        //string formatFileName = Utility.File.BuildFileName(importFolder.AbsoluteFilePath, pinyinFileName, false, true);

                        //bool isNoIn = false;//标识是否已经加载的资源文件
                        //if (listView.SelectedItems.Count > 0 && listView.SelectedItems[0] is MyFolderItem)
                        //{
                        //    importFolder = (listView.SelectedItems[0] as MyItem)._element;// filePaths[pathNum].AbsoluteFilePath;
                        //    filePaths.Add(importFolder);
                        //    pathNum++;
                        //    backToolStripButton.Enabled = upToolStripButton.Enabled = true;
                        //}
                        //else
                        //{
                        //    importFolder = filePaths[pathNum];
                        //    if (importFolder is FileSimpleExXmlElement)
                        //        importFolder = filePaths[pathNum - 1];
                        //}

                        //newFilePath = Path.Combine(importFolder.AbsoluteFilePath, formatFileName);

                        //if (File.Exists(newFilePath))
                        //{
                        //    if (MessageBox.Show("您确定要覆盖吗?", "确定", MessageBoxButtons.YesNo) == DialogResult.Yes)
                        //    {
                        //        isNoIn = false;
                        //        File.Copy(srcFilePath, newFilePath, true);
                        //    }
                        //}
                        //else
                        //{
                        //    isNoIn = true;
                        //    File.Copy(srcFilePath, newFilePath);
                        //}

                        //#endregion
                        //#region 加入索引
                        //if (isNoIn)
                        //{
                        //    FileSimpleExXmlElement fileEle = doc.CreateFileElementNoCreateFile(importFolder as FolderXmlElement, formatFileName,fileName);
                        //}
                        //#endregion
                    }
                    if (importFolder != null)
                    {
                        InitListView(importFolder);
                    }
                }
            }
            catch { }
        }
Пример #16
0
        static string GetResourceUrl(string id)
        {
            FileSimpleExXmlElement fileEle = (FileSimpleExXmlElement)Service.Sdsite.CurrentDocument.GetElementById(id);

            return(fileEle.RelativeUrl);
        }
Пример #17
0
        /// <summary>
        /// 获取绝对路径
        /// </summary>
        static string GetResourceAbsPath(string id)
        {
            FileSimpleExXmlElement fileEle = (FileSimpleExXmlElement)Service.Sdsite.CurrentDocument.GetElementById(id);

            return(fileEle.AbsoluteFilePath);
        }